ขั้นแรกให้วางหรือเมานต์ไฟล์ PEM CA ที่ได้รับอนุมัติไว้ภายใน dev container ความเชื่อถือของเบราว์เซอร์บนโฮสต์และเส้นทางที่มีอยู่เฉพาะบนโฮสต์ไม่ได้ส่งไบต์ของใบรับรองให้โปรเซส Node ของมัน

จากนั้นรวมสิ่งนี้เข้าใน .devcontainer/devcontainer.json ที่มีอยู่สำหรับ VS Code และโปรเซสย่อยที่เกี่ยวข้อง:

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

เส้นทางนี้อยู่ภายในคอนเทนเนอร์ ให้รีบิลด์หรือเปิดใหม่ผ่านวงจรชีวิตของ Dev Containers เพื่อให้โปรเซส Node ที่เกี่ยวข้องเริ่มต้นด้วยค่านี้

NODE_EXTRA_CA_CERTS ขยายชุด CA ของ Node ตอนเริ่มต้น การเปลี่ยน process.env ภายหลังไม่ได้โหลดชุดนั้นใหม่ และไคลเอนต์ที่มีตัวเลือก ca อย่างชัดเจนสามารถเลือกแหล่งความเชื่อถืออื่นได้

หากต้องการสภาพแวดล้อมทั้งคอนเทนเนอร์ ให้ใช้ containerEnv กับการกำหนดค่า image/Dockerfile หรือสภาพแวดล้อมของบริการ Compose แทนการถือว่า remoteEnv ครอบคลุมทุกโปรเซส

สิ่งนี้ให้ความเชื่อถือโดยไม่ต้องใช้ NODE_TLS_REJECT_UNAUTHORIZED=0 การเลือกพร็อกซียังแยกต่างหาก: CA ไม่สามารถกำหนดเส้นทางการเชื่อมต่อไปยัง listener หรือซ่อม endpoint ที่เข้าถึงไม่ได้

บทความที่เกี่ยวข้อง