RabbitMQ是一個開源的消息隊列中間件,基于Erlang開發,遵循AMQP(Advanced Message Queuing Protocol,高級消息隊列協議)標準,主要用于實現異步通信、消息解耦和系統間數據傳輸。
它的核心作用是在分布式系統中充當“消息中轉站”,生產者將消息發送到隊列中,消費者從隊列中獲取消息。這樣,生產者與消費者之間無需直接通信,既提高了系統的可伸縮性,也增強了容錯能力。
以下教程將帶大家在Linux(Ubuntu為例)上快速部署RabbitMQ,并利用貝銳花生殼內網穿透實現AMQP通信端口、Web管理界面的遠程訪問,用于滿足項目開發、調試,甚至是生產環境使用。
一、Ubuntu部署RabbitMQ并開啟Web管理插件
1-1.安裝必要依賴
sudo apt install curl gnupg apt-transport-https -y
1-2.更新軟件包并安裝RabbitMQ
sudo apt update
sudo apt install rabbitmq-server -y
1-3.啟動RabbitMQ并設置開機自動運行
sudo service rabbitmq-server start
sudo service rabbitmq-server enable
1-4.開啟RabbitMQ Web管理插件
sudo rabbitmq-plugins enable rabbitmq_management
RabbitMQ Web管理界面默認訪問地址和端口為:localhost:15672
默認賬號密碼為:guest/guest
此外,部署完成后,可以通過以下方式測試AMQP 5672通信端口是否可以正常訪問,返回Connection to localhost 5672 port [tcp/amqp] succeeded!表示成功。
二、使用貝銳花生殼內網穿透實現RabbitMQ Web管理界面&AMQP通訊端口遠程訪問
2-1.在RabbitMQ服務器中下載、安裝貝銳花生殼Linux客戶端
可以通過web瀏覽器訪問貝銳花生殼官網下載客戶端,并上傳RabbitMQ服務器,也可以使用以下命令直接下載:
curl -L "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb" -o phddns_5.3.0_amd64.deb
之后使用dpkg命令一鍵安裝,隨后啟動貝銳花生殼客戶端:
sudo dpkg -i phddns_5.3.0_amd64.deb
sudo phddns start
需要記錄以下界面中的貝銳花生殼SN碼,將用于后續綁定貝銳花生殼賬號:
2-2.貝銳賬號綁定貝銳花生殼Linux客戶端
在貝銳官網注冊賬號,隨后登錄并進入貝銳花生殼管理平臺的設備列表頁面:console.hsk.oray.com/zh/device,隨后點擊添加設備,輸入上述貝銳花生殼SN碼,綁定貝銳花生殼Linux客戶端,并登錄賬號。
2-3.添加內網穿透映射實現固定域名地址遠程訪問
完成綁定后,進入貝銳花生殼管理平臺的內網穿透頁面,點擊添加映射。
RabbitMQ Web管理界面,可參考下圖選擇網站應用、HTTPS映射(支持一鍵映射,無需本地部署證書),內網主機填寫本機IP,內網端口填寫15672,提交即可生成固定域名訪問地址。
遠程訪問效果實測:
實現RabbitMQ AMQP 5672通信端口可再添加一條映射,可參考下圖選擇常規應用,內網主機填寫本機局域網IP,內網端口填寫15672,提交即可。
遠程訪問效果實測:
值得一提的是,貝銳花生殼內網穿透還提供了一整套細化的訪問控制策略,可以保障RabbitMQ遠程訪問安全。
比如:訪問口令驗證,限制外部訪問必須輸入密碼;訪問來源限制,僅允許指定IP、設備、瀏覽器連接。同時,貝銳花生殼還有爆破防護功能,能夠自動識別并攔截那些可能對映射服務構成威脅的高頻訪問請求。