2014-01-17 63 views
2

我成功地從我的虛擬機(runnung Ubuntu)上的rabbitmq-c庫運行了一個示例。現在,當我嘗試在另一臺設備(比如設備2)上運行示例時,該設備試圖偵聽由我的虛擬機(在虛擬機上運行兔子服務器)發送的消息時,出現以下錯誤:Rabbitmq聽衆沒有連接到另一臺機器

$ ./amqp_listen VM_IP_address 5672 amq.direct test
$ Logging in: connection closed unexpectedly

這是在amqp_listen.c下列運算的結果:

die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), 
        "Logging in"); 

我注意到,如果我運行設備2此命令,我看到這條消息:

$ telnet VM_IP_address 5672
$ Connection closed by foreign host

我不是專家,但我想必須有一些網絡配置設置阻止Ubuntu VM接受傳入連接。但我不確定問題是什麼。

+0

您錯過了telnet行的ip地址。如果你添加它,你會得到同樣的錯誤? – ldx

+0

是的,同樣的錯誤。更新問題。 – Bob

+0

你使用什麼樣的虛擬機?網絡設置? – ldx

回答

0

我只是無意中發現了這個問題,我認爲這是一個古老的一個,但我給它一個去:)
報價rabbitmq docs

"guest" user can only connect via localhost By default, the guest user is prohibited from connecting to the broker remotely; it can only connect over a loopback interface (i.e. localhost).


以及如何使其工作:

If you wish to allow the guest user to connect from a remote host, you should set the loopback_users configuration item to []. A complete rabbitmq.config which does this would look like:

[{rabbit, [{loopback_users, []}]}].

相關問題