第一次发帖,请保持友善 :)
我对 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 流量,以查看当日志中没有其他信息可以提供帮助时会发生什么。