当前位置: 首页 > news >正文

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、设备、浏览器连接。同时,贝锐花生壳还有爆破防护功能,能够自动识别并拦截那些可能对映射服务构成威胁的高频访问请求。

http://www.lryc.cn/news/602008.html

相关文章:

  • MongoDB索引及其原理
  • Java#包管理器来时的路
  • k8s的权限
  • Windows|CUDA和cuDNN下载和安装,默认安装在C盘和不安装在C盘的两种方法
  • C++ 中实现 `Task::WhenAll` 和 `Task::WhenAny` 的两种方案
  • Android启动时间优化大全
  • i节点学习
  • JavaScript核心概念全解析
  • Flutter中 Provider 的基础用法超详细讲解(二)之ChangeNotifierProvider
  • Vim 编辑器工作模式及操作指南
  • Spring AI 项目实战(二十一):Spring Boot + AI +DeepSeek驱动的智能题库系统(附完整源码)
  • zabbix-agent静默安装
  • @RefreshScope 核心原理深度解析:Spring Boot 的动态魔法
  • 抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-138节(MySQL的综合案例)
  • 【程序员私房菜】python洋葱炒王中王火腿肠
  • 数据结构基础内容(第二篇:线性结构)
  • 【LeetCode刷题指南】--设计循环队列
  • 自由学习记录(74)
  • 【LeetCode 热题 100】51. N 皇后——回溯
  • c语言结构体字节对齐
  • EPOLLONESHOT 深度解析:Linux epoll 的单次触发机制
  • LeetCode 1577.数的平方等于两数乘积的方法数
  • 详解力扣高频SQL50题之180. 连续出现的数字【困难】
  • Spring MVC设计精粹:源码级架构解析与实践指南
  • 网络基础19:OSPF多区域实验
  • 俄罗斯方块游戏开发(面向对象编程)
  • Python-初学openCV——图像预处理(四)——滤波器
  • Redis6.0+安装教程(Linux)
  • vscode找不到python解释器的解决方案