피드로 돌아가기
Node.js 24.5.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 24.5.0이 OpenSSL 3.5.1, WebAssembly ESM 통합, HTTP/HTTPS 프록시 지원, TLS 인증서 동적 설정으로 엔터프라이즈 기능 강화

Node.js 24.5.0 (Current)

2025년 7월 31일6intermediate

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 검증 문제를 동적으로 해결할 수 있다.

원문 읽기