我正在使用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服务上接收任何健康检查调用。任何人都可以提出正确的方法来实现这一目标吗?
答案 0 :(得分:0)
如果后端使用SSL但未使用server
关键字,则每个ssl
行都需要check-ssl
关键字(当HAProxy未终止TLS时会出现这种情况)会话)。
似乎还必须使用verify none
指定或以其他方式禁用TLS身份验证机制,这在安全环境中通常是可接受的。