VVinaProxy

Ako opraviť ERR_TUNNEL_CONNECTION_FAILED pri použití proxy

Updated:

Ak chcete načítať stránku s https:// cez proxy, prehliadač odošle požiadavku CONNECT a čaká, kým proxy otvorí tunel k cieľovému webu. ERR_TUNNEL_CONNECTION_FAILED sa zobrazí vtedy, keď proxy namiesto potvrdenia odpovie chybou. Háčik je v tom, že Chrome vám nepovie, o akú chybu ide, takže prvým krokom je zistiť skutočný kód.

Proxy, ktoré fungujú s Puppeteerom a Playwrightom

Dva prípady, ktoré sme reprodukovali

Oba prípady sme testovali na testovacej proxy, tu uvedenej s dokumentačnou adresou 203.0.113.10:8080 a prihlasovacími údajmi user123:pass456. V bežnom okne prehliadača Chrome sa kód 407 nezmení na chybu tunela – Chrome namiesto toho otvorí prihlasovací dialóg pre používateľské meno a heslo k proxy. Chyby tunela spôsobené kódom 407 sa preto vyskytujú najmä v automatizačných nástrojoch a v aplikáciách, ktoré nedokážu zobraziť výzvu na zadanie hesla.

Proxy odpovedá na CONNECT kódomChrome zobrazujecurl zobrazuje
407 bez možnosti zadať heslo (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502, pretože proxy sa nedokáže spojiť s cieľovým webomERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Príčiny od najpravdepodobnejších

  • Automatizačný skript neodosiela prihlasovacie údaje. Parameter --proxy-server v prehliadači Chrome prijíma iba hostiteľa a port, nie user:pass. Headless Puppeteer alebo Selenium dostane kód 407 a nahlási zlyhanie tunela.
  • Mobilná aplikácia za Wi-Fi proxy chránenou heslom. Aplikácia nemá prihlasovací dialóg, takže HTTPS spojenie zlyhá, hoci prehliadač naďalej funguje.
  • Proxy sa nedokáže spojiť s cieľom. Na požiadavku CONNECT vráti kód 502; podrobnosti nájdete na stránke 502 Bad Gateway.
  • Zlyhávajú iba niektoré stránky. Cieľový web blokuje pripojenie alebo je nedostupný, zatiaľ čo iné stránky cez tú istú proxy fungujú.

Zistite skutočný kód pomocou jedného príkazu curl

Spustite príkaz curl -v -x http://user123:[email protected]:8080 https://example.com s vašimi vlastnými hodnotami. Pozrite sa na riadok hneď za > CONNECT example.com:443 HTTP/1.1: kód 407 znamená, že by ste mali postupovať podľa návodu pre chybu 407; kód 502 poukazuje na problém s cieľovým webom alebo trasou za proxy. Ak nechcete používať terminál, vložte tento riadok do nástroja proxy checker, ktorý pre rovnaké situácie vypíše auth failed (407) alebo HTTP 502.

Riešenia podľa prostredia

  • Puppeteer: pri spustení ponechajte --proxy-server=http://host:port a pred navigáciou zavolajte page.authenticate({ username, password }). Kompletný príklad nájdete v návode pre proxy v Puppeteeri.
  • Playwright: pri spúšťaní prehliadača odovzdajte proxy: { server, username, password } a Playwright vyrieši kód 407 za vás; pozrite si návod pre Playwright.
  • Selenium: Chrome neprijíma user:pass v príkazovom riadku; funkčné možnosti nájdete v návode pre Selenium.
  • Chrome v systéme Windows: ak sa prihlasovací dialóg vôbec nezobrazí, skontrolujte, či ho nepotláča rozšírenie pre proxy, a skúste to znova v okne bez rozšírení.
  • Telefóny: v prípade aplikácií, ktoré vyžadujú overenú proxy, použite proxy aplikáciu s podporou user:pass podľa návodu na nastavenie pre Android.

Krok za krokom

  1. 1

    Identifikujte odpoveď na CONNECT

    Spustite príkaz curl -v -x s údajmi vašej proxy alebo ich vložte do overovača a zistite, či proxy vracia kód 407 alebo 502.

  2. 2

    Pri kóde 407: zadajte prihlasovacie údaje správnym spôsobom

    V skriptoch použite autentifikačnú funkciu danej knižnice namiesto vkladania user:pass do parametra --proxy-server.

  3. 3

    Pri kóde 502: vyskúšajte inú stránku

    Načítajte cez tú istú proxy veľký web, napríklad example.com. Ak funguje, problém je v pôvodnom cieľovom webe.

  4. 4

    Zopakujte test a overte výstupnú IP adresu

    Keď sa tunel otvorí, otvorte v tom istom prehliadači stránku moja IP a overte, že prevádzka prechádza cez proxy.

Často kladené otázky

Prečo sa stránky http načítavajú, zatiaľ čo https zlyhávajú?

Obyčajný protokol http nevyžaduje CONNECT; proxy požiadavku preposiela priamo. Tunel otvára iba https, preto sa chyby tunela vyskytujú len pri ňom.

Čo spôsobuje ERR_TUNNEL_CONNECTION_FAILED v systéme Android?

Najčastejšie ide o aplikáciu, ktorá nedokáže odovzdať používateľské meno a heslo pre Wi-Fi proxy. Skúste rovnakú stránku otvoriť v prehliadači Chrome pre Android; ak Chrome dokáže zobraziť výzvu a načítať ju, problém je v aplikácii.

Môžem zadať user:pass do parametra --proxy-server?

Nie. Chrome prihlasovacie údaje v tomto parametri ignoruje, čo vedie ku kódu 407 a chybe tunela. Namiesto toho vykonajte autentifikáciu cez Puppeteer, Playwright alebo rozšírenie.

Odstráni prepnutie na SOCKS5 chybu tunela?

Iba v prípade, že vaša objednávka je pre SOCKS5. VinaProxy ponúka HTTP(S) aj SOCKS5; vyberte si protokol, ktorý máte uvedený pri objednávke v dashboarde, pretože nesúlad spôsobí iné chyby.

Proxy, ktoré fungujú s Puppeteerom a Playwrightom

Proxy od VinaProxy využívajú štandardné prihlásenie user:pass, ktoré populárne automatizačné knižnice podporujú bez ďalšej konfigurácie.

Zobraziť cenník

Related articles

Chyby proxy
Ako vyriešiť chybu 407 Proxy Authentication Required
Chyba 407 Proxy Authentication Required znamená, že proxy odmietla prihlásenie. Pozrite si reálny výstup curl, najčastejšie príčiny a riešenia podľa aplikácií.
Chyby proxy
Chyby proxy 502 Bad Gateway: zistite, kto ich odoslal
Chyba 502 Bad Gateway cez proxy znamená neplatnú odpoveď servera. Zistite, či je na vine proxy alebo samotný web, aj pomocou ukážok výstupu z curl.
Nastavenie proxy
Ako nastaviť overenú proxy v Puppeteer (Node.js)
Nakonfigurujte overené HTTP(S) proxy v Puppeteer pre Node.js pomocou prepínača --proxy-server a await page.authenticate(). Skopírujte si funkčné príklady.
Nastavenie proxy
Ako nastaviť proxy v Playwright (autentifikácia prehliadača a per-context)
Nakonfigurujte overené HTTP(S) proxy v Playwright pre Node.js a Python a spúšťajte viacero izolovaných statických IP v BrowserContextoch. Skopírujte si ukážky.
Nastavenie proxy
Ako nastaviť autentifikovanú proxy v Selenium WebDriver
Nakonfigurujte HTTP(S) proxy s overením menom a heslom v Selenium WebDriver pomocou selenium-wire alebo rozšírenia Chrome onAuthRequired. Pozrite si kód.
Bezplatné nástroje
Proxy Checker: Skontrolujte si svoje proxy online
Bezplatný proxy checker: vložte až 100 proxy v tvare ip:port:user:pass a overte online stav, výstupnú IP a latenciu. Zistite, čo jednotlivé chyby znamenajú.
Nastavenie proxy
Ako nakonfigurovať proxy v Google Chrome
Nakonfigurujte VinaProxy HTTP(S) proxy v Google Chrome bez zmeny IP celého OS pomocou rozšírení, parametrov --proxy-server alebo samostatných profilov.
Nastavenie proxy
Ako nakonfigurovať proxy vo Windows 10 a Windows 11
Nakonfigurujte VinaProxy HTTP(S) proxy vo Windows 10 a 11 pomocou nastavení WinINET, systémových premenných v PowerShelli alebo príkazu netsh winhttp.