我在Centos远程服务器上安装并设置了Rabbitmq.后来我创建了一个文件"rabbitmq.config"并添加了该行
[{rabbit,[{loopback_users,[]}]}]
然后重新启动rabbitmq服务器.再次尝试使用访客凭证从我的本地计算机登录rabbitmq管理Web界面,但获取
登录失败
错误消息.在Centos中清空Rabbitmq的环回用户设置的正确方法是什么.
首先使用ssh客户端连接到你的rabbitmq服务器机器,以便能够运行rabbitmqctl
(如puTTY)并进入兔子安装的sbin目录
你需要为该系统上的任何vhost创建一个用户(这里我使用默认的vhost "/"
)
$ rabbitmqctl add_user yourName yourPass
为默认vhost设置该用户的权限
$ rabbitmqctl set_permissions -p / yourName ".*" ".*" ".*"
为此用户设置管理员标记(以使其能够访问管理插件)
$ rabbitmqctl set_user_tags yourName administrator
...你准备登录到使用RabbitMQ的管理图形用户界面yourName
,并yourPass
通过将其指向任何浏览器http://"*********":15672
哪里*****
是你的服务器IP希望它可以帮助...
:-)
有一个示例配置文件,在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
现在用户"访客"可以从任何地方访问.
从RabbitMQ 3.3.0开始,除了通过localhost之外,你不能使用默认的guest/guest凭证(详见3.3.0的发行说明).
作为一种可能的解决方案,您可以(并且可能应该)创建用于监视,管理等的自定义安全用户.
您也可以使用代理设置.
PS:
如果你启用loopback_users
检查加载了正确的配置(用于运行NODENAME
),它是格式良好的(有效语法并以其结束.
),管理插件已激活并启动,并且不存在防火墙阻止规则.
PPS:
检查默认用户是否guest
存在,并且具有default(guest
)密码.如果你使用一些库来访问的RabbitMQ,检查它是否具有相同的默认设置为远程(guest
:guest
)或明确指定.