[英]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.