如何配置RabbitMQ管理插件来监听IPV4和IPV6

时间:2015-09-17 22:30:52

标签: erlang rabbitmq

如果未配置ip,RabbitMq管理插件似乎只侦听IPV4地址。 documentation中显示的典型配置是:

[
{rabbitmq_management, [{listener, [{port, 12345}]}]}
].

文档还说明:

  

使用ip指定mochiweb绑定的接口(将IP地址作为字符串或元组)。

由此,如果指定IPv6环回地址,例如:

[
{rabbitmq_management, [{listener, [{port, 12345}, {ip, "::"}]}]}
].

它会监听IPV6地址,但不会监听IPV4。指定ip为“0.0.0.0”(或省略设置)仅侦听IPV4。

文档暗示您可以在这里使用元组,但是我没有成功理解erlang tuple是否足以完成此设置并且管理插件已成功启动。

我尝试了以下(以及其他变体)的错误消息,例如 can_not_start_listener

{ip, "::", "0.0.0.0"}
{ip, {"::", "0.0.0.0"}}

在IPV4和IPV6端点上托管此功能需要什么?

1 个答案:

答案 0 :(得分:2)

根据@michaelklishin回复的rabbitmq-users mailing list中的一个帖子,RabbitMq_Management插件由于他们正在使用的HTTP服务器而无法侦听两个不同的端点。因此,这个问题的答案是“不可能的”#39;目前。

计划是在RabbitMq 3.6.0版本中更改底层HTTP服务器,这有望消除此限制。作为参考,此问题为#64 - Dual IP stack support,更改网络服务器的问题为#63 - Move from Webmachine to Cowboy