ブラウザが開発サーバーには到達するものの 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 は仲介者を選ぶ代わりに検証を変えてしまいます。

関連記事