피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 24.5.0이 OpenSSL 3.5.1, WebAssembly ESM 통합, HTTP/HTTPS 프록시 지원, TLS 인증서 동적 설정으로 엔터프라이즈 기능 강화
Node.js 24.5.0 (Current)
AI 요약
Context
Node.js 애플리케이션들이 프록시를 통한 HTTP 요청 처리와 TLS 클라이언트의 CA 인증서 설정을 런타임에 변경할 수 있는 표준화된 방법이 없었다.
Technical Solution
- OpenSSL 버전을 3.5.1로 업그레이드: 2030년 4월까지 보안 지원 확장
- WebAssembly ESM 통합 지원: Source Phase와 Instance Phase 임포트를 Phase 3 제안 스펙에 따라 구현
- HTTP/HTTPS 프록시 환경변수 자동 파싱: NODE_USE_ENV_PROXY=1 설정 시 http_proxy, https_proxy, no_proxy 환경변수를 자동으로 읽어 기본 Global Agent에 적용
- http.Agent와 https.Agent에 proxyEnv 옵션 추가: new https.Agent({ proxyEnv: { HTTPS_PROXY: 'http://proxy.example.com:8080' } }) 형식으로 프록시 설정 지정
- tls.setDefaultCACertificates() API 신규 추가: 동적으로 기본 CA 인증서 목록을 변경하고 tls.getCACertificates()로 조회 가능
Impact
OpenSSL 3.5의 지원 기간이 2030년 4월까지 연장됨으로써 Node.js 24(2028년 4월 지원 종료)보다 2년 더 보안 패치를 받을 수 있음.
Key Takeaway
Node.js 24.5.0은 엔터프라이즈 환경의 프록시 및 인증서 관리를 환경변수 기반 설정과 API를 통해 표준화함으로써, 배포 후 런타임 재설정 없이 인프라 변화에 대응할 수 있는 유연성을 제공한다.
실천 포인트
기업 네트워크의 프록시 환경에서 Node.js 애플리케이션을 배포할 때, NODE_USE_ENV_PROXY=1과 http_proxy 환경변수 설정만으로 node:http/node:https의 모든 요청이 자동으로 프록시를 경유하도록 할 수 있으며, tls.setDefaultCACertificates()를 통해 시스템 CA 인증서를 런타임에 추가하여 자체 서명 인증서나 내부 CA 검증 문제를 동적으로 해결할 수 있다.