什么是 ngrok?
ngrok 是一个反向代理,通过在公共端点和本地运行的网络服务之间建立安全隧道。它捕获并分析所有流量,以便稍后进行检查和重放。简而言之,ngrok 允许你将本地开发服务器(如 localhost:8080)暴露给互联网,而无需拥有公网 IP 或配置复杂的路由器端口转发。
对于现代 Web 开发人员而言,ngrok 解决了调试 Webhook、演示移动应用后端以及测试外部 API 回调的痛点。你只需运行一行命令,ngrok 就会为你生成一个唯一的、支持 HTTPS 的公网 URL,直接指向你的本地机器。
其核心原理在于 ngrok 客户端会在本地建立一个与 ngrok 云端服务的长连接。当公网用户访问 ngrok 分配的域名时,云端服务会将流量通过这条隧道转发到本地客户端,再由客户端交给本地应用。这种设计巧妙地绕过了防火墙和 NAT 限制。
除了基础的隧道功能,ngrok 还提供了强大的 Web 检查界面。你可以实时观察到每一个 HTTP 请求的细节,包括请求头、参数、响应体等,甚至可以一键“重放”请求,这对于后端接口调试来说是革命性的效率提升。
核心特点
极速部署
无需注册或复杂配置,下载解压即可运行,几秒钟内完成上线。
自动 HTTPS
所有隧道默认支持 SSL/TLS 加密,确保数据传输过程中的安全性。
多协议支持
不仅支持 HTTP/HTTPS,还支持 TCP 隧道,可用于 SSH、数据库映射等。
安装要求
- ✔ Windows: Windows 7 及以上版本(支持 32/64 位)。
- ✔ macOS: macOS 10.10 及以上,支持 Intel 及 Apple Silicon (M1/M2)。
- ✔ Linux: 支持主流发行版(Ubuntu, CentOS, Debian),支持 ARM 架构。
- ✔ FreeBSD: 10.x 及以上。
费用说明
ngrok 提供 **免费版** 供个人开发者使用,包含基本功能和随机子域名。如果您需要固定域名、更高的并发连接数或 IP 白名单等高级安全特性,可以选择其付费方案。