VS Code Dev Containers: NODE_EXTRA_CA_CERTS కాన్ఫిగర్ చేయడం
కంటైనర్ లోపల చదవగల PEM ఫైల్ను ఉపయోగించి VS Code యొక్క రిమోట్ Node ప్రక్రియ పర్యావరణంలో NODE_EXTRA_CA_CERTS సెట్ చేయండి.
మొదట ఆమోదించిన 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 ఎంపిక ఉన్న క్లయింట్ మరొక విశ్వాస మూలాన్ని ఎంచుకోగలదు.
మొత్తం కంటైనర్ కోసం పర్యావరణం కావాలంటే, image/Dockerfile కాన్ఫిగరేషన్తో containerEnv లేదా Compose సేవ పర్యావరణాన్ని ఉపయోగించండి; ప్రతి ప్రక్రియను remoteEnv ఆవరిస్తుందని భావించవద్దు.
ఇది NODE_TLS_REJECT_UNAUTHORIZED=0 లేకుండా విశ్వాసాన్ని ఇస్తుంది. ప్రాక్సీ ఎంపిక వేరుగానే ఉంటుంది: CA కనెక్షన్ను listener కు మళ్లించలేదు, చేరుకోలేని endpoint ను సరిచేయలేదు.