导读 | 刚刚安装过的rabbitmq 消息队列,并启用了插件管理功能,3.3.1版中,处于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,其他的IP无法直接使用这个账号。 这对于服务器上没有安装桌面的情况是无法管理维护的,除非通过在前面添加一层代理向外提供服务,这个又有些麻烦了,这里通过配置文件来实现这个功能。 |
只要编辑 /etc/rabbitmq/rabbitmq.config 文件,添加以下配置就可以了。
[ {rabbit, [{tcp_listeners, [5672]}, {loopback_users, [“asdf”]}]} ].
现在添加了一个新授权用户asdf,可以通过外网使用这个用户名和密码访问.(记得要先用命令添加这个命令才行, #rabbitmqctl add_user asdf pwd123456)我是通过在管理平台里直接添加的用户和密码的,我的测试环境装有桌面的。
# rabbitmqctl add_user asdf pwd123456 # rabbitmqctl list_users Listing users ... asdf guest [administrator] # rabbitmqctl set_permissions -p "/" asdf ".*" ".*" ".*" # rabbitmqctl list_permissions -p / Listing permissions in vhost "/" ... asdf .* .* .* guest .* .* .*
可以看到添加用户成功了,但不是administrator角色,这里我们也将asdf用户设置为administrator角色.
# rabbitmqctl set_user_tags asdf administrator Setting tags for user "asdf" to [administrator] .. # rabbitmqctl list_users Listing users ... asdf [administrator] guest [administrator]
我用rpm包安装的rabbitmq,所以提供默认的配置参考文件(/usr/share/doc/rabbitmq-server-3.5.0/rabbitmq.config.example),如果你使用源码编译的话,可以找到一个默认的配置文件rabbitmq.config.example,点击这里下载此文件rabbitmq.config
$sudo rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*' '.*'
该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/126401.html