Спачатку змясціце або падключыце ўхвалены 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 не можа накіраваць злучэнне да слухача або адрамантаваць недасяжную канчатковую кропку.

Падобныя артыкулы