ngrok 是一款非常流行的内网穿透工具,可以让你本地的 Web 服务(如 n8n、网站、API 等)快速暴露到公网,方便外部访问和调试。本文将详细介绍 ngrok 的原理、注册、配置、使用步骤及常见问题。
一、ngrok 原理简介
ngrok 通过在本地和云端服务器之间建立安全隧道,将本地端口映射到一个公网地址。外部用户访问该公网地址时,流量会自动转发到你本地服务,实现"内网穿透"。
典型应用场景:
- 本地开发调试 Webhook、API 回调
- 远程演示本地项目
- 临时让外部用户访问本地服务
二、注册与下载
- 访问 ngrok 官网,注册一个免费账号。
- 登录后,在 Dashboard 获取你的 Authtoken(认证令牌)。
- 下载适合你操作系统的 ngrok 客户端(Windows 用户下载 zip 包并解压)。
三、配置 ngrok
-
打开命令行(PowerShell/CMD/终端),进入 ngrok 解压目录。
-
运行以下命令绑定账号(只需执行一次):
ngrok config add-authtoken 你的Authtoken
四、启动本地服务
确保你的本地服务(如 n8n、网站等)已启动,假设端口为 5678。
五、启动 ngrok 隧道
在 ngrok 目录下运行:
ngrok http 5678
ngrok 会分配一个公网地址(如 https://xxxx.ngrok.io),外部用户可通过该地址访问你的本地服务。
六、常见问题与扩展
Q: 免费版 ngrok 有什么限制?
A: 免费版每次启动分配的公网地址不同,带宽有限,适合临时测试或开发。付费版支持自定义域名、固定地址和更高带宽。
Q: ngrok 支持 HTTPS 吗?
A: 支持,ngrok 默认分配 https 和 http 两种访问方式。
Q: ngrok 需要公网 IP 吗?
A: 不需要,ngrok 通过云端中转,无需公网 IP。
Q: 如何让 ngrok 启动多个端口?
A: 可通过配置文件或多开命令行窗口实现,具体见官方文档。
七、参考链接
小结
ngrok 是开发者必备的内网穿透工具,配置简单、跨平台,适合本地服务临时对外开放。建议注册账号获取更高配额,生产环境建议选择付费版或自建穿透方案。