是否可以在没有必需的客户端证书的情况下允许RabbitMQ进行TLS连接?

问题描述

我已经修改了rabbitmq.conf以在端口5671上启用TLS。我所希望的是用户能够连接到服务器而无需生成其客户端证书。

rabbitmq.cong

中设置这些参数
ssl_options.verify               = verify_peer
ssl_options.fail_if_no_peer_cert = false

和我的Python脚本

import pika
import ssl

context = ssl.create_default_context(cafile="./ssl/cacert.pem")

ssl_options = pika.SSLOptions(context,'127.0.0.1')
#credentials = pika.PlainCredentials('admin','123456')
parameters = pika.ConnectionParameters(host='x.x.x.x',port=5671,virtual_host='/',credentials=credentials,ssl_options=ssl_options
                                  )

connection = pika.BlockingConnection(parameters)

channel = connection.channel()

channel.queue_declare(queue='Test_user')

channel.basic_publish(exchange='',routing_key='Test_user',body='Hello World!')
print(" [x] Sent 'Hello World!'")

connection.close()
              

但是一旦尝试使用Python脚本和pika lib发布消息,就会发生此错误

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_Failed] certificate verify Failed: unable to get issuer certificate (_ssl.c:1123)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)