如果浏览器能访问开发服务器,但它的 API 请求失败,请配置中间件建立的连接:

const { createProxyMiddleware } = require('http-proxy-middleware');
const { HttpsProxyAgent } = require('https-proxy-agent');

app.use('/api', createProxyMiddleware({
  target: 'https://api.example',
  changeOrigin: true,
  agent: new HttpsProxyAgent('http://proxy.example:8080'),
}));

app 是现有的 Express 应用。这里使用现代中间件工厂和具名导出的 HttpsProxyAgent;保留原有的路径映射和访问控制。

target 指定 API。agent 指定中间人并为该 HTTPS 目标协商隧道。把公司代理 URL 当作 target 会要求另一个应用,而不是增加一跳。

使用与目标协议相匹配的 agent,以及真正支持所需 HTTP 代理接口的 listener。对于该路由上已批准的私有 CA,请通过 Node 传输层配置信任并保持校验开启。secure: false 改变的是校验,而不是选择中间人。

相关文章