试图找到将RabbitMQ打开到互联网的解决方案并不容易。文档很稀疏,我可以找到的配置有多种格式。如何配置RabbitMQ以允许外部访问?
答案 0 :(得分:0)
配置RabbitMQ有3种方法:命令行和两种配置文件样式。以下是使用其中一种配置样式配置RabbitMQ的方法。
首先,你需要找到rabbitmq.config。它位于RabbitMQ安装目录中。我在这里找到了我的:
C:\用户\ [用户] \应用程序数据\漫游\的RabbitMQ \ rabbitmq.config
配置文件遵循非常特殊的语法。你需要小心。配置更改后,您需要重新启动RabbitMQ才能使配置生效。如果RabbitMQ立即停止,则配置存在问题。
如果RabbitMQ运行,这只意味着配置没有杀死进程。这并不意味着它被正确应用。如果你正确地获得了语法,它肯定会适用,但是每个错误的配置都不能保证服务崩溃。
以下是一些示例配置(注意尾随" 。"):
基础(应该只在配置文件中出现一次):
[{rabbit, []}].
配置,允许从互联网访问RabbitMQ 管理插件:
[{rabbit,
[
{rabbitmq_management, [{listener, [{port, 15672}]}]},
{rabbitmq_management, [{cors_allow_origins, ["*"]}]}
]
}].
配置,允许从互联网访问RabbitMQ api :
[{rabbit,
[
{tcp_listeners, [5672]}
]
}].
配置,允许访客用户从互联网访问管理插件:
[{rabbit,
[
{loopback_users, []},
{rabbitmq_management, [{listener, [{port, 15672}]}]},
{rabbitmq_management, [{cors_allow_origins, ["*"]}]}
]
}].
完成以上所有操作的配置:
[{rabbit,
[
{tcp_listeners, [5672]},
{loopback_users, []},
{rabbitmq_management, [{listener, [{port, 15672}]}]},
{rabbitmq_management, [{cors_allow_origins, ["*"]}]}
]
}].
在配置中的数组中留下尾随逗号将导致RabbitMQ停止。
如果您仍然遇到问题,请检查您是否允许端口通过任何防火墙。
注意事项这使您的RabbitMQ服务器全开。您肯定会限制访问权限。搜索 tcp_listeners 将显示限制访问特定IP的其他选项。在任何生产环境中将默认来宾用户公开给互联网也不是一个好主意。