可以从Web访问RabbitMQ API和管理插件的配置是什么?



试图找到向Internet打开兔子的解决方案并不容易。文档很少,我能找到的配置是多种格式。如何配置兔子允许外部访问?

有3种配置RabbitMQ:命令行和两种配置文件样式的方法。这是如何使用一种配置样式配置兔子的方法。

首先,您需要找到rabbitmq.config。它可以在RabbitMQ安装目录中找到。我在这里找到我的:

c: users [用户] appdata roaming rabbitmq rabbitmq.config

配置文件遵循非常特殊的语法。您需要保重。配置更改后,您需要重新启动RabbitMQ,以使配置受到影响。如果RabbitMQ立即停止,则配置存在问题。

如果RabbitMQ运行,则仅表示配置不会杀死该过程。这并不意味着它已正确应用。如果您正确获得语法,它肯定会适用,但是每个错误的配置都不能保证服务崩溃。

以下是一些示例配置(请注意Tailting" "):

  1. base rabbitmq 配置我们将使用(只能在配置文件中出现一次):

    [{rabbit, []}].
    
  2. 配置允许从Internet访问RabbitMQ 管理插件

    [{rabbit,
      [ 
        {rabbitmq_management, [{listener, [{port, 15672}]}]},
        {rabbitmq_management, [{cors_allow_origins, ["*"]}]}
      ]
    }].
    
  3. 配置允许从Internet访问RabbitMQ API

    [{rabbit,
      [ 
        {tcp_listeners, [5672]}
      ]
    }].
    
  4. 配置允许访客用户从Internet访问管理插件:

    [{rabbit,
      [ 
        {loopback_users, []},
        {rabbitmq_management, [{listener, [{port, 15672}]}]},
        {rabbitmq_management, [{cors_allow_origins, ["*"]}]}
      ]
    }].
    
  5. 配置执行上述所有操作:

    [{rabbit,
      [ 
        {tcp_listeners, [5672]},
        {loopback_users, []},
        {rabbitmq_management, [{listener, [{port, 15672}]}]},
        {rabbitmq_management, [{cors_allow_origins, ["*"]}]}
      ]
    }].
    

在您的配置中留下尾随的逗号会导致兔子停止。

如果您仍然有问题检查您允许通过任何防火墙端口。

注意事项这使您的RabbitMQ服务器宽开放。您一定要限制访问权限。 tcp_listeners 的搜索将揭示其他选项,以限制对特定IP的访问。在任何生产环境中,将默认的访客用户公开默认也不是一个好主意。

最新更新