ຄວາມລົ້ມເຫຼວຂອງ proxy npm ເມື່ອດາວໂຫຼດ script ຕິດຕັ້ງ
ແພັກເກດ npm ສາມາດເຮັດການດາວໂຫຼດແຍກຕ່າງຫາກໃນລະຫວ່າງການຕິດຕັ້ງ. ລະບຸໂປຣແກຣມ ແລະ ໂຮສນັ້ນ ແທນທີ່ຈະສົມມຸດວ່າທຸກຄຳຂໍໃຊ້ການຕັ້ງຄ່າ proxy ຂອງ registry npm.
ຖ້າການຕິດຕັ້ງ npm ຜ່ານການດາວໂຫຼດຈາກ registry ແລ້ວຢຸດຢູ່ໃນ script ຕິດຕັ້ງ, ໃຫ້ລະບຸຕົວດາວໂຫຼດທີສອງ. ແພັກເກດ JavaScript ອາດມີຢູ່ແລ້ວ ໃນຂະນະທີ່ໄຟລ໌ binary ສະເພາະແພລດຟອມຍັງຂາດຢູ່.
- ຊອກຫາເຈົ້າຂອງຄຳຂໍໃນ log. ບັນທຶກ script ວົງຈອນຊີວິດ, ໄຟລ໌ທີ່ເຮັດວຽກ ຫຼື ຫ້ອງສະໝຸດ HTTP, ຊື່ໂຮສປາຍທາງ ແລະ ຄວາມຜິດພາດທຳອິດ. ແພັກເກດສາມາດເປີດໂປຣແກຣມອື່ນທີ່ການດາວໂຫຼດແຍກຈາກການໂອນຂອງ registry npm.
- ໃຊ້ອິນເຕີເຟສ proxy ທີ່ຕົວດາວໂຫຼດນັ້ນຮອງຮັບ. ສຳລັບເສັ້ນທາງ resources.js ຂອງ tfjs-node, ສະພາບແວດລ້ອມ proxy ຂອງ process ລູກ ເປັນຕົວຢ່າງທີ່ຊັດເຈນໜຶ່ງ. ກວດເບິ່ງການຕັ້ງຄ່າດາວໂຫຼດທີ່ມີເອກະສານຂອງແພັກເກດ ແລະ ສະພາບແວດລ້ອມຂອງ process ທີ່ສົ່ງຄຳຂໍ. ຕົວປ່ຽນ proxy ມາດຕະຖານຊ່ວຍໄດ້ກໍ່ຕໍ່ເມື່ອຜູ້ໃຊ້ນັ້ນອ່ານມັນ; ການເພີ່ມຕົວປ່ຽນທີ່ມີຊື່ຄ້າຍຄືກັນບໍ່ໄດ້ພິສູດການຮອງຮັບ.
- ຕິດຕາມເສັ້ນທາງຕົວຈິງຂອງ artifact. ເຊີບເວີປ່ອຍລຸ້ນ, ບ່ອນເກັບວັດຖຸ ແລະ ປາຍທາງການປ່ຽນເສັ້ນທາງອາດແຕກຕ່າງຈາກ registry. ປຽບທຽບການພິສູດຢືນຢັນ proxy, ປາຍທາງທີ່ໄດ້ຮັບອະນຸມັດ ແລະ ຄວາມໄວ້ວາງໃຈ TLS ສຳລັບຄຳຂໍທີ່ລົ້ມເຫຼວ.
ເຮັດສິ່ງນີ້ກ່ອນລຶບ cache: ການປ່ຽນໃນ log ຈາກການໄດ້ມາແພັກເກດໄປສູ່ການປະຕິບັດວົງຈອນຊີວິດໄດ້ຫຍໍ້ຂອບເຂດຄວາມຜິດພາດແລ້ວ. ການເຂົ້າເຖິງ registry ສຳເລັດເປັນຫຼັກຖານປຽບທຽບທີ່ເປັນປະໂຫຍດ ແຕ່ມັນບໍ່ໄດ້ພິສູດວ່າໂປຣແກຣມທີສອງຮອງຮັບເສັ້ນທາງດຽວກັນ ຫຼື ສາມາດໄປຮອດໂຮສ artifact ຂອງມັນ.
ການປິດ script ຕິດຕັ້ງອາດຂ້າມການດາວໂຫຼດ ແລະ ເຮັດໃຫ້ແພັກເກດໃຊ້ບໍ່ໄດ້. ຖ້າແພັກເກດມີເອກະສານເສັ້ນທາງຕິດຕັ້ງທີ່ໄດ້ຮັບອະນຸມັດແບບສ້າງໄວ້ກ່ອນ ຫຼື ແບບອອບລາຍ, ໃຫ້ກະກຽມ artifact ນັ້ນຢ່າງຕັ້ງໃຈ ແລະ ຢືນຢັນວ່າໄຟລ໌ທີ່ເຮັດວຽກມີຢູ່ ກ່ອນຖືວ່າການຕິດຕັ້ງສຳເລັດ.