是什么配置可以从网络上访问rabbitmq api和管理插件?

时间:2017-12-14 00:22:35

标签: networking configuration rabbitmq

试图找到将RabbitMQ打开到互联网的解决方案并不容易。文档很稀疏,我可以找到的配置有多种格式。如何配置RabbitMQ以允许外部访问?

1 个答案:

答案 0 :(得分:0)

配置RabbitMQ有3种方法:命令行和两种配置文件样式。以下是使用其中一种配置样式配置RabbitMQ的方法。

首先,你需要找到rabbitmq.config。它位于RabbitMQ安装目录中。我在这里找到了我的:

  

C:\用户\ [用户] \应用程序数据\漫游\的RabbitMQ \ rabbitmq.config

配置文件遵循非常特殊的语法。你需要小心。配置更改后,您需要重新启动RabbitMQ才能使配置生效。如果RabbitMQ立即停止,则配置存在问题。

如果RabbitMQ运行,这只意味着配置没有杀死进程。这并不意味着它被正确应用。如果你正确地获得了语法,它肯定会适用,但是每个错误的配置都不能保证服务崩溃。

以下是一些示例配置(注意尾随" "):

    我们将使用的RabbitMQ 配置样式的
  1. 基础(应该只在配置文件中出现一次):

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

    [{rabbit,
      [ 
        {rabbitmq_management, [{listener, [{port, 15672}]}]},
        {rabbitmq_management, [{cors_allow_origins, ["*"]}]}
      ]
    }].
    
  3. 配置,允许从互联网访问RabbitMQ api

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

    [{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, ["*"]}]}
      ]
    }].
    
  6. 在配置中的数组中留下尾随逗号将导致RabbitMQ停止。

    如果您仍然遇到问题,请检查您是否允许端口通过任何防火墙。

    注意事项这使您的RabbitMQ服务器全开。您肯定会限制访问权限。搜索 tcp_listeners 将显示限制访问特定IP的其他选项。在任何生产环境中将默认来宾用户公开给互联网也不是一个好主意。