Перенаправление поддоменов HAproxy

9

У меня есть один домен, такой как 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?

ДШВО
источник
4
Я не знаю, почему за вас проголосовали 3 раза и без каких-либо комментариев. Это не очень хороший стек-обменный этикет! Извините за этот плохой прием.
Стефано

Ответы:

10

В 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
Стефано
источник
1
Спасибо за пример! Я думаю, что второе backend tomcat_server_1должно бытьbackend tomcat_server_2
redgeoff
-3

Haproxy не предназначен ни для перенаправления имен, ни для перенаправления URI.

Имена направляются серверами имен (DNS).

URI перенаправляются (модулями) веб-сервера (HTTP).

Haproxy - это баланс трафика (TCP / IP) между двумя (или более) одинаковыми серверами.

mailq
источник
8
haproxy может очень хорошо перенаправить как префиксы (поддомен / домен / и т.д.), так и URL-адреса. Ищите redirect locationи redirect prefixв haproxy.1wt.eu/download/1.4/doc/configuration.txt
Стефано
8
Вы не правы, Haproxy является одновременно балансировщиком нагрузки и обратным прокси-сервером.
Джморейра