Ngrok使用文档
Ngrok
目录
1. 什么是 ngrok?
ngrok 是一个内网穿透工具,可将你本地运行的服务(如 http://localhost:3000)通过一个公网 URL(如 https://abc123.ngrok.io)暴露到互联网上。
典型用途:
- 调试微信/支付宝/Webhook 回调
- 向他人演示本地开发中的网站或 API
- 移动端测试本地服务
- 远程访问本地数据库管理界面(需谨慎!)
2. 安全须知 ⚠️
ngrok 本身不会主动泄露你电脑的数据,它仅转发你明确指定的端口上的流量。
但请注意以下风险:
- 暴露的服务若未设认证(如 Jupyter、Redis、管理后台),可能被任意人访问。
- 免费版 ngrok 的 URL 是公开的(只要知道地址就能访问)。
- 切勿长期暴露敏感服务。测试完成后请立即关闭隧道(按
Ctrl+C)。
✅ 安全建议:
- 只暴露必要的端口(如 3000、8080)
- 避免暴露数据库、SSH、文件系统等高危服务
- 使用后及时关闭 ngrok 进程
3. 注册账号并获取 Authtoken
- 访问官网:https://ngrok.com
- 点击 Sign Up 注册账号(支持 Google/GitHub 快速登录)
- 登录后进入 Getting Started 页面
- 复制你的 Authtoken(形如
2Fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxx)
💡 免费账号功能足够日常开发使用,但域名随机、不可保留。
4. 安装 ngrok
4.1 macOS 安装
方法一:使用 Homebrew(推荐)
# 安装 Homebrew(如未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 ngrok
brew install ngrok/ngrok/ngrok
方法二:手动下载
- 访问 https://ngrok.com/download
- 下载 macOS 版本(.zip)
- 解压后将
ngrok文件移动到/usr/local/bin/:unzip ngrok-v3-stable-darwin.zip sudo mv ngrok /usr/local/bin/
验证安装:
ngrok --version
4.2 Windows 安装
- 访问 https://ngrok.com/download
- 下载 Windows 版本(.zip)
- 解压到任意目录(如
C:\tools\ngrok\) - 将该目录添加到系统环境变量
PATH中:- 按
Win + S搜索 “环境变量” → 编辑系统环境变量 → 环境变量 → 系统变量 → 找到Path→ 编辑 → 新建 → 添加路径(如C:\tools\ngrok)
- 按
- 打开 新的命令提示符(CMD)或 PowerShell,输入:
若显示版本号,则安装成功。ngrok --version
💡 也可直接在解压目录中双击
ngrok.exe使用,但建议配置 PATH 以便全局调用。
5. 配置 ngrok
5.1 配置 Authtoken
打开终端(macOS)或命令行(Windows),执行:
ngrok config add-authtoken <你的Authtoken>
示例:
ngrok config add-authtoken 2Fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxx
✅ 此命令只需执行一次。配置会自动保存到系统标准配置目录。
5.2 配置文件位置说明
| 系统 | 配置文件路径 |
|---|---|
| macOS (ngrok v3) | ~/Library/Application Support/ngrok/ngrok.yml |
| Windows | %LOCALAPPDATA%\ngrok\ngrok.yml(通常为 C:\Users\<用户名>\AppData\Local\ngrok\ngrok.yml) |
| Linux | ~/.config/ngrok/ngrok.yml |
🔍 查看当前配置路径:
ngrok config check
💡 注意:macOS 的
Library文件夹默认隐藏。可通过 Finder 按Cmd + Shift + G输入路径访问。
6. 基本使用方法
启动 HTTP 隧道
假设本地服务运行在 localhost:8080:
ngrok http 8080
输出示例:
Forwarding https://a1b2c3d4.ngrok.io -> http://localhost:8080
现在任何人访问 https://a1b2c3d4.ngrok.io 即可访问你的本地服务。
其他常用命令
| 命令 | 说明 |
|---|---|
ngrok http 3000 |
暴露本地 3000 端口(常用于 React/Vue) |
ngrok http -host-header=rewrite 5000 |
修复某些框架(如 Flask)的 Host 头问题 |
ngrok tcp 22 |
暴露 SSH(⚠️ 极度危险,不建议) |
ngrok http -region us 8080 |
指定区域(us, eu, ap, au) |
查看请求日志(Web UI)
启动 ngrok 后,打开浏览器访问:
http://127.0.0.1:4040
可查看所有请求/响应详情、重放请求、检查 Headers 等。
7. 删除或重置配置
macOS
# 删除整个 ngrok 配置目录
rm -rf ~/Library/Application\ Support/ngrok/
Windows(PowerShell)
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\ngrok"
✅ 删除后,再次运行
ngrok http 8080会提示未认证,说明配置已清除。