บังคับให้ HAProxy ค้นหา DNS สำหรับเซิร์ฟเวอร์ส่วนหลัง


14

ฉันมี haproxy 1.5.8 มันส่งคำขอบางอย่าง (ตามเส้นทาง) ไปยังบุคคลที่สามที่เราไม่สามารถควบคุมได้

เนื่องจาก IP ของเซิร์ฟเวอร์เบื้องหลังได้รับการแก้ไขหนึ่งครั้งเมื่อเริ่มต้นจึงหยุดพักหากมีการเปลี่ยนแปลง IP

หากมีวิธีแก้ปัญหาสำหรับสิ่งนั้น ใน nginx เป็นไปได้ที่จะประกาศตัวแปรภายในและทำให้แคชเป็นเวลา X วินาที ฉันไม่พบโซลูชันที่คล้ายกันสำหรับ HAProxy

คำตอบ:


25

ด้วยรุ่นล่าสุดของ 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

StackOverflow อภิปรายเรื่องนี้

เชื่อมโยงไปยังเอกสารที่เกี่ยวข้อง


อืมเมื่อฉันทำสิ่งนี้และเริ่มรีเฟรชหน้าฉันจะได้รับ 503 ภายในหนึ่งนาทีหรือมากกว่านั้น
Paulius Dragunas

ฉันต้องมี "server" lines ซ้ำหลายเส้นdiscourse.haproxy.org/t/…
jamshid

1

น่าเสียดายที่ดูเหมือนว่านี่ยังอยู่ระหว่างการดำเนินการ

คุณได้พิจารณาใช้พร็อกซี nginx แยกกันหรือไม่? เพื่อที่คุณจะส่งต่อคำขอสำหรับแบ็กเอนด์นั้นไปยังอินสแตนซ์ nginx แล้วการแก้ไข DNS และส่งต่อคำขอนั้นคืออะไร ไม่ใช่ไอเดีย แต่อาจทำงานในสภาพแวดล้อมการจราจรที่ลดลง


มีวิธีแก้ปัญหาเสมอ แต่หวังว่าจะหาวิธีแก้ปัญหาที่จะทำให้มันง่าย
Bastien974
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.