
Вчера, около 10 минут, мой haproxy обслуживал много 503 страниц (прямо из errorfile 503 /etc/haproxy/errors/503.http
), и я не знаю почему. У меня нет проверок работоспособности моих бэкэндов, так что они наверняка не были отмечены как отключенные. Страница статистики не показывает, что был достигнут предел (в отмеченных красных областях).
global
maxconn 20000
tune.ssl.default-dh-param 2048
daemon
...
defaults
log global
mode http
timeout http-request 30s
option httplog
option dontlognull
timeout connect 5s
timeout server 120s
timeout client 30s
...
frontend frontend_for_all_sites
maxconn 20000
mode http
bind *:80
option http-buffer-request
timeout http-request 30s
...
use_backend www_backend if acl_hostname_www
use_backend static_backend if acl_hostname_static
backend www_backend
option forwardfor
server www localhost:9090 maxconn 5000
backend static_backend
option forwardfor
server s localhost:9090 maxconn 5000
Куда мне следует обратить внимание, чтобы понять, почему это произошло?
решение1
Вы установили default_backend
?
Если
use_backend www_backend if acl_hostname_www
use_backend static_backend if acl_hostname_static
не удается, бэкэнда по умолчанию нет, поэтому503
решение2
Это был бэкэнд, и мне удалось указать на то, что происходит, после добавления %ts
(termination_state) в , log-format
так что я смог убедиться, что бэкэнд действительно недоступен.