תחילה הניחו או עגנו את קובץ ה-PEM CA המאושר בתוך קונטיינר הפיתוח. האמון של דפדפן המארח ונתיב שקיים רק במארח אינם מספקים בייטים של תעודה לתהליך ה-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. בחירת ה-proxy נשארת נפרדת: ה-CA אינו יכול לנתב חיבור אל המאזין או לתקן נקודת קצה בלתי נגישה.

מאמרים קשורים