【发布时间】:2023-08-18 14:20:01
【问题描述】:
我正在使用 HAProxy 来实现高可用性。我有 server1 和 server2,其中 server1 处于活动状态,而服务器 2 处于休眠状态。如果 server1 出现故障,server2 将变为活动状态。当 server1 启动时,它将以休眠状态启动,而 server2 将保持为活动服务器。当 server2 宕机时,Server1 将扮演主动角色,依此类推。 server1 和 server2 都配置了 ssl。在 HAProxy 上,我使用模式作为 tcp,所以没有配置 ssl。我在两台服务器上都运行了一个 Web 服务,以确定当前哪个服务器处于活动状态(我确保在任何时候最多有一个服务器处于活动状态)。期望 HAProxy 只会将每个用户请求重定向到活动服务器。我有以下配置:
frontend server_connect
bind *:8043
option tcplog
mode tcp
default_backend backend_servers
backend backend_servers
mode tcp
option httpchk GET /appws/10.2/api/hastatus HTTP/1.1
http-check expect string ACTIVE
server master server1.mydomain.com:8043 check
server standby server2.mydomain.com:8043 check
使用此配置似乎无法正常工作; HAProxy 没有重定向任何请求,我也没有在服务器端的 Web 服务上收到任何健康检查调用。任何人都可以提出正确的方法来实现这一目标吗?
【问题讨论】:
-
首先,您的
server行可能需要check-ssl。 -
感谢@Michael-sqlbot。有效。我的最终配置如下: server master server1.mydomain.com:8043 check check-ssl verify none server standby server2.mydomain.com:8043 check check-ssl verify none