思科负载平衡器(ACE 4710)可以redirect到一个不同的域?

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

我们希望让我们的用户开始使用ourwebsite.ourcompany.org,并放弃使用“ourwebsite”的能力。 一段时间,我们希望“ourwebsite”仍然把他们带到我们的网站。

我们想知道是否可以configurationCisco ACE 4700,如果用户inputhttp:// ourwebsite ,它立即redirect到http://ourwebsite.ourcompany.org 。

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

我知道这是一个老问题(涉及到我正在回答的时间),但我可以说这是思科ACE可以使用一些简单的configuration指令来完成的事情。

假设您的网站使用类似于以下的简单configuration进行设置:

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上configuration的更基本types的负载平衡设置之一。 它所做的只是反向代理请求回到真实的服务器。 命名约定仅仅是例如puroposes; 你可以select任何你想要的名字。

你想要做的是匹配来自客户端的主机头 – 如果它是“ourwebsite”,那么请求应发送到redirectserverfarm,强制HTTP 30x“ourwebsite.ourcompany.org”redirect到客户端。

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

以上设置了redirect对象。 在“虚拟主机redirect”指令中,您会注意到%p和一个301.%p是一个variables,它接受来自客户端请求的path并将其添加到redirect – 如果某人拥有http ://ourwebsite/somepage.html书签,redirect将自动发送到http://ourwebsite.ourcompany.org/somepage.html,而不是将它们发送到静态configuration的页面&#x3002; 这纯粹是可选的,所以如果你想把它们发送到一个configuration好的页面而不是自动redirect的话,只需保留这个%pvariables,并用你想要redirect到的URLreplace它。 301使redirect发送一个HTTP代码301 – 告诉请求的客户端页面已经“永久移动”到这个新的地址。

现在我们将移动到设置与http:// ourwebsite的主机头请求匹配的对象。

 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主机头中查找“ourwebsite”。 匹配规则使用简单的正则expression式,因此以上不符合“ourwebsite.ourcompany.org”。

上面的第二条指令从前面定义的策略映射LB-OURWEBSITE中 ,将新的匹配类插入到负载均衡策略中。 如果在策略映射中唯一的类是class-default ,则将在此之上插入此新类。 如果您已经有一个或多个class default的类 ,那么可以使用类MATCH-OURWEBSITE insert-before将此规则插入到其中的任何一个之上,并将其插入到指定的类上方。

完成之后,通过在服务策略中执行无负载平衡VIP服务,然后进行负载平衡VIP服务,通常是一种很好的做法:

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

将匹配添加到负载均衡策略映射中并不一定需要,但其他一些指令需要一个VIP服务策略周期,因此这是一个很好的习惯。

设置完成后的完整configuration将如下所示:

 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条目,甚至修改webhost-redirection指令以指向一个页面,告诉用户停止使用主机名连接到网站。 这完全取决于您的退役政策。

希望这可以帮助!