使用后端ssl服务器进行HAProxy运行状况检查

时间:2018-06-05 11:54:38

标签: haproxy high-availability

我正在使用HAProxy来实现高可用性。我有server1和server2,其中server1处于活动状态,服务器2处于休眠状态。如果server1关闭,server2将变为活动状态。当server1即将启动时,它将以休眠方式启动,而server2将保持为活动服务器。当server2关闭时,Server1将扮演主动角色,依此类推。 server1和server2都配置了ssl。在HAProxy上我使用mode作为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服务上接收任何健康检查调用。任何人都可以提出正确的方法来实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

如果后端使用SSL但未使用server关键字,则每个ssl行都需要check-ssl关键字(当HAProxy未终止TLS时会出现这种情况)会话)。

似乎还必须使用verify none指定或以其他方式禁用TLS身份验证机制,这在安全环境中通常是可接受的。