Pika 使用 SSL 连接,无需证书文件

问题描述 投票:0回答:1

我正在尝试使用 pika 通过 SSL(自签名)连接到 RabbitMQ。

问题是,如果我不将证书文件提供给 pika,连接不会失败。

这是我的代码:

import pika
import urllib

connection = pika.BlockingConnection(pika.URLParameters("amqps://guest:[email protected]:25585"))
channel = connection.channel()

channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',
                      routing_key='hello',
                      body='Hello World!')

print(" [x] Sent 'Hello World!'")
connection.close()

这是我的rabbitmq.config:

{tcp_listeners, []},
{ssl_listeners, [25585]},
{ssl_options, [{cacertfile,           "/etc/rabbitmq/certs/cacert.pem"},
               {certfile,             "/etc/rabbitmq/certs/cert.pem"},
               {keyfile,              "/etc/rabbitmq/certs/key.pem"},
               {verify,               verify_peer},
               {versions, ['tlsv1.2', 'tlsv1.1', 'tlsv1']},
               {fail_if_no_peer_cert, false}]},

我禁用了 TCP 连接并启用了 SSL,为什么连接没有失败?

python rabbitmq pika
1个回答
0
投票

是因为服务器中这样的配置:

{fail_if_no_peer_cert, false}

更改为:

{fail_if_no_peer_cert, true}

这意味着如果客户端没有提供证书则断开连接。

© www.soinside.com 2019 - 2024. All rights reserved.