VS Code Dev Containers: NODE_EXTRA_CA_CERTS-ის კონფიგურაცია
დააყენეთ NODE_EXTRA_CA_CERTS VS Code-ის დისტანციური Node პროცესის გარემოში კონტეინერში წაკითხვადი PEM ფაილის გამოყენებით.
ჯერ განათავსეთ ან ჩაამაგრეთ დამტკიცებული PEM CA ფაილი dev კონტეინერში. ჰოსტის ბრაუზერის ნდობა და მხოლოდ ჰოსტზე არსებული ბილიკი არ აწვდის სერტიფიკატის ბაიტებს მის 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 გაშვებისას აფართოებს Node-ის CA ნაკრებს. process.env-ის შემდგომი შეცვლა არ ტვირთავს ხელახლა ამ ნაკრებს, ხოლო კლიენტს გამოკვეთილი ca პარამეტრით შეუძლია აირჩიოს ნდობის სხვა წყარო.
მთელი კონტეინერის გარემოსთვის გამოიყენეთ containerEnv image ან Dockerfile-ის კონფიგურაციასთან, ან Compose სერვისის გარემოსთან ერთად, ნაცვლად იმის დაშვებისა, რომ remoteEnv ყველა პროცესს ფარავს.
ეს ნდობას იძლევა NODE_TLS_REJECT_UNAUTHORIZED=0-ის გარეშე. პროქსის არჩევანი ცალკე რჩება: CA ვერ მარშრუტიზებს კავშირს მსმენელთან და ვერ ასწორებს მიუწვდომელ საბოლოო წერტილს.