ພຣັອກຊີ HTTP ຫຼື HTTPS: ປ້າຍນີ້ໝາຍເຖິງຫຍັງ?
ແຍກຄວາມຕ່າງລະຫວ່າງພຣັອກຊີ HTTP ທີ່ສ້າງອຸໂມງໄປເວັບໄຊ HTTPS ແລະພຣັອກຊີ HTTPS ທີ່ເຂົ້າລະຫັດການເຊື່ອມຕໍ່ເຖິງຕົວພຣັອກຊີເອງ.
ໃຊ້ scheme ທີ່ລະບຸໃນເອກະສານຂອງ listener ພຣັອກຊີ. ເມື່ອເລືອກຈາກລາຍການພຣັອກຊີ HTTP ໃຫ້ຢືນຢັນ scheme ຂອງ listener ກ່ອນຕັ້ງຄ່າ client. ເວັບໄຊ HTTPS ສາມາດໃຊ້ http://proxy.example:8080; ການປ່ຽນຄ່ານີ້ເປັນ https:// ແມ່ນການຂໍເຊື່ອມຕໍ່ຫາພຣັອກຊີອີກແບບໜຶ່ງ.
| URL ຂອງພຣັອກຊີ | URL ຂອງເວັບໄຊ | ການເຊື່ອມຕໍ່ |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | HTTP ທີ່ບໍ່ເຂົ້າລະຫັດເຖິງພຣັອກຊີ ແລະປາຍທາງ. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT ເຖິງພຣັອກຊີ ແລ້ວ TLS ກັບປາຍທາງຜ່ານອຸໂມງ. |
https://proxy.example:8443 | https://example.com/ | TLS ເຖິງພຣັອກຊີ ໂດຍອຸໂມງໄປປາຍທາງຢູ່ພາຍໃນການເຊື່ອມຕໍ່ນັ້ນ. |
ສຳລັບ listener HTTP ທົ່ວໄປທີ່ອະນຸຍາດ CONNECT ການຕັ້ງຄ່ານີ້ສອດຄ່ອງກັນ:
curl --proxy http://127.0.0.1:8080 https://example.com/ການ handshake TLS ກັບເວັບໄຊຈະເກີດຂຶ້ນຫຼັງຈາກພຣັອກຊີຍອມຮັບອຸໂມງ. ຖ້າປ່ຽນ URL ຂອງພຣັອກຊີເປັນ https:// ແຕ່ listener ເຂົ້າໃຈພຽງ HTTP ທີ່ບໍ່ເຂົ້າລະຫັດ ການເຈລະຈາ TLS ກັບພຣັອກຊີອາດລົ້ມເຫຼວກ່ອນຕິດຕໍ່ເວັບໄຊ.
TLS ເຖິງພຣັອກຊີເພີ່ມຫຍັງ?
ພຣັອກຊີທີ່ຮອງຮັບ TLS ປົກປ້ອງລິ້ງລະຫວ່າງ client ແລະພຣັອກຊີ ລວມທັງການແລກປ່ຽນ CONNECT ແລະການຢືນຢັນຕົວຕົນກັບພຣັອກຊີ ຈາກການດັກຟັງແບບບໍ່ແຊກແຊງໃນເສັ້ນທາງນັ້ນ. ຜູ້ດຳເນີນງານພຣັອກຊີຍັງຈັດການການເຊື່ອມຕໍ່ ແລະຮູ້ປາຍທາງຂອງອຸໂມງ. ທັງ client ແລະ listener ຕ້ອງຮອງຮັບໂໝດນີ້:
curl --proxy https://proxy.example:8443 https://example.com/ໃຊ້ຊື່ໂຮສຈິງຂອງບໍລິການ; ໃບຢັ້ງຢືນຕ້ອງກົງກັບຊື່ ແລະໄດ້ຮັບຄວາມເຊື່ອຖື. ຂໍ້ຈຳກັດດ້ານປາຍທາງ ແລະພອດຍັງມີຜົນ.
ເມື່ອໃຊ້ HTTPS ທັງສອງຝັ່ງ ຈະມີການກວດສອບໃບຢັ້ງຢືນສອງສ່ວນ. curl ໃຫ້ຕັ້ງຄ່າແຍກກັນໄດ້:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert ກຳນົດຄວາມເຊື່ອຖືສຳລັບພຣັອກຊີ; --cacert ກຳນົດສຳລັບປາຍທາງ. ໃຊ້ຊຸດໃບຢັ້ງຢືນທີ່ຜູ້ດູແລໃຫ້ເມື່ອຈຳເປັນ; ຄ່າຄວາມເຊື່ອຖືຂອງລະບົບອາດພຽງພໍຢູ່ແລ້ວ. ກ່ອນປ່ຽນຄ່າໃດໜຶ່ງ ໃຫ້ລະບຸວ່າ handshake ໃດລົ້ມເຫຼວ.
ປ້າຍ “HTTPS” ໃນລາຍການພຣັອກຊີອາດໝາຍເຖິງພຽງວ່າເອັນພອຍນັ້ນຜ່ານການທົດສອບ CONNECT. ຖ້າລາຍການບໍ່ໄດ້ອະທິບາຍການທົດສອບ ປ້າຍນີ້ຢ່າງດຽວບໍ່ບອກວ່າ listener ຄາດຫວັງ http:// ຫຼື https://.