Redirecionamento de subdomínio HAproxy

9

Eu possuo um domínio como xyz.com e estou tentando redirecionar subdomínio outro ip com haproxy.

Eu uso o tomcat nos servidores e haproxy para redirecionar solicitações de entrada na porta 80 para a porta 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

Para fazer esse redirecionamento, como faço para definir o haproxy?

psce
fonte
4
Não sei por que você foi votado três vezes e sem nenhum comentário. Esta não é uma etiqueta muito boa para troca de pilhas! Desculpe por esta má recepção.
Stefano

Respostas:

10

No haproxy você faz o redirecionamento combinando aclregras e redirectoutras; você escolhe o servidor certo usando a backendregra.

A documentação oficial sobre haproxy não é muito fácil de ler, mas é muito completa.

Algo assim (apenas um esboço para você ter uma idéia):

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

Se você deseja redirecionar www.xyz.com/abc/ para abc.xyz.com:

    redirect prefix   http://abc.xyz.com if tomcat_path
Stefano
fonte
1
Obrigado pelo exemplo! Eu acho que o segundo backend tomcat_server_1deveria serbackend tomcat_server_2
redgeoff
-3

Haproxy não se destina a redirecionar nomes nem a redirecionar URIs.

Os nomes são direcionados pelos servidores de nomes (DNS).

Os URIs são redirecionados por (módulos de) um servidor da web (HTTP).

Haproxy é equilibrar o tráfego (TCP / IP) entre dois (ou mais) servidores idênticos.

mailq
fonte
8
O haproxy pode muito bem redirecionar os prefixos (subdomínio / domínio / etc.) e os URLs. Pesquise redirect locatione redirect prefixem haproxy.1wt.eu/download/1.4/doc/configuration.txt
Stefano
8
Você está errado, o Haproxy é um balanceador de carga e um servidor proxy reverso.
jmoreira