J'ai haproxy 1.5.8, il procède à des requêtes (basées sur le chemin) à 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.
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
Malheureusement, il semble que ce soit toujours 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.