Я пытаюсь настроить Amazon ELB для маршрутизации запросов на пару серверов haproxy. Для проверки работоспособности ELB требуется цель проверки связи с соответствующими серверами. Он использует index.html на порту 80. Я изо всех сил пытаюсь настроить index.html в haproxy. Вот моя конфигурация haproxy:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
defaults
mode http
option dontlognull
option httpclose
option httplog
option forwardfor
option redispatch
option httpchk HEAD /index.html HTTP/1.0
timeout connect 10000 # default 10 second time out if a backend is not found
timeout client 300000
timeout server 300000
maxconn 60000
retries 3
#
# Host HA-Proxy's web stats on Port 81.
listen stats :1936
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /
stats auth Username:Password
frontend main *:80
log 127.0.0.1 local2
capture request header X-Forwarded-For len 500
capture response header X-Query-Result len 100
acl url_webapp path_beg -i /supporttoolbar
acl url_jsonproxy path_beg -i /proxy
backend webapp
balance roundrobin
server webapp1 10.100.86.xxx:80 check
backend jsonproxy
balance roundrobin
server webapp1 10.100.86.xxx:80 check
Страница html находится под / var / www / html /
Я пробовал добавить опция httpchk HEAD /index.html HTTP / 1.0 под значения по умолчанию раздел, но не работал.
Будем признательны за любые указатели.
Спасибо
Пожалуйста, взгляните на это суть. Он в основном описывает / настраивает то, что вам нужно:
# Create a monitorable URI which returns a 200 if at least 1 server is up.
# This could be used by Traverse/Nagios to detect if a whole server set is down.
acl servers_down nbsrv(servers) lt 1
monitor-uri /haproxy?monitor
monitor fail if
Я нашел альтернативу, добавив следующую запись в файл конфигурации Haproxy.
defaults
mode http
option dontlognull
option httpclose
option httplog
option forwardfor
option redispatch
timeout connect 10000 # default 10 second time out if a backend is not found
timeout client 300000
timeout server 300000
monitor-uri /index.html
maxconn 60000
retries 3
Вход монитор-uri /index.html запись сделала свое дело. Haproxy имеет встроенную проверку работоспособности, которая возвращает 200, если служба работает. Я просто издевался над ним, чтобы использовать /index.html, который распознает Amazon ELB.