ທີມໜຶ່ງໃສ່ສະຕຣິງຂ້າມ (bypass) ດຽວໃສ່ໃນໄຟລ໌ environment ທີ່ໃຊ້ຮ່ວມກັນ. curl ໄປທາງກົງ, ແອັບພລິເຄຊັນອື່ນໃຊ້ proxy, ແລະ container ກໍມີພຶດຕິກຳຕ່າງອີກ. ໄຟລ໌ຮ່ວມໄດ້ແຈກຢາຍຕົວອັກສອນດຽວກັນ. ມັນບໍ່ໄດ້ແຈກຢາຍ parser ຮ່ວມກັນອັນດຽວ.

ວັດຖຸທີ່ຍືນຍົງແມ່ນນະໂຍບາຍ: ຈຸດໝາຍໃດຄວນໄປທາງກົງ, ພາຍໃຕ້ເງື່ອນໄຂໃດ? ເກັບສິ່ງນັ້ນແຍກຈາກສະຕຣິງທີ່ແຕ່ລະໂປຣແກຣມຕ້ອງການ.

ຂຽນເສັ້ນທາງທີ່ຄາດຫວັງກ່ອນ

ໃຊ້ທີ່ຢູ່ຕົວແທນ ລວມທັງກໍລະນີຂອບເຂດ ບໍ່ແມ່ນພຽງແຕ່ຄວາມສຳເລັດທີ່ງ່າຍ:

ຮູບແບບຈຸດໝາຍຄຳຖາມສຳລັບເຈົ້າຂອງນະໂຍບາຍ
ໂດເມນແມ່ຄວນຂ້າມ ຫຼື ພຽງແຕ່ໂດເມນລູກ?
ໂດເມນຍ່ອຍມັນສືບທອດເສັ້ນທາງດຽວກັນຫຼືບໍ່?
IP ສ່ວນຕົວແບບຊື່ທີ່ຢູ່ນັ້ນເຂົ້າເຖິງໄດ້ໂດຍກົງຈາກ client ນີ້ຫຼືບໍ່?
ບໍລິການດຽວກັນພາຍໃຕ້ hostnameຄຳຮ້ອງຕາມຊື່ ແລະ ຕາມທີ່ຢູ່ຄວນກົງກັນຫຼືບໍ່?
ພອດບໍລິການອື່ນຂໍ້ຍົກເວັ້ນກວມ host ຫຼື ຜູ້ຟັງພຽງໜຶ່ງ?

ຈາກນັ້ນກຳນົດຜູ້ໃຊ້: daemon ທີ່ດຶງ image, ໂປຣແກຣມພາຍໃນ container, ຫ້ອງສະໝຸດ HTTP ຂອງພາສາ ແລະ ບຣາວເຊີແບບໂຕ້ຕອບ ລ້ວນເປັນລາຍການແຍກໄດ້. ການຕັ້ງຄ່າ proxy ຂອງ Docker client ສາມາດເຕີມຄ່າ environment ຂອງ container ໂດຍບໍ່ຕ້ອງໃຫ້ທຸກ client ພາຍໃນຈັດຕັ້ງກົດການຈັບຄູ່ດຽວກັນ.

ແປ ບໍ່ແມ່ນຄັດລອກຢ່າງມືດມົວ

ຕົວຢ່າງທີ່ບັນທຶກໄວ້ໜຶ່ງຢ່າງຂອງຄວາມແຕກຕ່າງທີ່ແທ້ຈິງແມ່ນຂອບເຂດໂດເມນແມ່. ການຍົກເວັ້ນໂດເມນຂອງ curl ກວມໂດເມນທີ່ຕັ້ງຊື່ ແລະ ໂດເມນລູກທີ່ກົງກັນ. ນະໂຍບາຍ environment ຂອງ .NET ແຍກຊື່ເປົ່າ ອອກຈາກຮູບແບບໂດເມນຍ່ອຍທີ່ມີຈຸດນຳໜ້າ. ກົດສາກົນ „ໃຫ້ເພີ່ມຈຸດນຳໜ້າສະເໝີ“ ບໍ່ສາມາດສະແດງທັງສອງນະໂຍບາຍໄດ້ຢ່າງໜ້າເຊື່ອຖື.

ການຮອງຮັບຊ່ວງ IP ກໍຂຶ້ນກັບຜູ້ໃຊ້ ແລະ ເວີຊັນຂອງມັນ. ເຄື່ອງທີ່ມີ curl ແຍກໃໝ່ ຍັງສາມາດຮັນແອັບພລິເຄຊັນທີ່ເຊື່ອມກັບ libcurl ເກົ່າ, ຫຼື client ທີ່ໃຊ້ຫ້ອງສະໝຸດອື່ນທັງໝົດ. ລຸ້ນຂອງລະບົບປະຕິບັດການບໍ່ແມ່ນລາຍການ client ທີ່ຄົບຖ້ວນ.

ສຳລັບແຕ່ລະຜູ້ໃຊ້, ບັນທຶກອິນເຕີເຟສການຕັ້ງຄ່າທີ່ຮອງຮັບ ແລະ ການສະແດງອອກນ້ອຍທີ່ສຸດຂອງເສັ້ນທາງທີ່ຕັ້ງໃຈ. ລາຍການ host ທີ່ຊັດເຈນສັ້ນໆ ອາດດີກວ່າຮູບແບບສະຫຼາດທີ່ບໍ່ມີໃຜອະທິບາຍຄວາມໝາຍໄດ້.

ເກັບຫຼັກຖານການຕັ້ງຄ່າແຍກຈາກຫຼັກຖານການເຊື່ອມຕໍ່

ການຕັ້ງຄ່າທີ່ຖືກແຍກວິເຄາະ ຫຼື API ການຕັດສິນເສັ້ນທາງ ສາມາດສະແດງສິ່ງທີ່ໂປຣແກຣມເລືອກ. ຜົນຂອງຄຳຮ້ອງແລ້ວສະແດງວ່າເສັ້ນທາງນັ້ນໃຊ້ໄດ້ຫຼືບໍ່. ໃນ .NET, HttpClient.DefaultProxy.IsBypassed ໃຫ້ການກວດສອບທາງຝັ່ງການຕັ້ງຄ່ານັ້ນ ເມື່ອ proxy ເລີ່ມຕົ້ນເປັນນະໂຍບາຍທີ່ໃຊ້. ຢ່າວິນິດໄສບໍລິການກົງທີ່ເຂົ້າບໍ່ເຖິງວ່າເປັນຄວາມຜິດຂອງ parser ຂ້າມ ພຽງເພາະຄຳຮ້ອງໝົດເວລາ.

ຮັກສາຈຸດໝາຍຂອບເຂດໄວ້ເມື່ອອັບເດດ client ຫຼື base image. ພວກມັນເຮັດໃຫ້ການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ໃນອະນາຄົດເຫັນໄດ້ ໂດຍບໍ່ຕ້ອງໃຫ້ທັງທີມຄົ້ນພົບໃໝ່ວ່າເປັນຫຍັງໄຟລ໌ຈຶ່ງມີລາຍການໂດເມນທີ່ຄ້າຍກັນສອງອັນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ