Ngrok 简介
Ngrok 是一个在线工具,通过创建一个隧道,将本地服务器的端口转发到一个唯一的 URL 上,这样,其他用户可以通过这个 URL 访问你的本地服务器,而不需要知道你的内网 IP 或者端口号。
为什么需要 Ngrok?
- 内部服务器访问:如果你的服务器位于内部网络(如公司内网),并且你需要让外部用户访问你的服务,Ngrok 可以解决这个问题。
- 快速测试:如果你正在开发一个需要访问外部服务的应用程序,Ngrok 可以让你在本地测试而不需要将服务器公开到互联网。
- 安全性:Ngrok 提供 HTTPS隧道,数据传输是加密的,安全性较高。
如何使用 Ngrok
-
下载 Ngrok 客户端:
- 如果你使用的是 Windows 系统,可以从 Ngrok 官方网站 下载 Ngrok 的 Windows 客户端。
- 如果你使用的是 macOS 或 Linux,可以在终端中使用 Ngrok 的命令行客户端。
-
安装 Ngrok:
- 双击下载的 Ngrok 文件,按照提示完成安装。
- 在 macOS 或 Linux 上,你可以通过命令行安装 Ngrok,使用以下命令:
curl -o- https://ngrok.com/setup.sh | sh
-
运行 Ngrok:
- 在终端或命令提示符中,运行以下命令:
ngrok [连接选项] 本地端口
ngrok http 808
这将创建一个隧道,外部用户可以通过
https://<your-ngrok-url>访问你的本地服务器。
- 在终端或命令提示符中,运行以下命令:
-
获取访问 URL:
- Ngrok 会输出一个唯一的 URL,
https://abc123.ngrok.io。 - 其他用户可以通过这个 URL 访问你的本地服务器。
- Ngrok 会输出一个唯一的 URL,
-
停止 Ngrok:
- 按下
Ctrl + C或CMD + C可以停止当前的 Ngrok 会话。
- 按下
Ngrok 的工作原理
- Ngrok 创建一个隧道,将你的本地端口 (如 808) 转发到 Ngrok 的服务器。
- 当有用户访问 Ngrok 生成的 URL 时,数据会经过 Ngrok 的服务器,转发到你的本地服务器。
Ngrok 的限制
- 免费版:Ngrok 提供免费的公共 Ngrok URL,但会有延迟,并且可能有其他用户一起使用。
- 付费版:如果你需要更高的性能、更少的延迟或更多的私人隧道,可以选择付费版。
安全注意事项
- 数据加密:Ngrok 使用 HTTPS,数据传输是加密的。
- 防火墙规则:确保你的本地服务器允许外部访问指定的端口。
- 内部访问:如果你的服务器在内网,确保 Ngrok 的本地端口可以通过防火墙访问。
替代方案
- 内部反向代理:如果你有自己的反向代理或负载均衡设备,可以配置它来将外部请求转发到内部服务器。
- 自有解决方案:如果你需要更高级的功能,可以使用 PageKitchen 或 Pronto 等工具。
Ngrok 是一个强大的工具,适合快速、轻松地将内部服务器公开到互联网上,它特别适合开发、测试和演示用途,能够节省你大量的时间。




