ssl 有可能使用让我们加密RabbitMQ服务器的证书?

nmpmafwu  于 5个月前  发布在  RabbitMQ
关注(0)|答案(2)|浏览(50)

我目前有一个域名名为“rabbitmq.com”。我不想添加SSL证书做一个AMQPS连接。
我将certbot(让我们加密)为rabbitmq Jmeter 板生成的nginx证书放入rabbitmq配置中:

#listeners.tcp = none

listeners.ssl.default = 5671

ssl_options.cacertfile = /etc/rabbitmq/certs/fullchain.pem
ssl_options.certfile   = /etc/rabbitmq/certs/cert.pem
ssl_options.keyfile    = /etc/rabbitmq/certs/privkey.pem
ssl_options.verify     = verify_peer
ssl_options.fail_if_no_peer_cert = true

字符串
重新启动后,rabbitmq工作,我可以诊断我的客户端计算机上的openssl连接:

openssl s_client -connect rabbitmq.<server>.com:5671 -cert cert.pem -key privkey.pem -CAfile fullchain.pem -verify 8 -verify_hostname rabbitmq.<server>.com


但openssl提出了一个错误:

00864C1001000000:error:0A000418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:ssl/record/rec_layer_s3.c:1588:SSL alert number 48


我尝试将verify_peer更改为verify_none,SSL客户端工作:

...
SSL handshake has read 4579 bytes and written 405 bytes
Verification error: unable to get issuer certificate
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 2 (unable to get issuer certificate)
---
...
AMQP    closed


但我不喜欢删除安全性。我的python pika客户端不工作。
我的第一个问题是我做得很好?我需要采取服务器证书(CA,证书,密钥)或我需要重新生成另一个客户端?

dfty9e19

dfty9e191#

SSL警报编号48表示“unknown_ca”。服务器无法验证您发送的客户端证书,因为它找不到任何指向服务器信任的CA的路径。您可能缺少证书的根CA证书证书的签名者?

f0ofjuux

f0ofjuux2#

ssl_options.fail_if_no_peer_cert应该设置为false,除非您的服务器必须验证连接来自何处。在这种情况下,它必须知道客户端证书提供商.
使用letsencrypt,配置如下:

management.ssl.cacertfile           = /etc/letsencrypt/live/example.com/chain.pem
management.ssl.certfile             = /etc/letsencrypt/live/example.com/cert.pem
management.ssl.keyfile              = /etc/letsencrypt/live/example.com/privkey.pem

字符串
注意更新后的权限修改。

相关问题