具有有效凭据的非来宾用户拒绝访问 RabbitMQ Web 管理控制台

RabbitMQ Web Management Console Access Denied for Non-guest User with Valid Credentials

我已经在 CentOS 7 安装上完成了 RabbitMQ 的安装(我第一次处理它) 并尝试登录 Web 管理控制台但无济于事。

我创建了一个管理员用户并为该用户设置了管理员标签 因为似乎非常不鼓励使用来宾用户 用于远程登录Web管理控制台。

我知道凭据是正确的,但登录页面一直告诉我 "Login Failed" 而日志显示:

2020-02-19 09:56:27.069 [warning] <0.622.0> HTTP access denied: user 'rbt_admn' - invalid credentials

谷歌搜索似乎只为面临类似问题但主要尝试使用访客登录或遇到不兼容问题的人提供结果,但我确定 none 这些问题对我来说是问题。

经过一夜无眠的排查,终于解决了。所以我将 post 我的解决方案放在下面,以防将来对某人有用。

我遇到了这个命令 rabbitmqctl authenticate_user.

所以我用用户账号试了一下:

rabbitmqctl authenticate_user rbt_admn

输入正确的密码只是为了报告

Error: failed to authenticate user "rbt_admn"

为了确定,我又试了几次,然后我想到了。 我的密码有美元符号。就像(但不是)"P4$$w0rd" 所以我删除了用户

rabbitmqctl delete_user rbt_admn

用不同的密码重新创建了用户,幸运的是成功了。

我不确定为什么会这样,但我认为美元符号导致 bash (也许?我不精通 shell 脚本) 喂食并让 rabbitmqctl 存储与我预期的密码不同的东西。

如果有人可以解释为什么会发生这种情况,我们非常欢迎他们这样做。