我正在尝试与RabbitMQ代理建立SSL连接。我按照此页面的指导,并发现了我的错误,但我不知道如何解决它。 我在测试与代理的连接时遇到了问题:
openssl s_client -connect localhost:5671 -cert client/cert.pem -key client/key.pem -CAfile testca/cacert.pem
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 289 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1470206187
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
我的日志中没有记录,但我需要 接受 AMQP 连接
。
#Rabbimq.conf
[
{rabbit, [
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,".../testca/cacert.pem"},
{certfile,".../server/cert.pem"},
{keyfile,".../server/key.pem"},
{ciphers, [{rsa,aes_256_cbc,sha256}]},
{verify,verify_peer},
{fail_if_no_peer_cert,false}]}
]}
].
我使用的证书是经过验证、验证和使用文档创建的。
我认为这个问题不允许我执行ssl连接。
谢谢
编辑:我使用rabbitmq用户在/var/lib/rabbitmq创建了证书,并且像这样权限正确,服务器可以访问证书。
".../testca"
和".../server/"
的授权。 - Gabriele Santomaggioopenssl s_client -connect <hostname>:<port> -tls1 -servername <hostname> | openssl x509 -text -noout
的输出。通过单击“编辑”将其添加到您的问题中(不要将其作为评论发布)。否则,我们无法重现它,也没有足够的信息来帮助排除故障。 - jwwlocalhost
作为主题备用名称(SAN)。如果是这种情况,那么您需要编辑/etc/hosts
并添加一个条目,指定www.example.com
是127.0.0.1
。然后,您可以使用openssl s_client -connect www.example.com:5671 ...
连接,主机名将匹配。 - jww