У 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