这让我很难过,希望有人能帮助我。在 SSL 证书过期之前,我有一个工作的 rabbitmq 集群。
安装新的签名证书后,所有连接均出现以下错误:
=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 key 检查程序通过本地主机和端口 8443 工作。
没有文件被移动,旧的证书被简单地替换为相同目录中的相同名称。 CSR 是使用相同的 key 生成的,因此唯一被替换的是直接从 SSL 颁发者获取的证书和中间证书。
如果我恢复到旧证书,{ssl_upgrade_error,{certfile,{badmatch,[]}}} 不会出现,我可以毫无问题地使用 s_client(除了 ssl is expired 错误)
最佳答案
原来问题出在证书文件本身,直接去 ssl 发行者下载它们并将它们移动到服务器
关于ssl - 安装新签名证书后 RabbitMQ 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40142100/