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

如何让ngrok转发的HTML页面仅对指定国家开放访问?

如何限制ngrok转发页面仅对特定国家可见?

ngrok原生支持情况

ngrok免费版不提供地理访问限制功能,但Pro版及以上(包括Enterprise)支持基于国家/地区的IP过滤。你可以通过两种方式配置:

  • 仪表板配置:登录ngrok后台,在转发规则的"IP Restrictions"中添加允许访问的国家代码(如US、CN)
  • 命令行参数:启动ngrok时直接指定允许的国家,示例:
    ngrok http --allow-country US,CN 3000
    
    配置后,仅指定国家的IP地址能访问转发的链接,其他地区请求会被直接拦截。

免费替代方案

如果不想升级付费版,可以在你的HTML服务层添加地理检测逻辑,实现访问限制:

1. 后端服务集成地理检测

用简单的后端服务托管你的HTML页面,同时加入IP地理判断逻辑。以Node.js + Express为例:

  • 先安装依赖:npm install express geoip-lite
  • 编写服务代码:
    const express = require('express');
    const geoip = require('geoip-lite');
    const app = express();
    
    // 定义允许访问的国家代码列表
    const ALLOWED_COUNTRIES = ['US', 'CA'];
    
    // 全局中间件做地理校验
    app.use((req, res, next) => {
      // 获取请求IP(注意:如果有反向代理,可能需要调整获取方式)
      const clientIp = req.ip.replace('::ffff:', '');
      const geoData = geoip.lookup(clientIp);
      
      if (!geoData || !ALLOWED_COUNTRIES.includes(geoData.country)) {
        return res.status(403).send('<h1>您所在地区无法访问此页面</h1>');
      }
      next();
    });
    
    // 托管HTML静态文件
    app.use(express.static('./your-html-folder'));
    
    app.listen(3000, () => console.log('服务运行在 http://localhost:3000'));
    
    启动服务后,用ngrok转发3000端口即可。

2. Nginx反向代理加地理限制

如果习惯用Nginx,可以通过其geoip模块实现限制:

  • 安装带geoip模块的Nginx,或单独安装geoip模块
  • 下载MaxMind的GeoIP数据库文件(如GeoIP.dat)
  • 配置Nginx规则:
    http {
      # 加载地理数据库
      geoip_country /usr/share/GeoIP/GeoIP.dat;
      
      # 定义允许的国家
      map $geoip_country_code $is_allowed {
        default 0;
        US 1;
        CA 1;
      }
    
      server {
        listen 8080;
        location / {
          if ($is_allowed = 0) {
            return 403 "您所在地区无法访问";
          }
          # 转发到你的HTML服务地址
          proxy_pass http://localhost:3000;
        }
      }
    }
    
    启动Nginx后,用ngrok转发8080端口即可。

注意:IP地理检测存在一定误差(比如用户使用VPN、代理时),但能满足绝大多数场景的防泄露需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:17:23