호스트 이름이 다른 여러 실행 서버간에로드 균형을 조정해야합니다. 각각에 동일한 가상 호스트를 설정할 수 없습니다.
여러 서버로 하나의 청취 구성 만 가질 수 있고 상태 점검이 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