환경의 프록시 정책을 사용하는 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 런타임과 호환되는 패키지 릴리스를 사용합니다.

관련 글