繁体   English   中英

Pika无法从远程IP地址使用RabbitMQ

[英]Pika cannot consume RabbitMQ from remote IP address

我正在使用Python和pika,因为我想使用RabbitMQ将数据从服务器发送到另一个服务器。

我按照以下教程创建了消费者和生产者: https : //www.rabbitmq.com/tutorials/tutorial-one-python.html

在同一台计算机上,我可以将消息发送到localhost并从localhost读取,它将起作用。

但是从一台服务器到另一台服务器,它将给出诸如ConnectionClosed,ProbableAccessDeniedError,ProbableAuthenticationError之类的错误。

我尝试创建具有管理员访问权限的凭据,而不是使用默认的来宾/来宾凭据。 我也将超时从0.25秒增加到2秒

 credentials = pika.credentials.PlainCredentials(server['username'], server['password'], erase_on_connect=False)

 connection = pika.BlockingConnection(pika.ConnectionParameters(host=server['ip'], credentials=credentials, socket_timeout=2))

我什至尝试从同一台机器发送和接收,但是我没有提供“ localhost”,而是提供了机器的IP地址,但是这没有用

我发现问题出在托管生产者的远程服务器上。

我创建的用户是管理员用户,但缺少权限。

基本上,这里是解决方案(这是我最初忘记的第三行):

sudo rabbitmqctl add_user alex password
sudo rabbitmqctl set_user_tags alex administrator
sudo rabbitmqctl set_permissions -p / alex ".*" ".*" ".*"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM