博客
关于我
rabbitmq guestguest用户不能远程登录
阅读量:794 次
发布时间:2023-03-01

本文共 1413 字,大约阅读时间需要 4 分钟。

RabbitMQ 远程登录管理端口 15672 过程中出现 "User can only log in via localhost" 错误

近期在使用 RabbitMQ 远程登录管理界面时,遇到了一道令人困扰的错误提示:"User can only log in via localhost"。经过一番调研和排查,最终找到了问题的根本原因以及相应的解决方案。

错误信息分析

该错误提示表明,RabbitMQ 从版本 3.3.0 开始,限制了通过默认的 guest/guest 用户账号(即默认的 guest 用户)在非本地主机(localhost)上的访问权限。这种安全限制是为了防止未经授权的远程访问,提升 RabbitMQ 的安全性。

问题原因

由于 RabbitMQ 对默认用户的访问权限作出了严格限制,除非用户已通过配置设置进行特殊处理,否则只能通过本地主机(localhost)进行登录。如果尝试通过其他方式或设备(如外部服务器、虚拟机等)远程登录 RabbitMQ 服务,系统将拒绝登录请求,提示 "User can only log in via localhost"。

解决方法

针对上述问题,有两种主要的解决方案:

方法一:创建除 guest 外的用户账号

  • 创建新用户账号:可以通过 RabbitMQ 管理界面或命令行工具(如 rabbitmqctl)创建一个新的用户账号。
  • 赋予新用户管理员权限:确保新用户拥有足够的权限来访问目标虚拟主机或管理整个 RabbitMQ 服务。
  • 方法二:取消默认用户的访问限制

    如果不想创建新的用户账号,可以通过修改 RabbitMQ 的配置文件来取消默认用户的非本地访问限制。

    配置文件修改步骤

    在不同版本的 RabbitMQ 中,配置文件的位置和结构可能有所不同。以下是针对 RabbitMQ 3.8.5 在 Windows 环境下的具体操作:

  • 确定配置文件路径

    RabbitMQ 的配置文件路径通常位于:

    C:\Users\Administrator\AppData\Roaming\RabbitMQ\abbitmq.config
  • 修改配置文件内容

    在配置文件中,找到对应的节区并进行修改。根据不同版本的 RabbitMQ,可能需要修改以下内容:

    [{rabbit, [{loopback_users, []}]}]

    这一行代码用于指定允许通过非本地主机登录的用户。将 [] 修改为 ["guest"] 即可允许默认用户通过非本地主机访问。

  • 重启 RabbitMQ 服务

    修改完配置文件后,需要重启 RabbitMQ 服务以生效新的设置。

  • 实际操作验证

    经过上述配置修改后,确保 RabbitMQ 服务已重新启动。可以通过以下方式验证:

  • 使用默认用户 guest 和密码 guest,尝试通过外部设备或虚拟机登录 RabbitMQ 服务。
  • 如果登录成功,说明配置修改成功;如果仍然出现错误,需重新检查配置文件或考虑其他解决方案。
  • 结论

    通过上述方法,可以有效解决 "User can only log in via localhost" 的问题。无论是通过创建新用户还是取消默认用户的访问限制,都能实现对 RabbitMQ 远程登录的正常化。在实际操作中,根据 RabbitMQ 的具体版本和部署环境,可能还需要参考更多官方文档或社区资源,以确保配置修改的正确性。

    转载地址:http://sptfk.baihongyu.com/

    你可能感兴趣的文章
    php 处理 大并发
    查看>>
    php 大文件上传
    查看>>
    php 子进程监听消息,swoole学习笔记之多线程端口监听问题记录 多进程epoll模式...
    查看>>
    PHP 学习笔记 (四)
    查看>>
    Redis入门概述
    查看>>
    php 实现Iterator 接口
    查看>>
    PHP 实现N阶矩阵相乘
    查看>>
    PHP 实现页面跳转的三种方式及详细解析
    查看>>
    php 将XML对象转化为数组
    查看>>
    PHP 工具
    查看>>
    php 常用方法
    查看>>
    PHP 并发扣款,保证数据一致性(悲观锁和乐观锁)
    查看>>
    php 延迟静态绑定static关键字
    查看>>
    php 引用 -
    查看>>
    Redis入门
    查看>>
    PHP 截取字符串乱码的解决方案
    查看>>
    php 接口类与抽象类的实际作用
    查看>>
    PHP 插入排序 -- 折半查找
    查看>>
    PHP 支持8种基本的数据类型
    查看>>
    php 放大镜,放大镜放大图片效果
    查看>>