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中全部資源的配置、寫、讀權限以便管理其中的資源測試