rabbitmq 消息队列,处于安全的考虑,guest这个默认的用户只能经过http://localhost:15672 来登陆,其余的IP没法直接使用这个帐号。 这对于服务器上没有安装桌面的状况是没法管理维护的,除非经过在前面添加一层代理向外提供服务,这个又有些麻烦了,这里经过配置文件来实现这个功能。html
只要编辑 /etc/rabbitmq/rabbitmq.config 文件,添加如下配置就能够了。安全
[ {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["asdf"]}]} ].
如今添加了一个新受权用户asdf,能够经过外网使用这个用户名和密码访问.(记得要先用命令添加这个命令才行, #rabbitmqctl add_user asdf pwd123456)我是经过在管理平台里直接添加的用户和密码的,个人测试环境装有桌面的。
参考文档:http://www.rabbitmq.com/acces...服务器
# rabbitmqctl add_user asdf pwd123456
# rabbitmqctl list_users Listing users ... asdf guest [administrator] Setting permissions for user "asdf" in vhost "/" ...
# rabbitmqctl set_permissions -p "/" asdf ".*" ".*" ".*"
# rabbitmqctl list_permissions -p / Listing permissions in vhost "/" ... asdf .* .* .* guest .* .* .*
能够看到添加用户成功了,但不是administrator角色,这里咱们也将asdf用户设置为administrator角色.tcp
# 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.exampleoop
$sudo rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*' '.*'
该命令使用户user_admin具备/vhost1这个virtual host中全部资源的配置、写、读权限以便管理其中的资源测试