Placez ou montez d'abord le fichier PEM CA approuvé dans le conteneur de développement. La confiance du navigateur hôte et un chemin présent uniquement sur l'hôte ne fournissent pas les octets du certificat à son processus Node.

Fusionnez ensuite cela dans le .devcontainer/devcontainer.json existant pour VS Code et les sous-processus associés :

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

Le chemin se trouve dans le conteneur. Reconstruisez ou rouvrez via le cycle de vie Dev Containers afin que le processus Node concerné démarre avec lui.

NODE_EXTRA_CA_CERTS étend l'ensemble de CA de Node au lancement. Modifier process.env ensuite ne recharge pas cet ensemble, et un client disposant d'une option ca explicite peut choisir une autre source de confiance.

Pour un environnement couvrant tout le conteneur, utilisez containerEnv avec la configuration de l'image ou du Dockerfile, ou l'environnement du service Compose, plutôt que de supposer que remoteEnv couvre chaque processus.

Cela fournit la confiance sans NODE_TLS_REJECT_UNAUTHORIZED=0. Le choix du proxy reste distinct : l'autorité de certification ne peut pas router une connexion vers l'écouteur ni réparer un point de terminaison injoignable.

Articles similaires