http-proxy-middleware の API 接続を社内プロキシ経由にする
target は実際の API を指したままにし、ミドルウェアの外向き HTTPS 接続には HttpsProxyAgent を渡します。
ブラウザが開発サーバーには到達するものの 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 は仲介者を選ぶ代わりに検証を変えてしまいます。