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

如何让自研Web应用通过本地机器发送VPN环境下的API请求?

完全可以实现,核心是通过本地代理中转请求

你的场景本质是浏览器的网络栈未接入VPN路由,而本地应用(Postman桌面)直接使用系统网络(包含VPN)。Postman Web+代理的逻辑就是让浏览器请求先转发到本地代理(走系统VPN网络),再发往目标API。我们可以自己复刻这个流程,具体步骤如下:

1. 搭建本地代理服务

写一个轻量的本地代理,负责接收浏览器的请求,再用系统网络(已接入VPN)转发到目标API。

示例:Node.js 快速实现代理

用http-proxy库快速搭建,先安装依赖:

npm install http-proxy

然后创建代理脚本proxy.js:

const http = require('http');
const httpProxy = require('http-proxy');
const proxy = httpProxy.createProxyServer({});

// 监听本地8080端口
const server = http.createServer((req, res) => {
  // 替换为你的目标API域名
  const targetApi = 'https://your-target-api.com';
  // 转发请求到目标API,自动处理跨域和Origin
  proxy.web(req, res, {
    target: targetApi,
    changeOrigin: true,
    // 开发环境若目标API是自签证书,可临时关闭证书验证(生产禁用)
    secure: false
  });
});

server.listen(8080, () => {
  console.log('本地代理已启动:http://localhost:8080');
});

启动代理:

node proxy.js

2. 让自研Web应用的请求走本地代理

有两种常用方式:

方式A:前端项目配置代理(推荐)

如果你的Web应用是Vue/React等框架开发,直接在开发服务器里配置代理,让API请求自动转发到本地代理。

比如Vue项目的vue.config.js:

module.exports = {
  devServer: {
    proxy: {
      // 匹配所有以/api开头的请求
      '/api': {
        target: 'http://localhost:8080', // 指向本地代理
        changeOrigin: true
      }
    }
  }
};

这样前端发的/api/user会先转到localhost:8080/api/user,再由代理转发到目标API的对应路径。

方式B:浏览器全局/规则代理

用浏览器插件设置规则:仅让你的Web应用域名(或API请求路径)走localhost:8080代理,其他请求正常。或者直接修改系统代理,但会影响所有浏览器请求。

3. 处理特殊场景

  • 跨域问题:本地代理会自动转发请求,浏览器看到的是localhost域名,不会触发跨域限制;若仍有问题,可在代理脚本中手动添加CORS头:
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
    
  • HTTPS证书问题:若目标API是HTTPS,本地代理可能因证书不匹配报错。开发环境可临时用--ignore-certificate-errors启动Chrome(仅测试用),生产环境需为代理配置合法证书或让代理信任目标API的证书。

原理匹配Postman流程

Postman Web的逻辑是:浏览器 → Postman本地代理 → Postman桌面(系统VPN网络) → 目标API;我们的方案是:浏览器 → 自研本地代理 → 系统VPN网络 → 目标API,核心都是通过本地代理中转,让请求走系统的VPN路由,绕过浏览器直接请求的拦截限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:07:33