시작 시 Node의 내장 프록시 지원 활성화
올바른 fetch 및 http/https 버전 임계값으로 Node의 환경 프록시 스위치를 사용하고 클라이언트 범위를 이해하세요.
Node는 프로세스 시작 시 내장 지원이 활성화되면 프록시 환경 변수를 스스로 읽을 수 있습니다. 사용 가능한 클라이언트는 런타임 버전에 따라 다릅니다.
- 내장 fetch는 Node 24.0.0부터 NODE_USE_ENV_PROXY를 지원하며 22.21.0으로 백포트되었습니다.
- 내장 node:http 및 node:https 지원은 기본 전역 에이전트를 통해 24.5.0부터 시작되며 22.21.0으로도 백포트되었습니다.
- 명령줄 스위치 --use-env-proxy는 24.5.0 및 22.21.0부터 시작됩니다.
호환되는 릴리스에서는 이 POSIX 셸 예제가 두 대상 체계 모두에 하나의 기업 HTTP 프록시를 설정합니다.
export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=localhost,127.0.0.1,.internal.example
node --use-env-proxy app.js
HTTPS_PROXY 이름은 HTTPS 대상의 경로를 선택하며 URL은 여전히 HTTP 프록시를 가리킬 수 있습니다. NO_PROXY는 우회해야 하는 대상에 맞게 조정하세요. 프록시 계정 없이 독립적인 공개 URL 테스트를 하려면 HTTP 프록시 목록 의 HTTP 항목으로 두 프록시 값을 제공할 수 있으며 필요한 내부 우회는 그대로 유지됩니다.
환경 스위치 형식도 대안입니다.
export NODE_USE_ENV_PROXY=1
node app.js
어느 형식이든 Node를 시작하기 전에 라우팅 변수를 설정하세요. 시작 후 opt-in 플래그를 process.env에 할당해도 시작 초기화가 다시 실행되지 않습니다.
실제로 사용 중인 HTTP 클라이언트 확인
기본 전역 에이전트는 이를 사용하는 http 및 https 호출과 관련이 있습니다. 자체 사용자 지정 에이전트나 디스패처가 있는 라이브러리는 자체 전송을 제어합니다. 원시 TCP 소켓은 이 HTTP 라우팅 기능 밖에 있습니다. 호환되는 Undici 클라이언트의 경우 명시적 ProxyAgent 디스패처 가 클라이언트 로컬의 별도 인터페이스입니다.
애플리케이션이 전역 에이전트를 교체한다면 해당 교체가 시작 프록시 동작을 유지한다고 가정하기 전에 검사하세요. 마찬가지로 npm의 레지스트리 구성은 별도의 도구 설정이며 app.js가 요청을 어떻게 라우팅하는지 증명하지 않습니다.
기업 TLS 신뢰 요구 사항이 있다면 런타임에 적절한 신뢰할 수 있는 CA를 구성하세요. 프록시 라우팅을 활성화한다고 해서 인증서 검증을 비활성화할 필요는 없습니다.