RabbitMQ登录提示User can only log in via localhost的解决方案(添加新的RabbitMQ帐号)(转载)

RabbitMQ默认只有一个guest帐号,guest帐号只能在RabbitMQ安装服务器上登录,在其它服务器用guest登录提示User can only log in via localhost。

这个情况的最佳解决办法是添加一个新的帐号

进入RabbitMQ安装目录 D:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin

#第一步:添加 admin 用户并设置密码
rabbitmqctl add_user admin 123456
#第二步:添加 admin 用户为administrator角色
rabbitmqctl set_user_tags admin administrator
#第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#第四步:查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
#第五步:查看用户列表
rabbitmqctl list_users
#第六步:配置允许远程访问的用户,rabbitmq的guest用户默认不允许远程主机访问。
在windows 下的 rabbitmq安装文件下的etc文件下的配置文件添加以下

[
    {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["账户名"]}]}
].

转自:https://www.cnblogs.com/yyee/p/14291300.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据您提供的错误信息 "User can only log in via localhost",这是由于 RabbitMQ 默认配置限制了 "guest" 用户只能通过本地主机进行登录。 要解决这个问题,您可以尝试以下两种方法之一: 1. 使用 "guest" 用户进行本地主机登录:在连接 RabbitMQ 时,将主机设置为 "localhost",并使用 "guest" 用户名和密码进行登录。例如,在 Python 中使用 pika 库连接 RabbitMQ 的示例代码如下: ```python import pika credentials = pika.PlainCredentials('guest', 'guest') parameters = pika.ConnectionParameters('localhost', credentials=credentials) connection = pika.BlockingConnection(parameters) channel = connection.channel() # 进行后续操作... connection.close() ``` 2. 创建的用户并授予适当的权限:如果您不想使用 "guest" 用户进行登录,可以在 RabbitMQ 的管理界面中创建一个的用户,并为该用户分配适当的权限。然后,您可以使用创建的用户进行连接。以下是在 RabbitMQ 管理界面中创建用户的简要步骤: - 登录 RabbitMQ 管理界面。 - 在 "Admin" 选项卡中,找到 "Add a user" 部分,填写用户名和密码,并点击 "Add user" 按钮。 - 在 "Permissions" 部分,选择适当的虚拟主机(vhost)和权限,并点击 "Set permission" 按钮。 - 然后,您可以使用创建的用户进行连接。 请注意,为了安全起见,建议不要在生产环境中使用 "guest" 用户进行连接。应该创建一个具有适当权限的专用用户,并使用该用户进行连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值