haproxy: como interceptar links que apontam diretamente para os servidores backend

haproxy: como interceptar links que apontam diretamente para os servidores backend

Eu configurei o haproxy e funciona bem, posso acessar páginas da web que ficam em servidores no backend.

A configuração é a seguinte:

Há um único servidor haproxy frontend que aponta para backend diferente dependendo da porta

  • frontend:81 pontos para backend:8100
  • frontend:82 pontos para backend:8200

Na página de front-end, http://frontend:82/há links como http://frontend:82/fooeste, sempre que clico em um desses links, o haproxy se certifica de se conectar ao servidor de back-end adequado. Um desses links aponta para http://backend:8200/bar(servidor back-end e porta diferente).

Se eu clicar nesse link, sou redirecionado para o servidor no back-end, e não para o haproxy do front-end. Existe alguma maneira de interceptar essas chamadas para os servidores backend?

Responder1

Quando o usuário clica no link http://backend:8200/bar, a menos que o DNS do 'backend' esteja apontando para o seu haproxy, você não capturará a solicitação.

As portas provavelmente não são a melhor maneira de fazer isso.

Seria melhor ter um frontend no 80 e usar acls baseados em URL

POR EXEMPLO:

frontend http_frontend 
   bind *:80
   acl path_foo path_beg /foo
   acl path_barbar path_beg /bar 
   use_backend foo_backend if path_foo
   use_backend bar_backend if path_bar

backend foo_backend
   server backend:8200

backend bar_backend
   server backend:8100

Dessa forma, você pode retirar todas as atribuições de portas dos links.

informação relacionada