问题描述
我正在尝试通过 SSL 连接到 RabbitMQ,但每次都失败。 任何人都可以帮助解决这个问题。
版本详情: RabbitMQ:3.8.14 二郎:23.2 鼠兔:1.1.0 蟒蛇 3.9.0
以下是执行的操作。
[
{rabbit,[
{tcp_listeners,[]},{ssl_listeners,[5671]},{ssl_options,[{certfile,"C:\\Users\\Test\\certificates\\CertificateFile_Cert.pem"},{keyfile,"C:\\Users\\Test\\certificates\\CertificateFile_Key.pem"},{verify,verify_peer},{fail_if_no_peer_cert,false}]}
]}
].
- 使用以下命令启用 SSL 并重新启动 rabbitMQ。
rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl
rabbitmq-service.bat stop
rabbitmq-service.bat remove
rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmqctl start_app
rabbitmqctl status
- 在检查状态时出现在下方
Interface: [::],port: 15672,protocol: http,purpose: HTTP API
Interface: 0.0.0.0,purpose: HTTP API
Interface: [::],port: 25672,protocol: clustering,purpose: inter-node and CLI tool communication
请注意,我没有看到“amqp/ssl”条目,我认为它表示 SSL 侦听器
- 尝试使用以下代码建立连接。
import pika
connection_string = 'amqps://<user_name>:<password>@<host_name>/<virtual_host>'
connection = pika.BlockingConnection(pika.connection.URLParameters(connection_string))
channel = connection.channel()
- 出现以下错误。
---------------------------------------------------------------------------
AMQPConnectionError Traceback (most recent call last)
<ipython-input-1-b458eda64f33> in <module>
2 connection_string = 'amqps://oademo:Password1@IE4LLTF05VK63/oademohost'
3 #connection_string = 'amqps://guest:guest@localhost/oademohost'
----> 4 connection = pika.BlockingConnection(pika.connection.URLParameters(connection_string))
5 channel = connection.channel()
c:\users\h440242\miniconda3\envs\env\lib\site-packages\pika\adapters\blocking_connection.py in __init__(self,parameters,_impl_class)
357 # Perform connection workflow
358 self._impl = None # so that attribute is created in case below raises
--> 359 self._impl = self._create_connection(parameters,_impl_class)
360 self._impl.add_on_close_callback(self._closed_result.set_value_once)
361
c:\users\h440242\miniconda3\envs\env\lib\site-packages\pika\adapters\blocking_connection.py in _create_connection(self,configs,impl_class)
448 error = on_cw_done_result.value.result
449 LOGGER.error('Connection workflow Failed: %r',error)
--> 450 raise self._reap_last_connection_workflow_error(error)
451 else:
452 LOGGER.info('Connection workflow succeeded: %r',AMQPConnectionError:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)