我的一个特定客户端出现问题,该客户端访问了我的 haproxy 负载均衡器。haproxy 日志中的错误消息:]
incoming_ssl/1: SSL handshake failure
Run Code Online (Sandbox Code Playgroud)
有问题的客户端似乎是一些 Apache Java 客户端或 ActiveMq 服务器 - 无论哪种方式,它都是我们对其进行零控制的远程服务器。
使用 ssldump,我看到这些行:
11 5 0.4152 (0.1649) C>S Alert
level fatal
value certificate_unknown
11 0.4152 (0.0000) C>S TCP FIN
Run Code Online (Sandbox Code Playgroud)
使用curl /浏览器一切看起来都很好,我已经做了一些ssl检查,没有报告此类问题。
我已经从我的 haproxy 配置文件中删除了尽可能多的内容来诊断问题。我什至测试过直接访问后端(NodeJS)服务器,效果很好 - 客户端可以连接。这确实是 haproxy,我只是不知道如何修复它。
我的基本 haproxy conf 文件如下所示:
frontend incoming_ssl
bind *:443 ssl crt /etc/haproxy/cert.key ca-file /etc/haproxy/cert.pem ciphers ECDHE-RSA-AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
acl flume hdr_dom(host) -i dom.ain.com
use_backend flume if flume
backend flume :80
server flume 10.40.14.1:8000 weight 1 maxconn 1000 check inter 2000
Run Code Online (Sandbox Code Playgroud)
也尝试过使用 …