У меня есть haproxy 1.5.8, он передает некоторые запросы (в зависимости от пути) третьей стороне, которую мы не контролируем.
Поскольку IP-адрес внутреннего сервера разрешается один раз при запуске, он ломается при изменении IP-адреса.
Есть ли обходной путь для этого? В nginx можно объявить внутреннюю переменную и кэшировать ее на X секунд. Для HAProxy подобного решения не нашел.
В недавнем выпуске HAProxy 1.6 есть решение вашей проблемы. Теперь вы можете определить преобразователи и связать их со своим сервером. Затем разрешение IP будет выполнено во время выполнения.
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
К сожалению, похоже, что это все еще работа в процессе.
Рассматривали ли вы использование отдельного прокси-сервера nginx? Чтобы вы перенаправляли запросы для этого бэкэнда в экземпляр nginx, который затем выполняет разрешение DNS и перенаправляет запрос? Не идеальный вариант, но может работать в условиях низкой посещаемости.