У меня есть один домен, например xyz.com, и я пытаюсь перенаправить субдомен на другой IP-адрес с помощью haproxy.
Я использую tomcat на серверах и использую haproxy для перенаправления входящих запросов с порта 80 на порт 8080.
Like;
www.xyz.com -> 10.0.0.1
www.xyz.com/abc -> 10.0.0.2
or abc.xyz.com -> 10.0.0.2
Чтобы сделать это перенаправление, как мне установить haproxy?
В 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
Haproxy не предназначен ни для перенаправления имен, ни для перенаправления URI.
Имена направляются серверами имен (DNS).
URI перенаправляются (модулями) веб-сервера (HTTP).
Haproxy предназначен для балансировки трафика (TCP / IP) между двумя (или более) идентичными серверами.