RabbitMQ+内网穿透远程访问教程:实现异地AMQP通信+Web管理
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、设备、浏览器连接。同时,贝锐花生壳还有爆破防护功能,能够自动识别并拦截那些可能对映射服务构成威胁的高频访问请求。