You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用ngrok v3暴露前后端服务时获相同公网URL的问题

解决ngrok v3免费版多隧道URL重复问题

首先明确:你遇到的是ngrok免费版的核心限制——免费账户同一时间只能运行1个活跃隧道。不管你用两个独立命令启动,还是通过配置文件--all启动,实际只有一个隧道在正常工作,另一个会复用同一个公网URL,导致两个服务无法同时访问。

临时解决办法:路径转发共享单URL

如果不想升级付费版,可以通过ngrok的路径转发功能,把同一个公网URL的不同路径映射到本地两个端口。

  1. 创建ngrok.yml配置文件:
version: "3"
tunnels:
  frontend:
    proto: http
    addr: 5173
    host_header: rewrite
    path: "/frontend"
  backend:
    proto: http
    addr: 8000
    host_header: rewrite
    path: "/backend"
  1. 启动命令:
ngrok start --all
  1. 配套调整:
    • Vite前端项目需在vite.config.js中设置base: '/frontend',确保资源路径正确
    • FastAPI后端可通过APIRouter(prefix="/backend")统一添加路径前缀,前端API请求对应改为/backend/xxx
    • 后端需配置跨域规则,允许该公网URL的访问

长期解决办法:升级付费版

如果需要两个独立的公网URL,直接升级到ngrok的Basic及以上付费账户,支持同时运行多个独立隧道:

  • 执行两个独立命令ngrok http 5173和ngrok http 8000,会生成两个不同的公网地址
  • 配置文件启动时,给每个隧道指定唯一名称,启动后每个隧道对应独立URL

内容的提问来源于stack exchange,提问作者Ashal Ibrahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.08 10:03:09