मुझे विभिन्न होस्ट नामों के साथ कई चल रहे सर्वरों के बीच संतुलन लोड करने की आवश्यकता है। मैं प्रत्येक पर एक ही वर्चुअल होस्ट सेट नहीं कर सकता।
क्या कई सर्वरों के साथ केवल एक ही कॉन्फ़िगरेशन को सुनना और हेल्थ चेक को 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