RabbitMQ - 用户'guest'拒绝访问虚拟主机'XXX'
Posted
技术标签:
【中文标题】RabbitMQ - 用户\'guest\'拒绝访问虚拟主机\'XXX\'【英文标题】:RabbitMQ - access to vhost 'XXX' refused for user 'guest'RabbitMQ - 用户'guest'拒绝访问虚拟主机'XXX' 【发布时间】:2018-12-14 03:44:00 【问题描述】:我使用的是 RabbitMQ 3.0.3 版本。该服务在过去 4-5 年中运行良好。最近在服务器上安装了一些更新补丁,服务停止响应。这就是正在发生的事情:
-
RabbitMQ 服务(Windows 服务)正在运行但没有响应。
在日志文件中我看到错误
access to vhost 'XXX' refused for user 'guest'
管理控制台抛出站点无法访问错误
我在这里有什么选择?由于我的代码开始失败,我无法更新 RabbitMQ 版本。我没有尝试重新安装服务。
我正在使用 RabbitMQ 3.0.3 - 我如何请求 guest
帐户即使从远程机器也可以访问。 rabbitmq.conf
文件仅在3.7.0版本后出现
【问题讨论】:
你知道你是否依赖 RabbitMQ 来存储你的队列和消费者配置吗?或者应用程序可以在空白 MQ 中重新创建它吗?该错误表明访客帐户不允许进入您的色情虚拟主机,或者它可能不存在。 我以前在虚拟主机不存在时得到了这个。 听起来您的 vhost 要么不存在,要么用户 guest 无权访问它。通常来宾仅由 RMQ 限制为 localhost。使用真实的用户帐户。 @Davesoft:应用程序创建队列。就像我说的那样,这个设置已经工作了很长时间并且没有被触及。该问题出现在两台机器上。即使访客帐户在这台机器上被阻止或被删除,管理控制台也应该继续工作。如何重新创建用户帐户? @KevinSmith 如何创建 Vhost?您是如何解决这个问题的? 【参考方案1】:我并不是说这是正确的答案,但这是我为解决此问题所做的。
令人困惑的部分: RabbitMQ 说Guest
帐户不允许从远程机器访问 RabbitMQ。我正在使用 RabbitMQ 3.0.3,我可以使用 Guest
帐户从远程机器访问 RabbitMQ。我不确定他们是否在更高版本中进行了此更改。
我应用的修复:
-
已打开 RabbitMQ 管理控制台。
点击虚拟主机
创建了虚拟主机(命名并单击添加虚拟主机按钮)。
The name of Virtual host was same as the one I saw in error message "access to vhost 'XXX' refused for user 'guest'"
将该虚拟主机的权限授予访客帐户。
【讨论】:
这是正确的。在未来的版本中,guest
仅限于 localhost
-only 连接。请参阅 RabbitMQ 文档中的 loopback_users
设置。以上是关于RabbitMQ - 用户'guest'拒绝访问虚拟主机'XXX'的主要内容,如果未能解决你的问题,请参考以下文章
无法连接到 amqp://guest:**@127.0.0.1:5672//: [Errno 111] 连接被拒绝