
昨日、約 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
バックエンドが実際に利用できないことを検証することができました。