본문 바로가기
WIKI 기술 지식 베이스

기업 프록시 뒤에서 Backstage 실행

원문 보기 위키 갱신

기업 프록시 뒤에서 Backstage 실행 (Running Backstage behind a Corporate Proxy)

때로는 공개 인터넷에 직접 접근하지 않고 기업 프록시를 통해서만 Backstage를 실행해야 할 수 있습니다. 프록시 문제는 대부분 백엔드에서 발생할 가능성이 높은데, 브라우저나 OS 프록시 설정이 백엔드에는 적용되지 않기 때문입니다.

출처: 문서

본문

때로는 공개 인터넷에 직접 접근하지 않고 기업 프록시를 통해서만 Backstage를 실행해야 할 수 있습니다. 프록시 문제는 대부분 백엔드에서 발생할 가능성이 높은데, 브라우저나 OS 프록시 설정이 백엔드에는 적용되지 않기 때문입니다.

Node.js 내장 프록시 지원 사용 (Using Node.js built-in proxy support)

Node.js 22.21.0 및 24.5.0부터 Node.js는 프록시 환경 변수에 대한 내장 지원을 제공합니다. 활성화하면 네이티브 fetch(), node:http, node:https가 추가 패키지 없이 표준 HTTP_PROXY, HTTPS_PROXY, NO_PROXY 환경 변수를 모두 존중합니다. 전체 세부 사항은 Node.js enterprise network configuration 문서를 참조하세요.

내장 프록시 지원을 활성화하려면 프록시 설정과 함께 NODE_USE_ENV_PROXY 환경 변수를 설정합니다.

export HTTP_PROXY=http://username:[email protected]:8888export HTTPS_PROXY=http://username:[email protected]:8888export NO_PROXY=localhost,127.0.0.1,.internal.company.comexport NODE_USE_ENV_PROXY=1yarn start

타사 fetch 라이브러리와의 호환성 (Compatibility with third-party fetch libraries)

ADR014에 따라 Backstage 백엔드 코드는 Node.js 프록시와 즉시 작동하는 네이티브 fetch()를 사용해야 합니다. 일부 핵심 패키지와 많은 커뮤니티 플러그인은 여전히 node-fetch(ADR013 참조) 또는 cross-fetch(동형 패키지용)를 사용합니다. 두 라이브러리 모두 내부적으로 node:http/node:https에 위임하고 기본적으로 사용자 지정 HTTP 에이전트를 설정하지 않으므로 Node.js 프록시가 이들에도 작동합니다.

예외는 fetch 호출에 사용자 지정 agent를 명시적으로 전달하는 코드입니다 (예: TLS 클라이언트 인증서에 new https.Agent(...)를 사용하는 Kubernetes 플러그인). 그런 경우 사용자 지정 에이전트가 우선하고 내장 프록시는 우회됩니다. 이는 일반적으로 원하는 동작입니다. 그러한 에이전트는 클러스터 API 같은 특정 엔드포인트에 대한 직접 연결용으로 구성되기 때문입니다.

더 알아보기 (Learn more)