2017-01-17 61 views
0

我在两台机器上运行了RabbitMQ集群,我们称之为rmq1和rmq2。无法通过LAN连接到RabbitMQ

我正在使用PHP驱动程序连接到节点。当我从rmq1或2运行代码并且我的主机是localhost时,连接就可以工作。但是,当我尝试从另一个节点来自全国各地的网络连接,连接失败下面

[PhpAmqpLib\Exception\AMQPRuntimeException]     
    Error reading data. Received 0 instead of expected 7 bytes 

错误我已经验证了我的RabbitMQ正在监听所有接口上,像这样:

sudo netstat -plunt | grep 5672 
tcp  0  0 0.0.0.0:25672   0.0.0.0:*    LISTEN  2749/beam.smp 
tcp  0  0 0.0.0.0:15672   0.0.0.0:*    LISTEN  2749/beam.smp 
tcp6  0  0 :::5672     :::*     LISTEN  2749/beam.smp 

而且我试图从局域网机器telnetting主机

telnet 192.168.0.40 5672 
Trying 192.168.0.40... 
Connected to 192.168.0.40. 
Escape character is '^]'. 

这也适用。那么是什么给了?

+0

你在这些服务器上有防火墙吗? – mishanon

回答

0

很可能您正在使用访客登录来连接到RabbitMQ服务器。来宾登录只能通过本地主机,你必须添加另一个用户,有足够的权限访问本地主机以外的RabbitMQ。

请参考:RabbitMQ Access Control

+0

谢谢Shubham。我切换到另一个用户,它的工作 – Adil