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

无法设置自定义Header时,如何绕过Ngrok访问警告并连通本地API?

绕过Ngrok免费版警告页的可行方法(无需设置请求Header)
  • 改用Cloudflare Tunnel(免费)
    这是最稳妥的替代方案,免费版无强制警告页,支持同时创建多个隧道,配置步骤简单:

    1. 安装Cloudflare的cloudflared客户端
    2. 执行cloudflared tunnel create 隧道名称创建专属隧道
    3. 编写config.yml配置文件,指向本地API端口,示例:
      tunnel: 你的隧道ID
      credentials-file: ~/.cloudflared/隧道ID.json
      ingress:
        - hostname: 自定义子域名(需归属你的Cloudflare托管域名)
          service: http://localhost:你的API端口
        - service: http_status:404
      
    4. 执行cloudflared tunnel run 隧道名称启动隧道,外部服务直接使用配置的子域名访问即可,无额外拦截页。
  • Ngrok免费版子域名启动法
    免费版可申请随机分配的专属子域名,用特定命令启动隧道后,能降低警告页触发概率:

    ngrok http --domain=随机分配的子域名 本地API端口
    

    注:该方法并非100%规避,但相比默认随机URL,拦截概率大幅降低。

  • 本地轻量代理中转(适配非GET请求)
    如果外部服务以POST/PUT等非GET方法调用API,可在本地搭建轻量代理中转,绕过Ngrok对非GET请求的拦截:
    示例Node.js代码(依赖Express):

    const express = require('express');
    const http = require('http');
    const app = express();
    
    app.use(express.json());
    
    app.all('*', (req, res) => {
      const proxyOpts = {
        hostname: 'localhost',
        port: 你的API端口,
        path: req.path,
        method: req.method,
        headers: req.headers
      };
    
      const proxyReq = http.request(proxyOpts, (proxyRes) => {
        res.writeHead(proxyRes.statusCode, proxyRes.headers);
        proxyRes.pipe(res, { end: true });
      });
    
      req.pipe(proxyReq, { end: true });
    });
    
    app.listen(新本地端口, () => {
      console.log('代理服务启动于端口:新本地端口');
    });
    

    启动代理后,用Ngrok转发这个新本地端口,外部服务的非GET请求会直接被代理转发到目标API,避免警告页拦截(GET请求仍可能触发)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:50:28