HAProxy 服务器检查选项导致 503

HAProxy 服务器检查选项导致 503

第一次发帖,请保持友善 :)

我对 haproxy 的服务器检查选项有疑问。我正在运行 HA-Proxy 版本 1.5.2,带有两个 RHEL 7.2 后端 Web 服务器。后端服务器上目前没有配置,httpd 只是打开了,欢迎页面可直接从每个服务器访问。此配置工作正常,直到我将检查选项添加到服务器行。一旦我这样做,当定位 vIP 时,我会得到 503,但直接定位后端服务器就可以了。

值得注意的是,此 haproxy 充当许多服务的 LB,并且服务器检查选项在其他地方运行良好。我在 Google 上搜索了很多次,但还是无法找到 Web 服务器端的服务器检查选项到底是什么。我预计问题出在后端,但我不知道问题出在哪里。

服务器名称已更改以保护无辜者。这似乎是一个非常简单的配置,有什么想法吗?

global
log 127.0.0.1 local2

chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon

## turn on stats unix socket
stats socket /var/lib/haproxy/stats level admin

defaults
    mode http
    log global
    option httplog
    option dontlognull
    option http-server-close
    option httpchk
    option forwardfor except 127.0.0.0/8
    option redispatch
    retries 3
    timeout http-request 10s
    timeout queue 1m
    timeout connect 10s
    timeout client 1m
    timeout server 1m
    timeout http-keep-alive 10s
    timeout check 10s
    maxconn 3000

listen stats *:1936
    stats enable
    stats uri /

frontend server-check-fail-fe
    bind xx.xx.xx.xx:80
    default_backend server-check-fail-be

backend server-check-fail-be
    balance roundrobin
    server server1 server1.fqdn.com:80 check
    server server2 server2.fqdn.com:80 check

答案1

在里面option httpchk haproxy 文档您可以找到检查的内容以及可以配置的详细信息。

通常您可以在后端 Web 服务器日志中看到“健康检查”请求。

您还可以尝试使用“tcpdump”调试 http 流量,以查看当日志中没有其他信息可以提供帮助时会发生什么。

相关内容