如何公开访问RabbitMq

时间:2014-04-11 19:18:36

标签: centos rabbitmq

我安装了&在Centos远程服务器上设置Rabbitmq。后来我创建了一个文件“rabbitmq.config”并添加了行

  

[{rabbit,[{loopback_users,[]}]}]

然后重新启动rabbitmq服务器。再次尝试使用访客凭证从本地计算机登录rabbitmq管理Web界面,但获取

  

登录失败

错误消息。在Centos中清空Rabbitmq的回送用户设置的正确方法是什么。

3 个答案:

答案 0 :(得分:37)

首先使用ssh客户端连接到您的rabbitmq服务器计算机,以便能够运行rabbitmqctl(如puTTY)&进入兔子安装的sbin目录

  1. 您需要为该系统上的任何虚拟主机创建用户(此处我使用默认虚拟主机"/"
  2. $ rabbitmqctl add_user yourName yourPass

    1. 为默认vhost
    2. 设置该用户的权限

      $ rabbitmqctl set_permissions -p / yourName ".*" ".*" ".*"

      1. 为此用户设置管理员标记(以使其能够访问管理插件)
      2. $ rabbitmqctl set_user_tags yourName administrator

        ...您已准备好从任何浏览器使用yourNameyourPass登录您的rabbitmq管理gui,方法是将其指向http://"*********":15672,其中*****是您的服务器IP 希望它有所帮助...

        : - )

答案 1 :(得分:12)

有一个示例配置文件,在centos上:

cp /usr/share/doc/rabbitmq-server-3.4.2/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

查找并删除评论(和逗号):

{loopback_users, []}

然后,停止rabbitmq:

rabbitmqctl stop

现在启动服务器:

service rabbitmq-server start

现在用户"来宾"可以从任何地方访问。

答案 2 :(得分:5)

自RabbitMQ 3.3.0以来,除了通过localhost之外,你不能使用默认的访客/访客凭证(详见release notes for 3.3.0)。

作为一种可能的解决方案,您可以(也可能应该)创建用于监控,管理等的自定义安全用户。

您也可以使用proxy setup

P.S。:

如果你启用loopback_users检查加载了正确的配置(用于运行NODENAME),它是格式正确的(具有有效语法并以.结束),管理插件已激活并启动并且不存在防火墙阻止规则。

P.P.S:

检查默认用户是否为guest,是否存在并且具有默认(guest)密码。如果您使用某个库来访问RabbitMQ,请检查它是否具有与remote(guestguest相同的默认值)或明确指定它们。