環境のプロキシ ポリシーを使う Express 側の HTTPS 呼び出しには:

import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';

const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
  console.log(response.statusCode);
  response.resume();
});
request.on('error', error => console.error(error.message));

現在の ProxyAgent コンストラクターはオプション オブジェクトを受け取ります。上書きがない場合、proxy-from-env を通じてサポートされる環境ポリシーを読み取り、URL に下位レベルの agent を選びます。

アプリケーションが所有する固定ルートには、そのオプション オブジェクトで選択を置き換えます:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

固定の callback は既定の環境の NO_PROXY 判定を適用しません。置き換えるときは、必要な直接例外をセレクターに実装してください。

許可された公共サービス呼び出しでは、無料プロキシ一覧が proxyUrl の候補を提供します。agent がサポートするプロトコルを選んでください。返されたプロキシ URL のスキームは仲介プロトコルを示し、https.get は引き続き実際のサービスを指します。agent はその作業負荷のために保持し、シャットダウン時に破棄してください。

Express リスナーは受信リクエストを受け付け、この送信接続を構成しません。Undici ベースの fetch も別のトランスポート入力を使います。ProxyAgent を使う Undici の fetch は dispatcher を受け取り、Node ランタイムと互換性のあるパッケージ リリースを使用します。

関連記事