VS Code Dev Containers: ຕັ້ງຄ່າ NODE_EXTRA_CA_CERTS
ຕັ້ງ NODE_EXTRA_CA_CERTS ໃນສະພາບແວດລ້ອມຂອງຂະບວນການ Node ທາງໄກຂອງ VS Code ໂດຍໃຊ້ໄຟລ໌ PEM ທີ່ອ່ານໄດ້ພາຍໃນ container.
ກ່ອນອື່ນ ໃຫ້ວາງ ຫຼື mount ໄຟລ໌ PEM CA ທີ່ໄດ້ຮັບອະນຸມັດໄວ້ພາຍໃນ dev container. ຄວາມໄວ້ໃຈຂອງ browser ເທິງເຄື່ອງ host ແລະ ເສັ້ນທາງທີ່ມີຢູ່ໃນ host ເທົ່ານັ້ນ ບໍ່ໄດ້ສົ່ງຂໍ້ມູນໃບຢັ້ງຢືນໄປໃຫ້ຂະບວນການ Node ຂອງມັນ.
ຈາກນັ້ນ ລວມສິ່ງນີ້ເຂົ້າໃນ .devcontainer/devcontainer.json ທີ່ມີຢູ່ແລ້ວ ສຳລັບ VS Code ແລະ ຂະບວນການຍ່ອຍທີ່ກ່ຽວຂ້ອງ:
"remoteEnv": {
"NODE_EXTRA_CA_CERTS": "/usr/local/share/certs/corporate-ca.pem"
}ເສັ້ນທາງນີ້ຢູ່ພາຍໃນ container. ໃຫ້ rebuild ຫຼື ເປີດຄືນຜ່ານວົງຈອນຊີວິດຂອງ Dev Containers ເພື່ອໃຫ້ຂະບວນການ Node ທີ່ກ່ຽວຂ້ອງເລີ່ມດ້ວຍຄ່ານີ້.
NODE_EXTRA_CA_CERTS ຂະຫຍາຍຊຸດ CA ຂອງ Node ໃນຕອນເລີ່ມຕົ້ນ. ການປ່ຽນ process.env ຫຼັງຈາກນັ້ນ ບໍ່ໄດ້ໂຫຼດຊຸດນັ້ນໃໝ່, ແລະ client ທີ່ມີຕົວເລືອກ ca ຢ່າງຊັດເຈນ ສາມາດເລືອກແຫຼ່ງຄວາມໄວ້ໃຈອື່ນໄດ້.
ສຳລັບສະພາບແວດລ້ອມທົ່ວ container, ໃຫ້ໃຊ້ containerEnv ກັບການຕັ້ງຄ່າ image/Dockerfile ຫຼື ສະພາບແວດລ້ອມຂອງ service ໃນ Compose, ແທນການສັນນິຖານວ່າ remoteEnv ກວມທຸກຂະບວນການ.
ສິ່ງນີ້ໃຫ້ຄວາມໄວ້ໃຈໂດຍບໍ່ຕ້ອງໃຊ້ NODE_TLS_REJECT_UNAUTHORIZED=0. ການເລືອກ proxy ຍັງແຍກຕ່າງຫາກ: CA ບໍ່ສາມາດກຳນົດເສັ້ນທາງການເຊື່ອມຕໍ່ໄປຫາ listener ຫຼື ແກ້ໄຂ endpoint ທີ່ເຂົ້າເຖິງບໍ່ໄດ້.