Lege zuerst die freigegebene PEM-CA-Datei im Dev-Container ab oder binde sie ein. Das Vertrauen des Host-Browsers und ein nur auf dem Host vorhandener Pfad liefern seinem Node-Prozess keine Zertifikatsbytes.

Füge dies dann in die vorhandene .devcontainer/devcontainer.json für VS Code und zugehörige Unterprozesse ein:

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

Der Pfad liegt im Container. Baue den Container neu bzw. öffne ihn über den Dev-Containers-Lebenszyklus erneut, damit der relevante Node-Prozess damit startet.

NODE_EXTRA_CA_CERTS erweitert beim Start die CA-Menge von Node. Ein späteres Ändern von process.env lädt diese Menge nicht neu, und ein Client mit einer expliziten ca-Option kann eine andere Vertrauensquelle wählen.

Für eine containerweite Umgebung verwende containerEnv mit der Image- oder Dockerfile-Konfiguration beziehungsweise der Umgebung des Compose-Dienstes, statt anzunehmen, dass remoteEnv jeden Prozess abdeckt.

Dies liefert Vertrauen ohne NODE_TLS_REJECT_UNAUTHORIZED=0. Die Proxy-Auswahl bleibt getrennt: Das CA kann keine Verbindung zum Listener routen oder einen nicht erreichbaren Endpunkt reparieren.

Ähnliche Artikel