试图找到向Internet打开兔子的解决方案并不容易。文档很少,我能找到的配置是多种格式。如何配置兔子允许外部访问?
有3种配置RabbitMQ:命令行和两种配置文件样式的方法。这是如何使用一种配置样式配置兔子的方法。
首先,您需要找到rabbitmq.config。它可以在RabbitMQ安装目录中找到。我在这里找到我的:
c: users [用户] appdata roaming rabbitmq rabbitmq.config
配置文件遵循非常特殊的语法。您需要保重。配置更改后,您需要重新启动RabbitMQ,以使配置受到影响。如果RabbitMQ立即停止,则配置存在问题。
如果RabbitMQ运行,则仅表示配置不会杀死该过程。这并不意味着它已正确应用。如果您正确获得语法,它肯定会适用,但是每个错误的配置都不能保证服务崩溃。
以下是一些示例配置(请注意Tailting" 。"):
-
base rabbitmq 配置我们将使用(只能在配置文件中出现一次):
[{rabbit, []}].
-
配置允许从Internet访问RabbitMQ 管理插件:
[{rabbit, [ {rabbitmq_management, [{listener, [{port, 15672}]}]}, {rabbitmq_management, [{cors_allow_origins, ["*"]}]} ] }].
-
配置允许从Internet访问RabbitMQ API :
[{rabbit, [ {tcp_listeners, [5672]} ] }].
-
配置允许访客用户从Internet访问管理插件:
[{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服务器宽开放。您一定要限制访问权限。 tcp_listeners 的搜索将揭示其他选项,以限制对特定IP的访问。在任何生产环境中,将默认的访客用户公开默认也不是一个好主意。