ວິທີແກ້ໄຂ ERR_TUNNEL_CONNECTION_FAILED ເມື່ອໃຊ້ proxy
Updated:
ເພື່ອໂຫຼດໜ້າເວັບ https:// ຜ່ານ proxy, ບຣາວເຊີຈະສົ່ງຄຳຂໍ CONNECT ແລະ ລໍຖ້າໃຫ້ proxy ເປີດ tunnel ໄປຍັງເວັບໄຊ. ERR_TUNNEL_CONNECTION_FAILED ຈະປະກົດຂຶ້ນເມື່ອ proxy ຕອບກັບຄຳຂໍນັ້ນດ້ວຍຂໍ້ຜິດພາດແທນທີ່ຈະອະນຸຍາດ. ບັນຫາຄື Chrome ບໍ່ໄດ້ບອກວ່າແມ່ນຂໍ້ຜິດພາດໃດ, ສະນັ້ນສິ່ງທຳອິດທີ່ຕ້ອງເຮັດແມ່ນຊອກຫາລະຫັດຕົວຈິງ.
ສອງກໍລະນີທີ່ພວກເຮົາຈຳລອງຂຶ້ນ
ທັງສອງກໍລະນີໄດ້ທົດສອບກັບ proxy ທົດລອງ, ເຊິ່ງຖືກປ່ຽນໃນທີ່ນີ້ດ້ວຍທີ່ຢູ່ເອກະສານ 203.0.113.10:8080 ແລະ user123:pass456. ໃນໜ້າຕ່າງ Chrome ທົ່ວໄປ ກໍລະນີ 407 ຈະບໍ່ເກີດເປັນຂໍ້ຜິດພາດ tunnel; ແຕ່ Chrome ຈະເປີດປ່ອງຢ້ຽມເຂົ້າສູ່ລະບົບເພື່ອໃຫ້ປ້ອນຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານຂອງ proxy ແທນ. ດັ່ງນັ້ນ ຂໍ້ຜິດພາດ tunnel ທີ່ເກີດຈາກ 407 ສ່ວນຫຼາຍຈຶ່ງພົບໃນເຄື່ອງມື automation ແລະ ໃນແອັບທີ່ບໍ່ສາມາດສະແດງປ່ອງຢ້ຽມຖາມລະຫັດຜ່ານໄດ້.
| Proxy ຕອບກັບ CONNECT ດ້ວຍ | Chrome ສະແດງ | curl ສະແດງ |
|---|---|---|
407 ໂດຍບໍ່ມີຊ່ອງໃຫ້ປ້ອນລະຫັດຜ່ານ (headless Chrome) | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 407 |
502 ເນື່ອງຈາກ proxy ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເວັບໄຊໄດ້ | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 502 |
ສາເຫດ, ລຽງຕາມໂອກາດເກີດຂຶ້ນຫຼາຍທີ່ສຸດກ່ອນ
- ສະຄຣິບ automation ບໍ່ໄດ້ສົ່ງຂໍ້ມູນການຢືນຢັນຕົວຕົນ. ແຟລັກ
--proxy-serverຂອງ Chrome ຮອງຮັບສະເພາະ host ແລະ port ເທົ່ານັ້ນ, ບໍ່ຮອງຮັບ user:pass. ເຮັດໃຫ້ Headless Puppeteer ຫຼື Selenium ໄດ້ຮັບ 407 ແລະ ແຈ້ງຂໍ້ຜິດພາດ tunnel. - ແອັບໃນໂທລະສັບທີ່ໃຊ້ຜ່ານ Wi-Fi proxy ທີ່ມີລະຫັດຜ່ານ. ແອັບບໍ່ມີປ່ອງຢ້ຽມເຂົ້າສູ່ລະບົບ, ເຮັດໃຫ້ HTTPS ໃຊ້ງານບໍ່ໄດ້ ໃນຂະນະທີ່ບຣາວເຊີຍັງໃຊ້ໄດ້ປົກກະຕິ.
- Proxy ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາປາຍທາງໄດ້. ມັນຈຶ່ງຕອບກັບ 502 ສຳລັບ CONNECT; ເບິ່ງລາຍລະອຽດເພີ່ມເຕີມໄດ້ທີ່ ໜ້າ 502 Bad Gateway.
- ເກີດຂໍ້ຜິດພາດສະເພາະບາງເວັບໄຊ. ເວັບໄຊປາຍທາງອາດບລັອກ ຫຼື ລະບົບຫຼົ້ມ ໃນຂະນະທີ່ເວັບໄຊອື່ນໆ ຍັງໃຊ້ງານຜ່ານ proxy ດຽວກັນໄດ້.
ຊອກຫາລະຫັດຕົວຈິງດ້ວຍຄຳສັ່ງ curl ດຽວ
ຣັນຄຳສັ່ງ curl -v -x http://user123:[email protected]:8080 https://example.com ໂດຍປ່ຽນເປັນຄ່າຂອງທ່ານເອງ. ສັງເກດແຖວທີ່ຢູ່ຖັດຈາກ > CONNECT example.com:443 HTTP/1.1: ຖ້າເປັນ 407 ໃຫ້ປະຕິບັດຕາມ ຄູ່ມື 407; ຖ້າເປັນ 502 ສະແດງວ່າມີບັນຫາທີ່ປາຍທາງ ຫຼື ເສັ້ນທາງຫຼັງ proxy. ຖ້າທ່ານບໍ່ສະດວກໃຊ້ terminal, ໃຫ້ວາງຂໍ້ຄວາມດັ່ງກ່າວລົງໃນ proxy checker, ເຊິ່ງຈະລາຍງານ auth failed (407) ຫຼື HTTP 502 ສຳລັບສະຖານະການດຽວກັນ.
ວິທີແກ້ໄຂຕາມແຕ່ລະສະພາບແວດລ້ອມ
- Puppeteer: ໃຊ້
--proxy-server=http://host:portຕອນເປີດໃຊ້ ແລະ ຮຽກໃຊ້page.authenticate({ username, password })ກ່ອນໄປຍັງໜ້າເວັບ. ເບິ່ງຕົວຢ່າງເຕັມໄດ້ທີ່ ຄູ່ມື proxy ສຳລັບ Puppeteer. - Playwright: ສົ່ງ
proxy: { server, username, password }ເມື່ອເປີດບຣາວເຊີ ແລ້ວ Playwright ຈະຈັດການຕອບກັບ 407 ໃຫ້ທ່ານເອງ; ເບິ່ງທີ່ Playwright. - Selenium: Chrome ບໍ່ຮອງຮັບການໃສ່ user:pass ຜ່ານ command line; ເບິ່ງວິທີແກ້ໄຂທີ່ໃຊ້ງານໄດ້ໃນ ຄູ່ມື Selenium.
- Chrome on Windows: ຖ້າປ່ອງຢ້ຽມເຂົ້າສູ່ລະບົບບໍ່ສະແດງຂຶ້ນ, ໃຫ້ກວດເບິ່ງວ່າມີສ່ວນຂະຫຍາຍ proxy ບລັອກໄວ້ຫຼືບໍ່, ຈາກນັ້ນລອງໃໝ່ໃນໜ້າຕ່າງທີ່ບໍ່ມີສ່ວນຂະຫຍາຍ.
- Phones: ສຳລັບແອັບທີ່ຕ້ອງການ proxy ທີ່ມີການຢືນຢັນຕົວຕົນ, ໃຫ້ໃຊ້ແອັບ proxy ທີ່ຮອງຮັບ user:pass ດັ່ງທີ່ແນະນຳໃນ ຄູ່ມືການຕິດຕັ້ງເທິງ Android.
ເທື່ອລະຂັ້ນຕອນ
- 1
ກວດສອບການຕອບກັບຂອງ CONNECT
ຣັນ
curl -v -xດ້ວຍ proxy ຂອງທ່ານ, ຫຼື ວາງລົງໃນເຄື່ອງມືກວດສອບ, ເພື່ອເບິ່ງວ່າ proxy ສົ່ງຄືນ 407 ຫຼື 502. - 2
ສຳລັບ 407: ປ້ອນຂໍ້ມູນການຢືນຢັນຕົວຕົນໃຫ້ຖືກຕ້ອງ
ໃນສະຄຣິບ, ໃຫ້ໃຊ້ຮຸກການຢືນຢັນຕົວຕົນຂອງໄລບຣາຣີ ແທນທີ່ຈະໃສ່ user:pass ລົງໃນ
--proxy-server. - 3
ສຳລັບ 502: ທົດລອງກັບເວັບໄຊອື່ນ
ໂຫຼດເວັບໄຊໃຫຍ່ໆ ເຊັ່ນ example.com ຜ່ານ proxy ດຽວກັນ. ຖ້າໃຊ້ງານໄດ້, ສະແດງວ່າບັນຫາເກີດຈາກເວັບໄຊປາຍທາງເດີມ.
- 4
ທົດສອບໃໝ່ ແລະ ຢືນຢັນ IP ປາຍທາງ
ເມື່ອ tunnel ເປີດແລ້ວ, ໃຫ້ເຂົ້າເບິ່ງ my IP ໃນບຣາວເຊີດຽວກັນ ເພື່ອຢືນຢັນວ່າທຣາຟິກແລ່ນຜ່ານ proxy ແທ້.
ຄຳຖາມທີ່ຖາມເລື້ອຍໆ
ເປັນຫຍັງໜ້າເວັບ http ຈຶ່ງໂຫຼດໄດ້ ແຕ່ໜ້າເວັບ https ຈຶ່ງໂຫຼດບໍ່ໄດ້?
http ທຳມະດາບໍ່ຈຳເປັນຕ້ອງໃຊ້ CONNECT; proxy ຈະສົ່ງຕໍ່ຄຳຂໍໄປໂດຍກົງ. ມີພຽງແຕ່ https ເທົ່ານັ້ນທີ່ຕ້ອງເປີດ tunnel, ດັ່ງນັ້ນຂໍ້ຜິດພາດ tunnel ຈຶ່ງເກີດຂຶ້ນສະເພາະກັບ https.
ສາເຫດທີ່ພາໃຫ້ເກີດ ERR_TUNNEL_CONNECTION_FAILED ເທິງ Android ແມ່ນຫຍັງ?
ສ່ວນໃຫຍ່ເກີດຈາກແອັບບໍ່ສາມາດສົ່ງຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານໄປຍັງ Wi-Fi proxy ໄດ້. ລອງເປີດໜ້າເວັບດຽວກັນໃນ Chrome ສຳລັບ Android; ຖ້າ Chrome ສາມາດສະແດງປ່ອງຢ້ຽມຖາມ ແລະ ໂຫຼດໄດ້, ສະແດງວ່າບັນຫາເກີດຈາກແອັບ.
ຂ້ອຍສາມາດໃສ່ user:pass ໄວ້ໃນ --proxy-server ໄດ້ຫຼືບໍ່?
ບໍ່ໄດ້. Chrome ຈະລະເລີຍຂໍ້ມູນການຢືນຢັນຕົວຕົນໃນແຟລັກດັ່ງກ່າວ, ເຊິ່ງຈະພາໃຫ້ເກີດ 407 ແລະ ຂໍ້ຜິດພາດ tunnel. ໃຫ້ຢືນຢັນຕົວຕົນຜ່ານ Puppeteer, Playwright ຫຼື ສ່ວນຂະຫຍາຍແທນ.
ການປ່ຽນໄປໃຊ້ SOCKS5 ຈະຊ່ວຍແກ້ໄຂຂໍ້ຜິດພາດ tunnel ໄດ້ຫຼືບໍ່?
ສະເພາະກໍລະນີທີ່ແພັກເກດຂອງທ່ານແມ່ນ SOCKS5 ເທົ່ານັ້ນ. VinaProxy ໃຫ້ບໍລິການທັງ HTTP(S) ແລະ SOCKS5; ໃຫ້ເລືອກໂປຣໂຕຄໍຕາມທີ່ແພັກເກດຂອງທ່ານສະແດງໃນ dashboard ເພາະວ່າການເລືອກບໍ່ກົງກັນຈະເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດອື່ນໆ.
Proxy ທີ່ຮອງຮັບການເຮັດວຽກກັບ Puppeteer ແລະ Playwright
Proxy ຂອງ VinaProxy ໃຊ້ການເຂົ້າສູ່ລະບົບແບບ user:pass ມາດຕະຖານ ທີ່ໄລບຣາຣີ automation ຍອດນິຍົມຮອງຮັບໄດ້ທັນທີ.
ເບິ່ງລາຄາ