2014-04-11 143 views
16

我已经安装&在Centos远程服务器上安装Rabbitmq。后来我创建的文件 “rabbitmq.config” 和添加了行如何公开访问RabbitMq

[{兔,[{loopback_users,[]}]}]

,然后重新启动的RabbitMQ服务器。再次试图使用客户证书,但正从我的本地机器登陆RabbitMQ的管理Web界面

登录失败

错误message.What是空的RabbitMQ的回送用户设置的正确方法在Centos中。

+0

你是如何得到这个工作的? –

+0

我把这个放在'rabbitmq.config'上,然后重启失败。注意,你必须在最后加上一个点,所以正确的上下文是:'[{rabbit,[{loopback_users,[]}]}]' – mrdaliri

回答

3

由于RabbitMQ 3.3.0,您不能使用除localhost之外的默认访客/访客凭证(详情请参阅release notes for 3.3.0)。

作为一个可能的解决方案,你可以(并且可能应该)创建自定义的安全用户用于监控,管理等

你也可以使用proxy setup

PS:

如果启用loopback_users检查,适当配置加载(运行NODENAME),它是格式良好的(具有有效的语法与.结束),管理插件激活,并开始和没有防火墙拦截规则存在。

P.P.S:

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

+0

他已经创建了rabbitmq.config文件: “如果你愿意要允许来宾用户从远程主机连接,你应该将loopback_users配置项设置为[]“ http://www.rabbitmq.com/access-control.html – Gabriele

+0

是的,我错过了这一点。感谢您的通知。我已经更新了我的建议以检查常见错误。 – pinepain

30

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

  1. 你需要创建一个用户该系统上的任何虚拟主机(这里我用默认虚拟主机"/"

$ rabbitmqctl add_user yourName yourPass

  • 设置该用户的权限为缺省虚拟主机
  • $ rabbitmqctl set_permissions -p/yourName ".*" ".*" ".*"

  • 设置管理员标记为这个用户(以使他访问管理撑着)
  • $ rabbitmqctl set_user_tags yourName administrator

    ...你就可以通过将其指向http://"*********":15672登录到使用yourNameyourPass通过任何浏览器的RabbitMQ管理GUI,其中*****是您的服务器IP 希望它可以帮助...

    :-)

    10

    有一个例如配置文件,在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

    这就是要点:**删除逗号**和两个%。 – mrdaliri

    +1

    这工作:)在我的机器中的示例文件是一个gzip文件 – maamaa