一、Ngrok 是什么?

Ngrok 是一款内网穿透工具,能将本地服务(如 Flask、Django)暴露到公网,生成一个临时网址供外网访问(如手机、异地电脑)。适合开发调试、微信接口测试、临时演示等场景。

👍 核心优势:无需服务器、3分钟搞定、支持 HTTPS!


二、Windows 下安装 Ngrok

方法1:手动下载(推荐✅)

步骤1:下载 Ngrok
  1. 访问官网下载页:https://ngrok/download
  2. 选择 Windows 版本ngrok-v3-stable-windows-amd64.zip
步骤2:解压到任意目录
  • 下载完成解压后得到 ngrok.exe 文件(建议放在项目文件夹,如 D:\web_demo

  • 比如:

    D:\web_demo
    ├── ngrok.exe
    ├── web_app.py
    └── static/
        └── resign.jpeg
    
步骤3:配置环境变量(可选)
  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」

  • Path 中添加 ngrok 所在目录(如 D:\web_demo

  • 按下 Win + S,搜索 “环境变量”,并选择 “编辑系统环境变量”

  • 在 系统属性 中,选择 “环境变量”

  • 点击 系统变量 区域,选择 “Path”,点击 “编辑”。

  • 将ngrok .exe所在目录的路径添加到“Path“中

步骤4. 验证安装

按住win+R,输入cmd,打开终端或 PowerShell。
输入:

ngrok version

如果安装成功,会显示 ngrok 的版本信息。

方法2:通过 Python 安装(需网络稳定)

pip install pyngrok

⚠️ 注意:此方法可能因网络问题失败(见后文避坑指南)。


三、配置 Ngrok Authtoken(必做!)

Ngrok v3 开始,必须注册账号并配置 authtoken 才能使用免费隧道。

步骤1:注册 Ngrok 账号
  1. 访问 Ngrok 官网
  2. 用邮箱或 GitHub 注册(免费)
步骤2:获取 Authtoken

登录后进入:https://dashboard.ngrok/get-started/your-authtoken
复制你的 Authtoken(形如 2FzA9bX4...

步骤3:本地配置 Token

PowerShell 中运行(替换 你的Authtoken):

ngrok authtoken 你的Authtoken

成功提示:Authtoken saved to configuration file


四、启动 Ngrok 穿透本地服务

场景:暴露 Flask 服务(端口5000)

  1. 确保 Flask 已运行:

    python web_app.py
    
  2. 新开终端,启动 ngrok:

    .\ngrok http 5000
    
  3. 输出如下即成功:

    Forwarding  https://xxxx.ngrok-free.app -> http://localhost:5000
    

    手机访问 https://xxxx.ngrok-free.app 即可!


五、常见问题解决(附解决方案)

Q1:报错 ERROR: The read operation timed out

  • 原因:网络不稳定,无法下载 ngrok。
  • 解决:手动下载 ngrok.exe(见方法1)。

Q2:报错 ERR_NGROK_4018

  • 原因:未配置 Authtoken。
  • 解决:按第三节步骤配置。

Q3:手机无法访问链接

  • 检查

    1. 电脑防火墙是否放行端口 5000

    2. Flask 是否运行在 0.0.0.0

      app.run(host='0.0.0.0', port=5000)
      

Q4:如何固定域名?

免费版域名每次重启会变。升级付费计划可绑定自定义域名。


六、替代方案(无需Ngrok)

  1. 局域网直连(同一 WiFi):

    python web_app.py --host=0.0.0.0
    

    手机访问 http://<电脑IP>:5000(通过 ipconfig 查 IP)。

  2. Localtunnel

    npm install -g localtunnel
    lt --port 5000
    

七、总结

步骤操作备注
1. 下载 ngrok.exe官网手动下载最稳定
2. 配置 Authtokenngrok config add-authtoken必做!
3. 启动隧道ngrok http 5000生成公网链接
4. 手机访问https://xxxx.ngrok-free.app需保持电脑运行