Trong haproxy bạn thực hiện chuyển hướng kết hợp acl
các quy tắc và quy tắc redirect
; bạn chọn đúng máy chủ bằng cách sử dụng backend
quy tắc.
Tài liệu haproxy chính thức không dễ đọc lắm, nhưng nó rất đầy đủ.
Một cái gì đó như thế này (chỉ là một bản phác thảo để cung cấp cho bạn một ý tưởng):
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
Nếu bạn muốn chuyển hướng www.xyz.com/abc/
đến abc.xyz.com
:
redirect prefix http://abc.xyz.com if tomcat_path