1. 程式人生 > >rabbitmq 新增遠端訪問功能

rabbitmq 新增遠端訪問功能

剛剛安裝過的rabbitmq 訊息佇列,並啟用了外掛管理功能,3.3.1版中,處於安全的考慮,guest這個預設的使用者只能通過http://localhost:15672 來登入,其他的IP無法直接使用這個賬號。這對於伺服器上沒有安裝桌面的情況是無法管理維護的,除非通過在前面新增一層代理向外提供服務,這個又有些麻煩了,這裡通過配置檔案來實現這個功能。

只要編輯 /etc/rabbitmq/rabbitmq.config 檔案,新增以下配置就可以了。

[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["asdf"]}]}
].

現在添加了一個新授權使用者asdf,可以通過外網使用這個使用者名稱和密碼訪問.(記得要先用命令新增這個命令才行, #rabbitmqctl  add_userasdf

 pwd123456)我是通過在管理平臺裡直接新增的使用者和密碼的,我的測試環境裝有桌面的。
參考文件:http://www.rabbitmq.com/access-control.html

1 # rabbitmqctl add_user asdf pwd123456
1 2 3 4 # rabbitmqctl list_users Listing users ... asdf guest   [administrator]

Setting permissions for user "asdf" in vhost "/" ...

1 # rabbitmqctl set_permissions -p "/" asdf ".*" ".*" ".*"
1 2 3 4 # rabbitmqctl list_permissions -p / Listing permissions in vhost "/" ... asdf .* .* .* guest .* .* .*

可以看到新增使用者成功了,但不是administrator角色,這裡我們也將asdf使用者設定為administrator角色.

1 2 3 4 5 6 7 # 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

1 $sudo rabbitmqctl set_permissions -p /vhost1 user_admin '.*' '.*' '.*'

該命令使使用者user_admin具有/vhost1這個virtual host中所有資源的配置、寫、讀許可權以便管理其中的資源