VVinaProxy

Pag-aayos ng ERR_TUNNEL_CONNECTION_FAILED gamit ang proxy

Updated:

Upang mag-load ng https:// na page sa pamamagitan ng proxy, nagpapadala ang browser ng CONNECT request at naghihintay na magbukas ang proxy ng tunnel papunta sa site. Lumalabas ang ERR_TUNNEL_CONNECTION_FAILED kapag sumagot ang proxy sa request na iyon nang may error sa halip na pumayag. Ang problema, hindi sinasabi ng Chrome kung aling error ito, kaya ang unang dapat gawin ay hanapin ang totoong code.

Mga proxy na gumagana sa Puppeteer at Playwright

Dalawang sitwasyong aming na-reproduce

Parehong tumakbo ang mga ito laban sa isang test proxy, na muling isinulat dito gamit ang documentation address na 203.0.113.10:8080 at user123:pass456. Sa isang normal na window ng Chrome, ang kaso ng 407 ay hindi nagiging tunnel error; sa halip, nagbubukas ang Chrome ng sign-in dialog para sa username at password ng proxy. Samakatuwid, ang mga tunnel error na dulot ng 407 ay kadalasang lumalabas sa mga automation tool at sa mga app na hindi makahingi ng password.

Sagot ng proxy sa CONNECTIpinapakita ng ChromeIpinapakita ng curl
407 nang walang paraan upang magpasok ng password (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502 dahil hindi maabot ng proxy ang siteERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Mga sanhi, una ang pinakamalamang

  • Walang ipinapadalang credentials ang automation script. Tumatanggap lamang ang --proxy-server flag ng Chrome ng host at port, hindi user:pass. Nakakatanggap ang headless Puppeteer o Selenium ng 407 at nag-uulat ng tunnel failure.
  • Isang app sa telepono na nasa likod ng Wi-Fi proxy na protektado ng password. Walang login dialog ang app, kaya nasisira ang HTTPS habang gumagana pa rin ang browser.
  • Hindi maabot ng proxy ang target. Nagbabalik ito ng 502 sa CONNECT; detalyadong tinatalakay ito sa 502 Bad Gateway page.
  • Ilang site lang ang pumapalya. Ang destinasyon ay nagba-block o kaya ay down habang gumagana naman ang ibang mga site sa parehong proxy.

Hanapin ang totoong code gamit ang isang curl command

Patakbuhin ang curl -v -x http://user123:[email protected]:8080 https://example.com gamit ang sarili mong mga value. Tingnan ang linya pagkatapos mismo ng > CONNECT example.com:443 HTTP/1.1: ang 407 ay nangangahulugang sundin ang 407 guide; ang 502 naman ay tumutukoy sa destinasyon o sa path sa likod ng proxy. Kung mas gusto mong hindi gumamit ng terminal, i-paste ang linya sa proxy checker, na nag-uulat ng auth failed (407) o HTTP 502 para sa parehong mga sitwasyon.

Mga solusyon ayon sa environment

  • Puppeteer: panatilihin ang --proxy-server=http://host:port sa pag-launch at tawagin ang page.authenticate({ username, password }) bago mag-navigate. Buong halimbawa sa Puppeteer proxy guide.
  • Playwright: ipasa ang proxy: { server, username, password } kapag inilulunsad ang browser at sasagutin ng Playwright ang 407 para sa iyo; tingnan ang Playwright.
  • Selenium: hindi tumatanggap ang Chrome ng user:pass sa command line; ipinapakita ng Selenium guide ang mga praktikal na opsyon.
  • Chrome sa Windows: kung hindi lumalabas ang sign-in dialog, suriin kung may proxy extension na pumipigil dito, pagkatapos ay subukan muli sa isang window na walang mga extension.
  • Mga Telepono: para sa mga app na nangangailangan ng authenticated na proxy, gumamit ng proxy app na sumusuporta sa user:pass tulad ng nasa Android setup guide.

Sunod-sunod na hakbang

  1. 1

    Tukuyin ang tugon ng CONNECT

    Patakbuhin ang curl -v -x gamit ang linya ng iyong proxy, o i-paste ito sa checker, upang malaman kung nagbabalik ang proxy ng 407 o 502.

  2. 2

    Para sa 407: ibigay nang maayos ang credentials

    Sa mga script, gamitin ang authentication hook ng library sa halip na ilagay ang user:pass sa --proxy-server.

  3. 3

    Para sa 502: sumubok ng ibang site

    Mag-load ng malaking site tulad ng example.com sa parehong proxy. Kung gumagana ito, ang orihinal na destinasyon ang may problema.

  4. 4

    Patakbuhin muli at kumpirmahin ang exit IP

    Kapag nagbukas na ang tunnel, bisitahin ang my IP sa parehong browser upang kumpirmahing dumadaan ang traffic sa proxy.

Mga madalas itanong

Bakit naglo-load ang mga http page habang pumapalya ang mga https page?

Hindi kailangan ng plain http ng CONNECT; direktang ipinapasa ng proxy ang request. Ang https lamang ang nagbubukas ng tunnel, kaya doon lamang lumalabas ang mga tunnel error.

Ano ang nagdudulot ng ERR_TUNNEL_CONNECTION_FAILED sa Android?

Kadalasan ay isang app na hindi makapagpasa ng username at password sa isang Wi-Fi proxy. Subukan ang parehong page sa Chrome para sa Android; kung kayang mag-prompt at mag-load ng Chrome, ang app ang may problema.

Maaari ko bang ilagay ang user:pass sa loob ng --proxy-server?

Hindi. Hindi pinapansin ng Chrome ang mga credential sa flag na iyon, na humahantong sa 407 at sa tunnel error. Mag-authenticate sa halip sa pamamagitan ng Puppeteer, Playwright, o isang extension.

Maaalis ba ang tunnel error kung lilipat sa SOCKS5?

Kung SOCKS5 lamang ang iyong order. Nag-aalok ang VinaProxy ng parehong HTTP(S) at SOCKS5; piliin ang protocol na ipinapakita ng iyong order sa dashboard, dahil ang hindi pagtutugma ay nagdudulot ng iba't ibang error.

Mga proxy na gumagana sa Puppeteer at Playwright

Gumagamit ang mga proxy ng VinaProxy ng karaniwang user:pass login na madaling napapamahalaan ng mga sikat na automation library.

Tingnan ang presyo

Related articles

Mga error sa proxy
Paano ayusin ang 407 Proxy Authentication Required
Ang 407 Proxy Authentication Required ay nangangahulugang sumagot ang proxy ngunit tinanggihan ang login mo. Alamin ang mga sanhi, solusyon, at curl output.
Mga error sa proxy
Mga error na 502 Bad Gateway sa proxy: alamin kung sino ang nagpadala
Ang 502 Bad Gateway sa proxy ay dulot ng walang wastong tugon sa gitnang server. Alamin kung proxy o website ang may sala gamit ang totoong curl output.
Pag-setup ng proxy
Paano mag-set up ng authenticated proxy sa Puppeteer (Node.js)
I-set up ang authenticated na HTTP(S) proxy sa Node.js Puppeteer gamit ang --proxy-server launch flag at await page.authenticate(). Kopyahin ang mga halimbawa.
Pag-setup ng proxy
Paano mag-set up ng proxy sa Playwright (Browser & Per-Context Auth)
I-setup ang authenticated HTTP(S) proxy sa Playwright sa Node.js at Python, at magpatakbo ng mga static IP sa mga BrowserContext. Kopyahin ang mga halimbawa.
Pag-setup ng proxy
Paano mag-set up ng authenticated proxy sa Selenium WebDriver
I-configure ang may username:password na HTTP(S) proxy sa Selenium WebDriver gamit ang selenium-wire o Chrome onAuthRequired extension. Tingnan ang code.
Libreng mga tool
Proxy Checker: Suriin ang Iyong mga Proxy Online
Libreng proxy checker: mag-paste ng hanggang 100 proxy bilang ip:port:user:pass at suriin online ang status, exit IP at latency. Alamin ang bawat error.
Pag-setup ng proxy
Paano I-configure ang Proxy sa Google Chrome
I-configure ang VinaProxy HTTP(S) proxy sa Google Chrome gamit ang extensions, --proxy-server flag, o hiwalay na profile nang hindi binabago ang buong OS IP.
Pag-setup ng proxy
Paano I-configure ang Proxy sa Windows 10 at Windows 11
I-configure ang mga VinaProxy HTTP(S) proxy sa Windows 10 at Windows 11 gamit ang WinINET System Settings, PowerShell Environment Variables, o netsh winhttp.