먼저 승인된 PEM CA 파일을 dev 컨테이너 안에 배치하거나 마운트합니다. 호스트 브라우저의 신뢰와 호스트에만 있는 경로는 해당 Node 프로세스에 인증서 바이트를 제공하지 않습니다.

그다음 VS Code와 관련 하위 프로세스에 대해 기존 .devcontainer/devcontainer.json에 이를 병합합니다:

"remoteEnv": {
  "NODE_EXTRA_CA_CERTS": "/usr/local/share/certs/corporate-ca.pem"
}

경로는 컨테이너 내부에 있습니다. 해당 Node 프로세스가 이 경로로 시작되도록 Dev Containers 수명 주기를 통해 다시 빌드하거나 다시 엽니다.

NODE_EXTRA_CA_CERTS는 시작 시 Node의 CA 집합을 확장합니다. 나중에 process.env를 변경해도 해당 집합이 다시 로드되지 않으며, 명시적인 ca 옵션이 있는 클라이언트는 다른 신뢰 소스를 선택할 수 있습니다.

컨테이너 전체 환경의 경우 이미지나 Dockerfile 구성, 또는 Compose 서비스 환경과 함께 containerEnv를 사용하고, remoteEnv가 모든 프로세스를 포함한다고 가정하지 마십시오.

이렇게 하면 NODE_TLS_REJECT_UNAUTHORIZED=0 없이 신뢰를 제공합니다. 프록시 선택은 별개입니다. CA는 연결을 리스너로 라우팅하거나 연결할 수 없는 엔드포인트를 복구할 수 없습니다.

관련 글