我在虚拟机上的rabbitmq-c库中成功运行了一个示例(runnung Ubuntu)。现在,当我尝试在另一台设备(例如设备2)上运行该示例时,该设备试图侦听我的虚拟机发送的消息(在虚拟机上运行兔子服务器),我收到以下错误:
$ ./amqp_listen VM_IP_address 5672 amq.direct test
$登录:连接意外关闭
这是amqp_listen.c中的以下操作的结果:
die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"),
"Logging in");
我注意到如果我在Device 2上运行此命令,我会看到以下消息:
$ telnet VM_IP_address 5672
$ Connection由外国主持人关闭
我不是专家,但我想必须有一些网络配置设置阻止Ubuntu VM接受传入连接。但我不确定问题是什么。
答案 0 :(得分:0)
我只是偶然发现了这个问题,我觉得这是一个旧问题,但我会给它一个去:) 引用rabbitmq docs:
"旅客"用户只能通过localhost连接默认情况下,guest用户 禁止远程连接经纪人;它只能 通过环回接口(即localhost)连接。
以及如何使其发挥作用:
如果您希望允许来宾用户从远程主机进行连接,那么您 应将loopback_users配置项设置为[]。一套完整的 rabbitmq.config这样做会是这样的:
[{rabbit,[{loopback_users,[]}]}]。