什么是内网穿透?
内网穿透是指通过特定的网络技术或工具,突破内网的防火墙和路由器,允许外部设备访问内网的服务。常见的应用场景包括:
远程控制内网设备:开发者需要在外部访问处于内网中的服务器。
网站和API的暴露:开发中的Web应用、数据库等需要暴露给外部进行测试。
IoT设备接入:物联网设备通过内网穿透与外部服务通信。
内网穿透工具通过“隧道”或“代理”方式实现外部设备和内网设备之间的直接连接,而无需修改路由器或防火墙配置。
Ngrok
Ngrok 是一个广受欢迎的内网穿透工具,通过简单的命令启动即可为本地服务生成一个公网可访问的地址。Ngrok 不仅支持 HTTP 和 TCP 协议的转发,还具有易于使用的 Web 控制台。
https://ngrok.com/
https://github.com/inconshreveable/ngrok
特点
Web 控制台:Ngrok 提供了一个方便的 Web 界面,用户可以实时查看和管理端口转发的状态。
支持多种协议:不仅支持 HTTP、HTTPS 和 TCP,还支持自定义协议和自定义域名。
隧道加密:Ngrok 支持 HTTPS 隧道,加密保护传输数据的安全性。
API 支持:Ngrok 提供了 REST API 供开发者实现自动化集成。
使用场景
开发阶段暴露本地 Web 应用:非常适合开发者在本地调试时暴露服务进行测试。
远程访问内网设备:可以快速为内网中的设备或服务提供外网访问通道。
优缺点
优点:易于使用、开箱即用、支持自定义域名。
缺点:免费版有使用时间限制和功能限制,可能不适合长期使用。
安装与配置
注册 Ngrok 账号。
下载并安装 Ngrok 客户端。
使用命令行启动服务:ngrok http 80(假设本地服务运行在端口 80)。
https://download.ngrok.com/windows