haproxy ACL - como rotear o tráfego com base na porta ou no endereço de destino

1

Um aplicativo no cliente ( 192.168.1.106 ) está tentando acessar um serviço 192.168.1.10:8080 . Uma entrada de log dessa solicitação está abaixo. Gostaria de configurar o haproxy para enviar essa solicitação diretamente para 192.168.1.10:8080 em vez de usar backend privoxy-back .

Estou quase certo de que preciso adicionar uma ACL à minha configuração haproxy, mas estou achando a documentação muito extensa para esse problema específico. Algumas das postagens do StackExchange abaixo estão próximas, mas não são exatamente o que estou procurando.

Por favor, você pode me ajudar a entender o que deve ser feito aqui?

Feb  9 07:21:24 localhost.localdomain haproxy[21851]: 192.168.1.106:49326 
[09/Feb/2018:07:21:24.199] privoxy-front privoxy-back/proxy02 89/0/0/-1/91 -1 
132 - - SD-- 129/129/129/128/0 0/0 "GET http://192.168.1.10:8080/ HTTP/1.1"
frontend privoxy-front
 bind :8118
 mode http
 default_backend privoxy-back

backend privoxy-back
 mode http
 option forwardfor
 server proxy01 192.168.20.62:8118 check backup
 server proxy02 192.168.25.72:8118 check

Estas são as postagens que eu já verifiquei e não funcionaram.

por me2017 10.02.2018 / 04:28

1 resposta

1

Se você quiser que o HAProxy cuide do seu pedido, você precisa ter um frontend e backend. Tanto quanto eu sei que você precisa ter um back-end e não pode deixar isso de fora. Por que você não quer usar um backend? Eu não vejo como isso seria um problema para você. De qualquer forma você poderia lidar com isso assim:

  1. Configure um frontend que execute uma porta desejada
  2. Configure um back-end que tenha o servidor real configurado para o qual você deseja fazer proxy
  3. Vincule o frontend criado ao backend

Portanto, sua configuração está quase correta. Dados os seguintes pressupostos

  1. O ip dos clientes é 192.168.1.106
  2. O ip do servidor de aplicativos ao qual o cliente está se conectando é 192.168.1.10 na porta 8080
  3. Servidor de aplicativos real (qualquer que seja o aplicativo para o qual você deseja fazer proxy) ips e portas são 192.168.20.62:8118 e 192.168.25.72:8118

Sua configuração deve ser como abaixo e seu HAProxy deve ser executado em 192.168.1.10:

frontend privoxy-front
 bind :8080
 mode http
 default_backend privoxy-back

backend privoxy-back
 mode http
 option forwardfor
 server applicationServer1 192.168.20.62:8118 check
 server applicationServer2 192.168.25.72:8118 check

Eu removi backup porque isso significaria que o tráfego é roteado apenas para esse servidor se todos os outros servidores estiverem inativos.

    
por 10.02.2018 / 19:40

Tags