ฉันต้องการโหลดยอดคงเหลือระหว่างเซิร์ฟเวอร์ที่ใช้งานหลายเครื่องที่มีชื่อโฮสต์ต่างกัน ฉันไม่สามารถตั้งค่าโฮสต์เสมือนเดียวกันในแต่ละรายการได้
เป็นไปได้หรือไม่ที่จะมีเพียงหนึ่งการกำหนดค่าการฟังที่มีหลายเซิร์ฟเวอร์และทำให้ Health Checks เป็นไปตามhttp-send-name-header Host
คำสั่ง? ฉันใช้ HAProxy 1.5
ฉันมากับ haproxy.cfg http-send-name-header Host
ทำงานนี้อย่างที่คุณเห็นผมต้องตั้งชื่อโฮสต์ที่แตกต่างกันสำหรับแต่ละการตรวจสุขภาพการตรวจสอบสุขภาพละเว้น ฉันต้องการที่จะใช้ตัวแปรหรือวิธีการอื่น ๆ และทำให้สิ่งต่าง ๆ รัดกุมยิ่งขึ้น
global
log 127.0.0.1 local0 notice
maxconn 2000
user haproxy
group haproxy
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
timeout connect 5000
timeout client 10000
timeout server 10000
stats enable
stats uri /haproxy?stats
stats refresh 5s
balance roundrobin
option httpclose
listen inbound :80
option httpchk HEAD / HTTP/1.1\r\n
server instance1 127.0.0.101 check inter 3000 fall 1 rise 1
server instance2 127.0.0.102 check inter 3000 fall 1 rise 1
listen instance1 127.0.0.101:80
option forwardfor
http-send-name-header Host
option httpchk HEAD / HTTP/1.1\r\nHost:\ www.example.com
server www.example.com www.example.com:80 check inter 5000 fall 3 rise 2
listen instance2 127.0.0.102:80
option forwardfor
http-send-name-header Host
option httpchk HEAD / HTTP/1.1\r\nHost:\ www.bing.com
server www.bing.com www.bing.com:80 check inter 5000 fall 3 rise 2
example.heroku.com