远程连接到 RabbitMQ 实例(在 AWS 上创建)
Connect to RabbitMQ instance remotely (created on AWS)
我在连接到 RabbitMQ 实例时遇到问题(这是我第一次这样做)。我已经在 AWS 上启动了一个,并获得了访问我能够访问的管理面板的权限。
我正在尝试使用以下代码连接到 python/pika 中的 RabbitMQ 服务器:
import pika
import logging
logging.basicConfig(level=logging.DEBUG)
credentials = pika.PlainCredentials('*******', '**********')
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
port=5671,
virtual_host='/',
credentials=credentials,
)
connection = pika.BlockingConnection(parameters)
当我 运行 以上时,我得到 pika.exceptions.IncompatibleProtocolError: StreamLostError: ("Stream connection lost: ConnectionResetError(54, 'Connection reset by peer')",)
。
您正在尝试通过 AMQP 协议进行连接,而 AWS 正在使用 AMQPS,您应该像这样将 ssl_options 添加到您的连接参数中
import ssl
logging.basicConfig(level=logging.DEBUG)
credentials = pika.PlainCredentials('*******', '**********')
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
port=5671,
virtual_host='/',
credentials=credentials,
ssl_options=pika.SSLOptions(context)
)
connection = pika.BlockingConnection(parameters)
我在连接到 RabbitMQ 实例时遇到问题(这是我第一次这样做)。我已经在 AWS 上启动了一个,并获得了访问我能够访问的管理面板的权限。
我正在尝试使用以下代码连接到 python/pika 中的 RabbitMQ 服务器:
import pika
import logging
logging.basicConfig(level=logging.DEBUG)
credentials = pika.PlainCredentials('*******', '**********')
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
port=5671,
virtual_host='/',
credentials=credentials,
)
connection = pika.BlockingConnection(parameters)
当我 运行 以上时,我得到 pika.exceptions.IncompatibleProtocolError: StreamLostError: ("Stream connection lost: ConnectionResetError(54, 'Connection reset by peer')",)
。
您正在尝试通过 AMQP 协议进行连接,而 AWS 正在使用 AMQPS,您应该像这样将 ssl_options 添加到您的连接参数中
import ssl
logging.basicConfig(level=logging.DEBUG)
credentials = pika.PlainCredentials('*******', '**********')
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
parameters = pika.ConnectionParameters(host='a-25c34e4d-a3eb-32de-abfg-l95d931afc72f.mq.us-west-1.amazonaws.com',
port=5671,
virtual_host='/',
credentials=credentials,
ssl_options=pika.SSLOptions(context)
)
connection = pika.BlockingConnection(parameters)