Zmusza HAProxy do wyszukiwania DNS dla serwera zaplecza

14

Mam haproxy 1.5.8, przekazuje niektóre żądania (na podstawie ścieżki) do strony trzeciej, nad którą nie mamy kontroli.

Ponieważ adres IP serwera zaplecza jest rozwiązywany raz podczas uruchamiania, ulega awarii, jeśli zmieni się adres IP.

Czy istnieje obejście tego problemu? W nginx można zadeklarować zmienną wewnętrzną i buforować ją przez X sekund. Nie znalazłem podobnego rozwiązania dla HAProxy.

Bastien974
źródło

Odpowiedzi:

25

W najnowszej wersji HAProxy 1.6 istnieje rozwiązanie twojego problemu. Możesz teraz zdefiniować resolwery i powiązać je z backendem. Rozdzielczość IP zostanie wówczas wykonana w czasie wykonywania.

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 omawia to

Link do odpowiedniej dokumentacji

mana
źródło
hmmm, kiedy to zrobię i zacznę odświeżać stronę, w ciągu minuty
otrzymam
musiałem mieć wiele zduplikowanych wierszy „serwerowych” dyskurs.
haproxy.org/t/…
1

Niestety wygląda na to, że wciąż jest w toku.

Czy rozważałeś użycie oddzielnego proxy Nginx? Abyś mógł przekazać żądania tego zaplecza do instancji nginx, która następnie rozpoznaje DNS i przekazuje żądanie? Nie ideak, ale może działać w środowisku o niskim natężeniu ruchu.

David Hulick
źródło
Zawsze istnieje takie rozwiązanie, ale mamy nadzieję znaleźć rozwiązanie, które uprościłoby sprawę.
Bastien974,