【问题标题】:Can't access RabbitMQ web management interface after fresh install全新安装后无法访问 RabbitMQ Web 管理界面
【发布时间】:2014-04-03 23:01:09
【问题描述】:

根据the instructions on the official site.,我在新的 Centos 5.10 VM 上安装了最新的 RabbitMQ 服务器 (rabbitmq-server-3.3.0-1.noarch.rpm)

我以前在开发过程中做过很多次,从来没有遇到过任何问题。但是,这次我无法使用默认的访客/访客用户登录管理 Web 界面。

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

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

这可能是什么原因造成的?

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    这是自 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.
    

    如果您想启用访客用户阅读this 或此RabbitMQ 3.3.1 can not login with 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 访问了。

    【讨论】:

    • 谢谢!这种变化绝对让我感到意外。 (抱歉迟到了。)
    • 除此答案外,经常检查防火墙规则以解决其他大多数身份验证和连接错误的浪费。
    • 感谢set_user_tags
    • 如果您按照说明创建新用户但仍然出现“登录失败”,那么您可能需要清除浏览器缓存(在 Firefox 中为“清除最近历史记录”)并确保清除“活动登录”也是如此。 See here for more info
    • 即使我整理了配置文件,我也无法让客人工作,但我猜我没有设置权限,因为一旦我设置了这个测试帐户,我就跑了
    【解决方案2】:

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

    1. 转到 RabbitMQ 命令提示符。

    2. 类型:

      rabbitmq-plugins enable rabbitmq_management
      

    【讨论】:

    • 在Windows 10上使用Chocolatety安装后出现这种情况。安装脚本说启用了管理插件,但实际上没有启用任何插件。
    • 对于像我这样的傻瓜: 1. 转到文件夹:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.3\sbin。 2.运行rabbitmq-plugins enable rabbitmq_management 3.进入服务,手动重启rabbitmq服务(或运行rabbmimq-service restart)
    • 帮我修好了(注意时间戳)。
    • 修复了它。 (你可能需要sudo
    • 在此答案下未使用给定说明启用全新安装 Web 界面。能够进入网络界面,但是访客用户登录仍然无法正常工作。遵循此线程 (stackoverflow.com/a/40845332/1132288) 下给出的说明,并能够使用“测试”用户登录。
    【解决方案3】:

    刚刚发生在我身上,让我有些头疼的事情:

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

    脚本有几个“代码”块:

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

    Gabriele's answer 中的非常相似,所以我采用他的代码,不需要编辑密码。

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

    ...但仍然无法登录,因为又过了 15 分钟,我才意识到一遍又一遍地调用 add_user 并不能修复损坏的密码(可能以 CR 字符结尾)。我不得不为每个用户调用 change_password 来修复我之前的错误:

    rabbitmqctl change_password test test
    

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

    【讨论】:

      【解决方案4】:

      如果在 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
      

      用于远程访问。

      【讨论】:

        【解决方案5】:

        如果您使用的是 Mac OS,则需要打开 /usr/local/etc/rabbitmq/rabbitmq-env.conf 和 设置NODE_IP_ADDRESS=,以前是127.0.0.1。然后添加另一个用户作为接受的答案建议。 之后重启rabbitMQ,brew services restart rabbitmq

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-17
          • 1970-01-01
          • 2014-06-23
          • 2022-11-11
          • 2022-11-10
          • 2019-11-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多