思科负载均衡器(ACE 4710)可以重定向到不同的域吗?

思科负载均衡器(ACE 4710)可以重定向到不同的域吗?

我们的用户目前通过输入“ourwebsite”来访问我们的内部网站。有一个 DNS 条目将 ourwebsite 映射到 Cisco ACE 4700 的 IP 地址。DNS 名称 ourwebsite.ourcompany.org 也映射到 Cisco ACE 4700 的 IP 地址。

我们希望我们的用户开始使用 ourwebsite.ourcompany.org,并停止使用“ourwebsite”。在一段时间内,我们希望“ourwebsite”仍能将他们带到我们的网站。

我们想知道是否可以配置 Cisco ACE 4700,以便当用户输入http://我们的网站它会立即重定向到http://ourwebsite.ourcompany.org

这可能吗?例如通过 URL 重写规则?

答案1

我知道这是一个老问题(与我回答时有关),但我可以说这是 Cisco ACE 可以使用一些简单的配置指令来做的事情。

假设您使用类似这样的简单配置来设置您的网站:

rserver host HOST1
 ip address 1.2.3.4
 inservice
rserver host HOST2
 ip address 5.6.7.8
 inservice

serverfarm host OURWEBSITE
 probe <your-probe>
 rserver HOST1 80
  inservice
 rserver HOST2 80
  inservice

class-map match-all VIP-OURWEBSITE
 match virtual-address 1.1.1.1 tcp eq www

policy-map type loadbalance first-match LB-OURWEBSITE
 class class-default
  serverfarm OURWEBSITE

policy-map multi-match VIP-SERVICE-POLICY
 class VIP-OURWEBSITE
  loadbalance vip inservice
  loadbalance policy LB-OURWEBSITE
  loadbalance vip icmp-reply active

这是您可以在 ACE 上配置的更基本的负载平衡设置类型之一。它所做的只是将请求反向代理回真实服务器。命名约定仅用于示例目的;您可以选择任何您想要的名称。

您要做的是匹配来自客户端的主机标头 - 如果是“ourwebsite”,则应将请求发送到重定向服务器场,强制将 HTTP 30x“ourwebsite.ourcompany.org”重定向到客户端。

rserver redirect REDIRECT-OURWEBSITE
 webhost-redirection http://ourwebsite.ourcompany.org%p 301
 inservice

serverfarm redirect REDIRECT-OURWEBSITE
 rserver REDIRECT-OURWEBSITE
 inservice

以上设置了重定向对象。在“webhost-redirection”指令中,您会注意到 %p 和 301。%p 是一个变量,它从客户端请求中获取路径并将其添加到重定向中 - 这样,如果有人有,比如说,http://我们的网站/somepage.html已添加书签,重定向将自动将其发送到http://ourwebsite.ourcompany.org/somepage.html而不是将它们发送到静态配置的页面。这完全是可选的,因此如果您希望将它们发送到已配置的页面而不是自动重定向,只需保留该 %p 变量并将其替换为要重定向到的 URL。301 使重定向发送 HTTP 代码 301 - 告诉请求客户端该页面已“永久移动”到这个新地址。

现在我们将设置与主机头请求匹配的对象http://我们的网站

class-map match-all MATCH-OURWEBSITE
 match http header Host header-value "ourwebsite"

policy-map type loadbalance first-match LB-OURWEBSITE
 class MATCH-OURWEBSITE
  serverfarm REDIRECT-OURWEBSITE

新的类映射将设置一个匹配类,在 HTTP Host 标头中查找“ourwebsite”。匹配规则使用简单的正则表达式,因此上述内容不会匹配“ourwebsite.ourcompany.org”。

上面的第二条指令来自先前定义的策略图LB-我们的网站,将新的匹配类插入到负载平衡策略中。如果策略映射中唯一的类是类默认,这个新类将插入到该类的上方。如果您已经拥有一个或多个该类的上方类默认,您可以使用以下方式在其中任何一个上方插入此规则类 MATCH-OURWEBSITE 插入之前它会将其插入到您指定的类别之上。

一旦完成所有操作,通常最好通过执行以下操作来循环 VIP:无负载平衡 VIP 服务随后是负载平衡 VIP 服务在服务政策中:

policy-map multi-match VIP-SERVICE-POLICY
 class VIP-OURWEBSITE
  no loadbalance vip inservice
  loadbalance vip inservice

在负载平衡策略图中添加匹配项并不是必需的,但一些其他指令需要 VIP 服务策略的循环,因此这是一个很好的习惯。

完成所有设置后的完整配置如下:

rserver host HOST1
 ip address 1.2.3.4
 inservice
rserver host HOST2
 ip address 5.6.7.8
 inservice
rserver redirect REDIRECT-OURWEBSITE
 webhost-redirection http://ourwebsite.ourcompany.org%p 301
 inservice

serverfarm host OURWEBSITE
 probe <your-probe>
 rserver HOST1 80
  inservice
 rserver HOST2 80
  inservice
serverfarm redirect REDIRECT-OURWEBSITE
 rserver REDIRECT-OURWEBSITE
 inservice

class-map match-all MATCH-OURWEBSITE
 match http header Host header-value "ourwebsite"
class-map match-all VIP-OURWEBSITE
 match virtual-address 1.1.1.1 tcp eq www

policy-map type loadbalance first-match LB-OURWEBSITE
 class MATCH-OURWEBSITE
  serverfarm REDIRECT-OURWEBSITE
 class class-default
  serverfarm OURWEBSITE

policy-map multi-match VIP-SERVICE-POLICY
 class VIP-OURWEBSITE
  loadbalance vip inservice
  loadbalance policy LB-OURWEBSITE
  loadbalance vip icmp-reply active

从那里,根据您的退役过程,您可以在一段时间后禁用 DNS 条目,甚至可以修改网站主机重定向指令指向一个页面,告诉用户停止使用主机名连接到网站。这完全取决于您的停用政策。

希望这可以帮助!

相关内容