Paksa HAProxy untuk mencari DNS untuk server backend


13

Saya memiliki haproxy 1.5.8, proksi beberapa permintaan (berdasarkan path) ke pihak ketiga yang tidak dapat kami kendalikan.

Karena IP server backend diselesaikan sekali saat startup, IP akan rusak jika IP berubah.

Jika ada solusi untuk itu? Dalam nginx dimungkinkan untuk mendeklarasikan variabel internal dan menyimpannya dalam cache selama X detik. Saya tidak menemukan solusi serupa untuk HAProxy.

Jawaban:


24

Dengan rilis terbaru HAProxy 1.6 ada solusi untuk masalah Anda. Anda sekarang dapat mendefinisikan resolver dan mengaitkan ini ke backend Anda. Resolusi IP kemudian akan dilakukan saat runtime.

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 mendiskusikan ini

Tautan ke dokumentasi yang sesuai


hmmm ketika saya melakukan ini dan mulai menyegarkan halaman, saya akhirnya mendapatkan 503 dalam satu menit atau lebih
Paulius Dragunas

saya harus memiliki beberapa duplikat "server" baris discourse.haproxy.org/t/…
jamshid

1

Sayangnya, sepertinya ini masih dalam proses.

Sudahkah Anda mempertimbangkan untuk menggunakan proxy nginx terpisah? Sehingga Anda meneruskan permintaan untuk backend ke instance nginx, yang kemudian melakukan resolusi DNS dan meneruskan permintaan? Bukan ideak, tetapi dapat bekerja di lingkungan lalu lintas yang lebih rendah.


Selalu ada solusi itu, tetapi berharap menemukan solusi yang akan membuatnya tetap sederhana.
Bastien974
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.