Answers:
在haproxy中,您将acl
规则和规则结合在一起进行重定向redirect
。您可以使用backend
规则选择合适的服务器。
官方的haproxy文档不是很容易阅读,但是非常完整。
像这样的东西(只是一个草图可以给你一个想法):
frontend http-in
mode http
bind FRONTENDIP:80 # eg. 100.100.100.100:80
default_backend tomcat_server_2
acl tomcat_1 hdr_end(host) -i www.xyz.com
acl tomcat_2 hdr_end(host) -i abc.xyz.com
acl tomcat_path path_beg /abc/
use_backend tomcat_server_1 if tomcat_1 !tomcat_path
backend tomcat_server_1
server tomcat1 10.0.0.1:8080 maxconn 1000
backend tomcat_server_2
server tomcat2 10.0.0.2:8080 maxconn 1000
如果要重定向 www.xyz.com/abc/
到abc.xyz.com
:
redirect prefix http://abc.xyz.com if tomcat_path
backend tomcat_server_1
应该是backend tomcat_server_2
Haproxy既不用于重定向名称也不用于重定向URI。
名称由名称服务器(DNS)指挥。
URI由Web服务器(HTTP)(的模块)重定向。
Haproxy旨在平衡两个(或更多)相同服务器之间的流量(TCP / IP)。
redirect location
和redirect prefix
在haproxy.1wt.eu/download/1.4/doc/configuration.txt