Forçar o HAProxy a procurar DNS no servidor de back-end

11

Eu tenho o haproxy 1.5.8, ele faz proxy de algumas solicitações (baseadas no caminho) para um terceiro sobre o qual não temos controle.

Como o IP do servidor de back-end é resolvido uma vez na inicialização, ele é interrompido se o IP mudar.

Se há uma solução alternativa para isso? No nginx, é possível declarar uma variável interna e armazená-la em cache por X segundos. Não encontrei uma solução semelhante para o HAProxy.

    
por Bastien974 07.04.2015 / 17:36

2 respostas

18

Com o lançamento recente do HAProxy 1.6, existe uma solução para o seu problema. Agora você pode definir resolvedores e associá-los ao seu back-end. A resolução IP será então feita em tempo de execução.

resolvers dns
  nameserver public-0  xx.xx.xx.xx:53
  hold valid 1s

frontend http
  bind *:8000
  default_backend site-backend

backend site-backend
  balance leastconn
  server site sub.example.com:80 resolvers dns check inter 1000

StackOverflow discutindo isso

Link para a documentação correspondente

    
por 06.11.2015 / 09:26
1

Infelizmente, parece que este ainda é um trabalho em andamento.

Já pensou em usar um proxy nginx separado? Para encaminhar solicitações para esse back-end para uma instância nginx, que então faz a resolução de DNS e encaminha a solicitação? Não é idiota, mas pode funcionar em um ambiente de tráfego mais baixo.

    
por 07.04.2015 / 17:47