已在新安装的Centos 5.10虚拟机上按照官方网站的提示安装了最新版本的RabbitMQ服务器(RabbitMQ -server-3.3.0-1.noarch.rpm)。

在开发过程中,我已经这么做过很多次了,从来没有遇到过任何问题。但是这次无法使用默认的guest/guest用户登录管理web界面。

在日志中,我看到了以下内容:

=ERROR REPORT==== 4-Apr-2014::00:55:15 ===
webmachine error: path="api/whoami"
"Unauthorized"

是什么导致了这种情况?


这是自3.3.0版本以来的新功能 http://www.rabbitmq.com/release-notes/README-3.3.0.txt

server
------

...
25603 prevent access using the default guest/guest credentials except via
      localhost.

如果你想启用guest用户读这个或者这个RabbitMQ 3.3.1不能登录guest/guest

# remove guest from loopback_users in rabbitmq.config like this
[{rabbit, [{loopback_users, []}]}].
# It is danger for default user and default password for remote access
# better to change password 
rabbitmqctl  change_password guest NEWPASSWORD

如果你想创建一个具有管理员权限的新用户:

rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

现在您可以使用test test进行访问。


如果在重新安装后仍然无法访问管理控制台,请检查是否启用了管理控制台。启用它:

进入RabbitMQ命令提示符。 类型: rabbitmq_management插件


刚刚发生在我身上的一件事让我头疼:

我已经设置了一个新的Linux RabbitMQ服务器,并使用shell脚本来设置我自己的自定义用户(不是guest!)

脚本有几个这样的“代码”块:

rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

和Gabriele的回答非常相似,所以我用了他的代码,不需要修改密码。

我仍然无法登录管理控制台。然后我注意到我已经在Windows中创建了安装脚本(CR+LF行结束),并将该文件转换为Linux(仅限LF),然后在我的Linux服务器上重新运行安装脚本。

... 仍然无法登录,因为又花了15分钟,直到我意识到反复调用add_user不会修复损坏的密码(可能以CR字符结束)。我必须为每个用户调用change_password来修复我之前的错误:

rabbitmqctl change_password test test

(另一种解决方案是删除所有用户,然后再次调用脚本)


如果是Mac操作系统,则需要打开“/usr/local/etc/rabbitmq/rabbitmq-env.conf”文件 set NODE_IP_ADDRESS=,原来是127.0.0.1。然后根据接受的答案添加另一个用户。 重启rabbitMQ, brew服务重启rabbitMQ


如果在Windows上使用chocolatey安装,请确保防火墙允许默认端口:

netsh advfirewall firewall add rule name="RabbitMQ Management" dir=in action=allow protocol=TCP localport=15672
netsh advfirewall firewall add rule name="RabbitMQ" dir=in action=allow protocol=TCP localport=5672

用于远程访问。


我也无法登录兔子的网页界面。在我的例子中,这个web界面的浏览器禁用了cookie。我允许cookies被保存并重新启动chrome。我又能登录了