设置RabbitMQ远程ip登录

由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq。

这里我们以创建个test帐号,密码123456为例,创建一个账号并支持远程ip访问。

创建账号

rabbitmqctl add_user test 123456

设置用户角色

rabbitmqctl  set_user_tags  test  administrator

设置用户权限

rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"

设置完成后可以查看当前用户和角色(需要开启服务)

rabbitmqctl list_users

这是你就可以通过其他主机的访问RabbitMQ的Web管理界面了,访问方式,浏览器输入:serverip:15672。其中serverip是RabbitMQ-Server所在主机的ip。

RabbitMQ常用操作

1、用户管理

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
(1) 新增一个用户

rabbitmqctl  add_user  Username  Password

(2) 删除一个用户

rabbitmqctl  delete_user  Username

(3) 修改用户的密码

rabbitmqctl  change_password  Username  Newpassword

(4) 查看当前用户列表

rabbitmqctl  list_users

2、 用户角色

按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容。
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。

了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。

设置用户角色的命令为:

rabbitmqctl  set_user_tags  User  Tag

User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。

也可以给同一用户设置多个角色,例如

rabbitmqctl  set_user_tags  username  monitoring  policymaker

3、用户权限

用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。

例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在默认情况下,RabbitMQ只允许本地连接,如果需要远程访问RabbitMQ服务器,则需要进行一些配置。下面是设置RabbitMQ远程IP登录的步骤: 1. 修改RabbitMQ配置文件 打开RabbitMQ的配置文件`/etc/rabbitmq/rabbitmq.conf`,如果没有该文件则需要手动创建。 添加以下内容: ``` listeners.tcp.default = 5672 management.tcp.port = 15672 management.listener.ip = 0.0.0.0 ``` 其中`listeners.tcp.default`设置RabbitMQ默认的端口号为5672,`management.tcp.port`设置管理界面的端口号为15672,`management.listener.ip`设置监听的IP地址为0.0.0.0,表示可以监听任何IP地址。 2. 设置RabbitMQ用户 使用RabbitMQ自带的命令行工具`rabbitmqctl`添加一个用户,并赋予管理员权限。 ``` sudo rabbitmqctl add_user admin password sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" ``` 其中`admin`是用户名,`password`是密码,这里设置为`password`,可以根据实际情况进行修改。 3. 重启RabbitMQ服务 使用以下命令重启RabbitMQ服务: ``` sudo systemctl restart rabbitmq-server.service ``` 4. 测试远程连接 使用另一台计算机,在命令行中输入以下命令测试是否可以远程连接: ``` sudo apt-get install rabbitmq-server sudo rabbitmqctl add_user admin password sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" sudo rabbitmqctl status ``` 以上命令将安装RabbitMQ客户端,并添加一个用户名和密码。最后输入`sudo rabbitmqctl status`命令,查看RabbitMQ的状态信息,如果显示正常,则表示远程连接成功。 注意:如果使用的是阿里云等云服务器,还需要在云服务器的安全组中打开RabbitMQ默认端口号5672和管理界面端口号15672的入站规则,才能远程访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值