VS Code Dev Containers: налада NODE_EXTRA_CA_CERTS
Задайце NODE_EXTRA_CA_CERTS у асяроддзі аддаленага працэсу Node у VS Code з дапамогай чытэльнага 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 пашырае набор CA у Node пры запуску. Змена process.env пасля гэтага не перазагружае гэты набор, а кліент з яўным параметрам ca можа выбраць іншую крыніцу даверу.
Для асяроддзя ўсяго кантэйнера выкарыстоўвайце containerEnv разам з канфігурацыяй вобраза або Dockerfile ці асяроддзем сэрвісу Compose, а не здагадвайцеся, што remoteEnv ахоплівае кожны працэс.
Гэта забяспечвае давер без NODE_TLS_REJECT_UNAUTHORIZED=0. Выбар проксі застаецца асобным: CA не можа накіраваць злучэнне да слухача або адрамантаваць недасяжную канчатковую кропку.