rabbitmq凭据问题,仅适用于localhost

sxpgvts3  于 2023-10-20  发布在  RabbitMQ
关注(0)|答案(1)|浏览(128)

我有一个关于rabbitmq的问题。我试图建立一个消息传递系统的基础上关闭队列名称,到目前为止,一切都很好与本地主机。当我为本地连接设置一些凭据时,我得到一个超时错误。(我也延长了超时时间)我还赋予了用户管理权限和访客帐户管理权限。当同时运行consume和produce脚本时,我得到了这个错误。第5672章也是开着的这一切都是在ubuntu 14.04 LTS机器和python 2.7.14上完成的。Guest和我的另一个rabbit用户都可以使用默认的vhost。

import pika, json

credentials = pika.credentials.PlainCredentials('guest', 'guest')
connection = pika.BlockingConnection(pika.ConnectionParameters('<ip here>', 
5672, '/', credentials))
channel = connection.channel()

result = channel.queue_declare(queue='hello', durable=True)  

def callback(ch, method, properties, body):
        print "localhost received %r" % json.loads(body)

channel.basic_consume(callback,
                  queue='hello')

print 'localhost waiting for messages. To exit press CTRL+C'
channel.start_consuming()
channel.close()

这也是我的错误信息。只是一个超时的方法,这会让我认为连接失败,这是一个网络问题,但当我取代我的ip在凭据与'localhost',一切正常。有什么想法吗?

pika.exceptions.ConnectionClosed: Connection to <ip here>:5672 failed: timeout
xv8emn3q

xv8emn3q1#

你可能会遇到很多问题。
首先,guest用户默认只能通过localhost连接。This document详细说明。当site:rabbitmq.com localhost guest被用作谷歌搜索词时,FWIW的文档是第一个命中的。
其次,timeout意味着无法建立TCP连接。请参阅this document了解诊断的分步指南。

相关问题