Forcer HAProxy à rechercher DNS pour le serveur principal


14

J'ai haproxy 1.5.8, il procède à des requêtes (basées sur le chemin d'accès) à un tiers sur lequel nous n'avons aucun contrôle.

Étant donné que l'IP du serveur principal est résolu une fois au démarrage, il se casse si l'IP change.

S'il y a une solution pour cela? Dans nginx, il est possible de déclarer une variable interne et de la mettre en cache pendant X secondes. Je n'ai pas trouvé de solution similaire pour HAProxy.

Réponses:


25

Avec la version récente de HAProxy 1.6, il existe une solution à votre problème. Vous pouvez maintenant définir des résolveurs et les associer à votre backend. La résolution IP sera alors effectuée lors de l'exécution.

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 en discute

Lien vers la documentation correspondante


hmmm quand je fais cela et commence à rafraîchir la page, je
finis

je devais avoir plusieurs lignes "serveur" en double discourse.haproxy.org/t/…
jamshid

1

Malheureusement, il semble que ce soit encore un travail en cours.

Avez-vous envisagé d'utiliser un proxy nginx distinct? Pour que vous transmettiez les demandes de ce backend à une instance nginx, qui effectue ensuite la résolution DNS et transfère la demande? Pas ideak, mais peut fonctionner dans un environnement à faible trafic.


Il y a toujours cette solution, mais en espérant trouver une solution qui resterait simple.
Bastien974
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.