RabbitMQ管理界面登陆时一直弹窗
问题描述:
今天登录RabbitMQ的时候管理界面的时候,发现输入账号密码后登陆界面会一直弹窗,如下图:
我之前能登录的,但是这次登录不了。
解决方法:
有可能是账号密码不对,可能是我弄什么东西的时候把RabbitMQ重置了一下,原来创建的账号密码不见了
在默认情况下,RabbitMQ的guest用户只能从本地主机进行登录。这是出于安全考虑的设计决策,旨在防止未经授权的远程访问。
如果尝试从远程主机使用guest用户进行登录,将会收到拒绝访问的错误。这是因为guest用户的权限受到限制,只能在本地主机上进行登录和操作。
如果上线并使用默认的管理员权限,攻击者可能会扫描你服务器的端口,并不断尝试用 guest 账号登录。一旦找到一个开放的端口并用 guest 登录,攻击者就可以入侵你的服务器,然后在消息队列中不断添加消息,填满你的服务器硬盘。因此,为了安全,系统默认关闭了 guest 账号的远程访问权限,这也是官方出于安全考虑的措施。
重新建一个账号,依次执行下面命令:
rabbitmqctl add_user pidanxia abc123
这行代码使用
rabbitmqctl
命令添加一个名为”pidanxia”的用户,并设置密码为”abc123″。这将创建一个新的用户,可以用来登录和访问RabbitMQ。
rabbitmqctl set_permissions -p / pidanxia ".*" ".*" ".*"
这行代码使用
rabbitmqctl
命令为用户”root”设置权限。在这个命令中,-p /
指定了虚拟主机为根虚拟主机(默认虚拟主机),root
是要设置权限的用户名。正则表达式".*"
表示允许用户具有对所有队列、交换器和绑定的配置、写和读的权限。这样,用户”pidanxia”将具有对RabbitMQ中所有资源的完全访问权限。
rabbitmqctl set_user_tags pidanxia administrator
这行代码使用
rabbitmqctl
命令为用户”root”设置标签。在RabbitMQ中,”administrator”标签赋予用户管理权限。通过将管理员标签分配给用户”pidanxia”,该用户将能够执行管理任务,如创建和删除队列、交换器等。
执行完这些命令后,就可以用这个新建的账号密码登录啦~如果还是一直弹窗的话,清理一下浏览器缓存再重新试一下~