无法通过LAN连接到RabbitMQ

时间:2017-01-17 11:32:51

标签: php rabbitmq

我在两台机器上运行了一个RabbitMQ集群,让它们称之为rmq1和rmq2。

我正在使用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 

我尝试从局域网远程登录到主机

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

也有效。那是什么给出了什么?

1 个答案:

答案 0 :(得分:0)

很可能您正在使用来宾登录来连接RabbitMQ服务器。访客登录只能通过localhost工作,您必须添加另一个用户,除了localhost之外,还有权访问RabbitMQ。

参考:RabbitMQ Access Control