首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RabbitMQ - ACCESS_REFUSED -登录被拒绝

RabbitMQ - ACCESS_REFUSED -登录被拒绝
EN

Stack Overflow用户
提问于 2018-07-18 13:46:08
回答 2查看 17.1K关注 0票数 5

我使用rabbitmq-server并使用用Scala编写的使用者从中获取消息。这很有魅力,但是由于我将RabbitMQ服务器从一个服务器迁移到另一个服务器,所以在尝试连接到它时会出现以下错误:

代码语言:javascript
运行
复制
com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

此外,rabbitmq-server日志:

代码语言:javascript
运行
复制
=INFO REPORT==== 18-Jul-2018::15:28:05 ===
accepting AMQP connection <0.7107.0> (127.0.0.1:42632 -> 127.0.0.1:5672)

=ERROR REPORT==== 18-Jul-2018::15:28:05 ===
Error on AMQP connection <0.7107.0> (127.0.0.1:42632 -> 127.0.0.1:5672, state: starting):
PLAIN login refused: user 'my_personal_user' - invalid credentials

=INFO REPORT==== 18-Jul-2018::15:28:05 ===
closing AMQP connection <0.7107.0> (127.0.0.1:42632 -> 127.0.0.1:5672)

我检查了每一个有关身份验证问题的问题,并发现了以下线索:

  • 我的证件是错的
  • 我正在尝试从远程连接guest
  • 我的RabbitMQ版本与使用者不兼容

所有这些线索都帮不了我。我的crendetials很好,我不是使用guest连接,而是使用我创建的完全访问和管理的特权用户,并且我的RabbitMQ版本在迁移过程中没有改变。

注意:我将我的RabbitMQ服务器从一个单独的服务器迁移到了与我的使用者相同的服务器上,所以现在使用者正在从本地主机中获取。不知道后果,但我想这能帮你们帮我。

EN

回答 2

Stack Overflow用户

发布于 2019-01-04 03:30:17

因此,我有一个类似的问题谷歌解决方案,这是我如何找到这个网页。我没有找到我的问题的直接答案,但我最终发现,rabbitmq拥有两组不同的权限,它们并不完全重叠,在我的例子中,我对1组权限和另一组权限拥有0的权限。如果你遇到类似的情况,我很想知道。

查看代码将使这2组权限具有更多的自定义,但首先是一些背景上下文:

我的RMQ托管在Kubernetes上,其中的东西是短暂的,我需要一些用户名和密码来预先装载一个新的rabbitmq实例,在Kubernetes中,有一个选项可以在第一次启动时注入预配置的代理定义。(当我提到代理定义时,我指的是management中的那个点,可以选择导入和导出代理定义、AKA备份或替换您的RMQ实时配置。)

下面是我的配置的缩短版本,删除敏感内容:

{ "vhost":{“名称”:“/”},“策略”:{“名称”:"ha",“vhost”:"/",“模式”:".*",“定义”:{ "ha-mode":"all","ha-sync-mode":“自动”,“ha-sync-批处理大小”:2}、“用户”:{“名称”:“来宾”、“密码”:“来宾”、“标签”:“管理”}、{“名称”:"admin“、”密码“:”密码“、”标记“:”管理员“},“权限”:{“用户”:“来宾”,"vhost":"/",“配置”:"^$",“写”:"^$",“读”:"^$“},{”用户“:”管理“,"vhost":"/",”配置“:".*",“写”:".*",“读”:".*“}

好的,当我最初看到标记属性时,我假设为o任意值--我将在那里放置一个自文档标记,这相当于"",这导致我对web管理GUI/REST拥有0的权限,而下面我拥有所有的".*“,因此该部分具有完全的管理权限。这让我很困惑,因为(我收到了一条错误消息,说我提供了无效的凭据,但是凭据是正确的,我只是没有权限)。

如果不是这样,那么还有一个配置问题,在默认情况下,来宾只能访问本地主机,但您可以重写它。

票数 1
EN

Stack Overflow用户

发布于 2022-05-26 11:38:10

类似的问题,我们也面临着不同的技术栈。在我们的例子中,技术堆栈是:

  • 以HA模式使用Bitnami包部署在Kubernetes中的RabbitMQ
  • 在使用带有Spring框架的Java 8创建的微服务中使用Apache创建的消费者和生产者也运行在相同的Kubernetes集群中

我们核实了以下几点:

  • 用户和密码是正确的
  • 与所需VHOST关联的用户
  • 授予所需权限(管理员标记)
  • 用户能够从RabbitMQ网络控制台登录
  • 主机和端口上的连接从微服务Pod到RabbitMQ服务(使用telnet等各种工具进行检查)。
  • 所有代码和配置都是完全相同的(因为低环境中的配置是正确工作的)

有问题:

代码语言:javascript
运行
复制
com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

经过大量的调查和故障排除,我们发现用户名的大小超过了使用者API所支持的范围。例如,我们使用用户名“productionappuser”。此用户能够登录管理web控制台,但无法从微服务中登录。我们只是将用户名更改为一个8个字符的新用户,它就开始工作了。

这看起来非常奇怪,因为同一个用户能够登录,从而共享发现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51403673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档