python - 无法远程访问 RabbitMq 服务器

标签 python linux rabbitmq ip pika

我无法远程访问 RabbitMq 服务器。当我在一台机器上执行此操作并连接到 localhost:15672 时,它可以工作,但是当我从远程机器尝试时,它就不行了。

我已经创建了一个拥有所有权限的用户并检查了计算机上的 5672 端口是否正常工作(只是试图从远程计算机连接到他)。另外,我尝试连接到 15672 端口,但没有结果。

credentials = pika.PlainCredentials(username= 'username', password='password')
parameters = pika.ConnectionParameters(host='188.19.100.226',
                                   port=5672,
                                   virtual_host= '/',
                                   credentials=credentials)

connection = pika.BlockingConnection(parameters=parameters)
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='',
                  routing_key='hello',
                  body=hello)
print ("Sent!")
connection.close()

我希望看到 Sent!,但我得到的不是:

ERROR:pika.adapters.utils.io_services_utils:Socket failed to connect: <socket.socket fd=7, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('192.168.100.2', 44752)>; error=111 (Connection refused)
ERROR:pika.adapters.utils.connection_workflow:TCP Connection attempt failed: ConnectionRefusedError(111, 'Connection refused'); dest=(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('188.19.100.226', 5672))
ERROR:pika.adapters.utils.connection_workflow:AMQPConnector - reporting failure: AMQPConnectorSocketConnectError: ConnectionRefusedError(111, 'Connection refused')
ERROR:pika.adapters.utils.connection_workflow:AMQP connection workflow failed: AMQPConnectionWorkflowFailed: 1 exceptions in all; last exception - AMQPConnectorSocketConnectError: ConnectionRefusedError(111, 'Connection refused'); first exception - None.
ERROR:pika.adapters.utils.connection_workflow:AMQPConnectionWorkflow - reporting failure: AMQPConnectionWorkflowFailed: 1 exceptions in all; last exception - AMQPConnectorSocketConnectError: ConnectionRefusedError(111, 'Connection refused'); first exception - None
ERROR:pika.adapters.blocking_connection:Connection workflow failed: AMQPConnectionWorkflowFailed: 1 exceptions in all; last exception - AMQPConnectorSocketConnectError: ConnectionRefusedError(111, 'Connection refused'); first exception - None
ERROR:pika.adapters.blocking_connection:Error in _create_connection().
Traceback (most recent call last):
  File "/home/roman/PycharmProjects/trrp2/venv/lib/python3.6/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
    raise self._reap_last_connection_workflow_error(error)
pika.exceptions.AMQPConnectionError
Traceback (most recent call last):
  File "/home/roman/PycharmProjects/trrp2/send.py", line 52, in <module>
    connection = pika.BlockingConnection(parameters=parameters)
  File "/home/roman/PycharmProjects/trrp2/venv/lib/python3.6/site-packages/pika/adapters/blocking_connection.py", line 359, in __init__
    self._impl = self._create_connection(parameters, _impl_class)
  File "/home/roman/PycharmProjects/trrp2/venv/lib/python3.6/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
    raise self._reap_last_connection_workflow_error(error)
pika.exceptions.AMQPConnectionError

最佳答案

你需要配置rabbitmq来监听本地主机以外的其他接口(interface)。 接受来自所有接口(interface)的连接,监听0.0.0.0

https://www.rabbitmq.com/networking.html#interfaces

关于python - 无法远程访问 RabbitMq 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58786641/

相关文章:

python - 错误 :float argument required, 不是字典

c - 如果我是一线程写多读,怎么只写锁不读锁呢?

android - 在 Android 应用程序中执行 shell 脚本不显示结果

linux - ltrace 等同于 osx?

c# - 在C#中的rabbit Mq中获取xDeath中队列消息的最大重试次数

docker - 在 docker 镜像中启用 rabbit mq 服务器的日志记录

python - Python 中的 "Physically Stored Sequence"是什么?

python - 创建新的 iPython Notebook 时内核死机。

Python:搜索一个单词中最长的回文和一个单词/字符串中的回文

kubernetes - 强制 Kubernetes 自定义资源规范字段的不变性