ກວດສອບເນື້ອໃນການຕອບສະໜອງ CONNECT ຂອງ proxy ທີ່ລົ້ມເຫຼວດ້ວຍ curl
ສົ່ງ CONNECT ວິເຄາະທີ່ສ້າງຢ່າງຖືກຕ້ອງໄປຍັງ HTTP proxy ໂດຍກົງ ແລະ ເກັບຫົວຂໍ້ ແລະ ເນື້ອໃນຂອງຄວາມຜິດພາດ HTTP ແຍກກັນ.
proxy ທີ່ປະຕິເສດ CONNECT ອາດສົ່ງເອກະສານຄວາມຜິດພາດ HTTP ກັບມາ ເຊິ່ງອະທິບາຍນະໂຍບາຍ ຫຼື ຄວາມລົ້ມເຫຼວຂອງການເຊື່ອມຕໍ່ຕໍ່ໄປ. ສຳລັບການວິເຄາະທີ່ໄດ້ຮັບອະນຸຍາດຕໍ່ HTTP proxy ທຳມະດາ curl ສາມາດສົ່ງຄຳຮ້ອງຂໍນັ້ນໂດຍກົງ ແລະ ເກັບຄຳຕອບ:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
URL ສຸດທ້າຍຊີ້ໄປຍັງຕົວຮັບຟັງຂອງ proxy. ສຳລັບການປຽບທຽບ proxy ສາທາລະນະທີ່ອະນຸຍາດ ລາຍຊື່ proxy HTTP ໃຫ້ຜູ້ສະໝັກສຳລັບ URL ຕົວຮັບຟັງນັ້ນ. --request ໃຫ້ໂທເຄັນວິທີ; --request-target ໃຫ້ສິດ CONNECT. ການແຍກມັນໄວ້ຈະສ້າງ CONNECT service.example:443 HTTP/1.1.
ຕົວເລືອກ proxy ຫວ່າງເປົ່າປ້ອງກັນບໍ່ໃຫ້ curl ສົ່ງການວິເຄາະນີ້ຜ່ານ proxy ອື່ນທີ່ສືບທອດມາ. ຄຳສັ່ງຕັ້ງໃຈລະເວັ້ນ --fail ເພື່ອໃຫ້ເອກະສານຄວາມຜິດພາດ HTTP ຖືກເກັບໄວ້ໄດ້.
ການພະຍາຍາມທີ່ບໍ່ມີການພິສູດຕົວຕົນອາດຢຸດຢູ່ 407 ກ່ອນຈະຮອດຄວາມລົ້ມເຫຼວທີ່ກຳລັງສືບສວນ. ໃຊ້ການຈັດການພິສູດຕົວຕົນທີ່ proxy ຕັ້ງໃຈໄວ້ເມື່ອສ້າງຄຳຮ້ອງຂໍທີ່ພິສູດຕົວຕົນແລ້ວຄືນໃໝ່.
ນີ້ແມ່ນສຳລັບກວດສອບຄຳຕອບຄວາມລົ້ມເຫຼວ. ຖ້າ proxy ສົ່ງ 2xx ກັບມາ ການເຊື່ອມຕໍ່ຈະກາຍເປັນ ອຸໂມງ ແທນການສົ່ງເນື້ອໃນ HTTP ທຳມະດາ. ການວິເຄາະດ້ວຍວິທີພິເສດນີ້ບໍ່ເລີ່ມການແລກປ່ຽນ TLS ຂອງປາຍທາງ ແລະ ອາດຮອດຂີດຈຳກັດເວລາຂອງມັນເທິງອຸໂມງເປີດທີ່ຖືກຍອມຮັບ.
ໃຊ້ການໄຫຼຄຳຮ້ອງຂໍ --proxy ປົກກະຕິສຳລັບການດຶງ HTTPS ຈິງ. ເກັບສະຖານະ ແລະ ເນື້ອໃນຂອງການວິເຄາະໄວ້ກັບ proxy ແລະ ເປົ້າໝາຍສະເພາະຂອງມັນ.