这让我很难过,希望有人可以帮助我。我有一个工作的rabbitmq集群,直到SSL证书过期。
安装新签名证书后,我收到所有连接的以下错误:
=INFO REPORT==== 19-Oct-2016::21:39:27 ===
accepting AMQP connection <0.3532.0> (x.x.x.x:43958 -> x.x.x.x:5671)
=ERROR REPORT==== 19-Oct-2016::21:39:33 ===
Error on AMQP connection <0.3536.0>:
{ssl_upgrade_error,{certfile,{badmatch,[]}}}
尝试使用openssl s_client连接
openssl s_client -connect x.x.x.x:5671 -cert ssl.crt -key ssl.key -CAfile intermediate.crt
结果如下:
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 295 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
但是使用来自https://www.rabbitmq.com/troubleshooting-ssl.html#troubleshooting的s_server / s_client运行SSL密钥检查程序可以通过localhost和端口8443工作。
没有文件被移动,旧证书只是在相同的目录中被替换为相同的名称。 CSR是使用相同的密钥生成的,因此唯一被替换的是直接从SSL发行者处获得的证书和中间证书。
如果我恢复到旧证书,{ssl_upgrade_error,{certfile,{badmatch,[]}}}没有出现,我可以s_client没有问题(除了ssl已过期错误)
答案 0 :(得分:0)
原来问题在于certfile本身,直接发送到ssl发行者下载它们并将它们移动到服务器