2017-01-17 60 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