開啟rabbitmq遠端ip訪問 (新手必看)

2021-10-03 13:02:15 字數 2725 閱讀 3610

我用docker建立的mq,發下沒有配置檔案,我也沒去設定預設的配置mq配置檔案。

重點來了:當使用 ip+15672 訪問的時候,linux肯定是登入不了。提示只能本地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。

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"部分。

rabbitmqctl  set_permissions  -p  vhostpath  user  confp  writep  readp
(2) 檢視(指定hostpath)所有使用者的許可權資訊

rabbitmqctl  list_permissions  [-p  vhostpath]
(3) 檢視指定使用者的許可權資訊

rabbitmqctl  list_user_permissions  user
(4) 清除使用者的許可權資訊

rabbitmqctl  clear_permissions  [-p vhostpath]  user

設定RabbitMQ遠端ip登入

由於賬號guest具有所有的操作許可權,並且又是預設賬號,出於安全因素的考慮,guest使用者只能通過localhost登陸使用,並建議修改guest使用者的密碼以及新建其他賬號管理使用rabbitmq。這裡我們以建立個test帳號,密碼123456為例,建立乙個賬號並支援遠端ip訪問。建立賬號 r...

mysql開啟遠端訪問許可權,便於遠端工具訪問

mysql h localhost u root p 你的密碼 1.切換到mysql庫 use mysql 2.查詢mysql現在資料 3.給新增許可權使用者設定的密碼,代表所有主機,可設定主機ip位址,由於我們用工具訪問,設定 grant all privileges on to root ide...

Linux裡Rabbitmq開啟遠端訪問

由於賬號guest具有所有的操作許可權,並且又是預設賬號,出於安全因素的考慮,guest使用者只能通過localhost登陸使用,並建議修改guest使用者的密碼以及新建其他賬號管理使用rabbitmq。這裡我們以建立個test帳號,密碼123456為例,建立乙個賬號並支援遠端ip訪問。rabbit...