npm의 프록시 설정은 npm start로 시작한 모든 것을 라우팅하지 않는다
npm은 자체 패키지 전송을 설정합니다. 스크립트로 실행된 애플리케이션은 여전히 의도한 아웃바운드 프록시를 지원하는 HTTP 클라이언트가 필요합니다.
npm install은 프록시를 통해 동작합니다. npm start은 애플리케이션을 실행하고, 그 API 요청은 곧바로 나갑니다. npm이 설정을 잊었다고 단정할 수는 없습니다.
첫 번째 요청은 패키지 관리자가 보냈습니다. 두 번째 요청은 여러분의 애플리케이션이 보냅니다. npm 설정의 프록시 값은 그것을 읽는 소비자를 위한 데이터이며, 모든 자식 프로세스 아래에 놓인 터널이 아닙니다.
애플리케이션의 HTTP 클라이언트와 그것이 지원하는 프록시 인터페이스를 확인하십시오. 표준 환경 변수를 읽을 수도 있고, 명시적인 agent나 dispatcher를 요구할 수도 있으며, 다른 문서화된 설정을 사용할 수도 있습니다. npm_config_proxy 같은 변수가 자동으로 인식된다고 가정하지 마십시오.
아웃바운드 프록시와 개발 서버의 API 전달 기능도 구분하십시오. 개발 서버에서 브라우저 요청을 백엔드로 전달하는 설정은 다른 역할을 합니다. 그것이 애플리케이션이 보내는 모든 요청의 네트워크 출구가 되는 것은 아닙니다.
유용한 비교를 위해 성공하는 요청과 실패하는 요청을 보내는 프로세스를 각각 지목하십시오. 그런 다음 후자를 의도적으로 설정하십시오. Undici의 fetch를 사용하는 애플리케이션은 Node 런타임과 호환되는 패키지 릴리스와 함께 ProxyAgent 디스패처 설정을 따를 수 있습니다. npm의 registry 엔드포인트를 바꾸거나 애플리케이션을 반복해서 다시 설치하는 것만으로는 그 빠진 경로가 마련되지 않습니다.