[点晴永久免费OA]一文搞懂内网穿透原理——ngrok & 花生壳
|
admin
2026年4月29日 15:23
本文热度 38
|
内网穿透技术详解
P2P 打洞主要适用于客户端之间直接传输数据的场景,例如 QQ 文件传输。我将在另一篇文章中详细介绍 P2P 打洞技术。本文重点介绍基于中继的穿透方案,这是目前最稳定、最易用的方式。实际开发中,我们经常会遇到以下场景:服务或应用部署在公司内网、家庭宽带,或没有公网 IP 的云服务器上,但希望外部用户能够访问。这些场景就必须采用基于中继的穿透方案。内网穿透解决方案
1. 中继穿透技术
核心原理:基于中继的穿透本质上是一种反向代理 + 持久隧道的技术。其核心思想是:由内网主动向公网中继服务器建立并维持一条长连接(Outbound Connection),将内网服务“映射”到公网。当客户端请求到达公网中继服务器后,服务器通过这条长连接将数据转发到内网,内网处理完后再将响应通过长连接返回给中继服务器,最终返回给外部客户端。2. 以 ngrok 为例:反向代理隧道原理
用户在内网通过命令启动客户端:ngrok http 8080- ngrok 客户端与 ngrok 云端服务器建立一条长连接(通常基于 TLS 加密的 WebSocket 或自定义协议)。
- 云端为该连接分配一个临时公网域名(如 xyz.ngrok-free.app)。
- 服务器通过已建立的长连接将 HTTP 请求转发给内网的 ngrok 客户端;
- ngrok 客户端将请求代理到本地 127.0.0.1:8080;
关键特点:连接由内网主动发起,完美绕过 NAT 和防火墙的入站连接限制。对外部用户完全透明,就像服务原本就部署在公网一样。
工具对比
阅读原文:https://mp.weixin.qq.com/s/ojhASP0O4StfO8uI1KTwMA
该文章在 2026/4/29 15:24:04 编辑过