我已经在网上搜索了很长时间但还是无法找到解决这个问题的方法。
我在 KeepAlived 和 HAProxy 后面设置了两台服务器。当两台服务器都启动时,我可以看到两台服务器都受到攻击(查看应用程序日志),并且两台服务器都运行良好。但是,当我关闭主服务器时,客户端无法连接到第二台服务器,并且 SSL 握手失败。两台服务器的 HAProxy 配置相同,并且它们的 SSL 证书也相同。
我的部分 HAProxy 配置是:
listen authentication_service
bind xxx.xxx.xxx.111:2222 ssl crt /etc/ssl/certs/mycert.pem ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:!RC4+R$
balance roundrobin
option tcpka
option tcplog
server serv1 xxx.xxx.xxx.xx1:2222 check inter 2000 rise 2 fall 5
server serv2 xxx.xxx.xxx.xx2:2222 check inter 2000 rise 2 fall 5
再次重申,serv1 单独或与 serv2 一起运行良好。只有当我关闭 serv1 时,才会出现 SSL 故障。
失败的 HAProxy 日志为:
1 月 3 日 14:21:08 serv-2 haproxy[9075]: [客户端 ip 地址]:xyz [03/Jan/2015:14:21:08.734] authentication_service/1: SSL 握手失败
有人能帮助我吗?
提前谢谢了,
答案1
显然,您的 SSL 堆栈serv2
已损坏。
检查事项:
- 证书文件是否相同?
- haproxy 配置是否相同且当前已加载?
- SSL 库是否相同?