VVinaProxy

Jak vyřešit ERR_TUNNEL_CONNECTION_FAILED při použití proxy

Updated:

Při načítání stránky s https:// přes proxy odesílá prohlížeč požadavek CONNECT a čeká, až proxy otevře k webu tunel. Chyba ERR_TUNNEL_CONNECTION_FAILED se zobrazí, když proxy na tento požadavek odpoví chybou místo navázání spojení. Háček je v tom, že Chrome neuvádí konkrétní chybu, takže prvním krokem je zjistit skutečný kód.

Proxy, které fungují s Puppeteerem i Playwrightem

Dva případy, které jsme reprodukovali

Oba testy proběhly proti testovací proxy, zde uvedené s ukázkovou adresou 203.0.113.10:8080 a údaji user123:pass456. V běžném okně Chrome kód 407 nezpůsobí chybu tunelu – Chrome místo toho otevře přihlašovací dialog pro zadání uživatelského jména a hesla k proxy. Chyby tunelu způsobené kódem 407 se proto objevují především v automatizačních nástrojích a v aplikacích, které neumějí zobrazit výzvu k zadání hesla.

Proxy na CONNECT odpovíChrome zobrazícurl zobrazí
407 bez možnosti zadat heslo (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502, protože proxy se nemůže spojit s webemERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Příčiny, od těch nejpravděpodobnějších

  • Automatizační skript neodesílá přihlašovací údaje. Přepínač Chrome --proxy-server přijímá pouze hostitele a port, nikoli user:pass. Headless Puppeteer nebo Selenium obdrží kód 407 a nahlásí selhání tunelu.
  • Mobilní aplikace za Wi-Fi proxy chráněnou heslem. Aplikace nemá žádný přihlašovací dialog, takže HTTPS přestane fungovat, zatímco prohlížeč stále běží.
  • Proxy se nemůže spojit s cílem. Na požadavek CONNECT vrátí 502; podrobně se tomu věnuje stránka 502 Bad Gateway.
  • Selhávají pouze některé weby. Cílový web proxy blokuje nebo má výpadek, zatímco jiné weby přes stejnou proxy fungují.

Zjistěte skutečný kód pomocí jediného příkazu curl

Spusťte curl -v -x http://user123:[email protected]:8080 https://example.com s vlastními hodnotami. Podívejte se na řádek hned za > CONNECT example.com:443 HTTP/1.1: kód 407 znamená, že byste měli postupovat podle průvodce chybou 407; kód 502 ukazuje na problém u cílového webu nebo na trase za proxy. Pokud nechcete používat terminál, vložte řádek do nástroje na kontrolu proxy, který ve stejných situacích nahlásí auth failed (407) nebo HTTP 502.

Řešení podle prostředí

  • Puppeteer: při spuštění ponechte --proxy-server=http://host:port a před přechodem na stránku zavolejte page.authenticate({ username, password }). Kompletní příklad najdete v průvodci nastavením proxy pro Puppeteer.
  • Playwright: při spouštění prohlížeče předejte proxy: { server, username, password } a Playwright kód 407 vyřeší za vás; viz Playwright.
  • Selenium: Chrome nepřijímá user:pass na příkazovém řádku; funkční řešení popisuje průvodce pro Selenium.
  • Chrome ve Windows: pokud se přihlašovací dialog vůbec nezobrazí, zkontrolujte, zda ho nepotlačuje nějaké proxy rozšíření, a zkuste to znovu v okně bez rozšíření.
  • Chytré telefony: u aplikací, které vyžadují autentizovanou proxy, použijte proxy aplikaci s podporou user:pass podle návodu k nastavení pro Android.

Krok za krokem

  1. 1

    Zjistěte odpověď na požadavek CONNECT

    Spusťte curl -v -x se svým proxy řádkem nebo jej vložte do kontrolního nástroje a zjistěte, zda proxy vrací 407, nebo 502.

  2. 2

    Pro kód 407: předejte přihlašovací údaje správně

    Ve skriptech použijte autentizační metodu dané knihovny namísto vkládání user:pass do --proxy-server.

  3. 3

    Pro kód 502: vyzkoušejte jiný web

    Načtěte přes stejnou proxy velký web, například example.com. Pokud funguje, problém je na straně původního cíle.

  4. 4

    Spusťte test znovu a ověřte výstupní IP adresu

    Jakmile se tunel otevře, navštivte ve stejném prohlížeči stránku moje IP a ověřte, že provoz skutečně prochází přes proxy.

Často kladené otázky

Proč se http stránky načítají, ale https stránky selhávají?

Běžné http požadavek CONNECT nepotřebuje; proxy předává požadavek přímo. Tunel otevírá pouze https, proto se chyby tunelu objevují jen u něj.

Co způsobuje ERR_TUNNEL_CONNECTION_FAILED na Androidu?

Nejčastěji jde o aplikaci, která neumí předat uživatelské jméno a heslo pro Wi-Fi proxy. Zkuste stejnou stránku otevřít v aplikaci Chrome pro Android; pokud Chrome zobrazí výzvu k přihlášení a stránku načte, problém je v samotné aplikaci.

Mohu zadat user:pass do parametru --proxy-server?

Ne. Chrome přihlašovací údaje v tomto parametru ignoruje, což vede ke kódu 407 a chybě tunelu. K přihlášení využijte raději Puppeteer, Playwright nebo rozšíření.

Odstraní přepnutí na SOCKS5 chybu tunelu?

Pouze pokud máte zakoupený protokol SOCKS5. VinaProxy nabízí HTTP(S) i SOCKS5; zvolte protokol, který máte uvedený u své objednávky v administračním panelu, protože nesoulad protokolů způsobuje jiné chyby.

Proxy, které fungují s Puppeteerem i Playwrightem

Proxy od VinaProxy využívají standardní přihlašování user:pass, které oblíbené automatizační knihovny podporují bez nutnosti složitého nastavování.

Zobrazit ceník

Related articles

Chyby proxy
Jak vyřešit chybu 407 Proxy Authentication Required
Chyba 407 Proxy Authentication Required znamená, že proxy odmítla přihlášení. Podívejte se na výstup z curl, časté příčiny a řešení pro různé aplikace.
Chyby proxy
Chyby proxy 502 Bad Gateway: zjistěte, kdo je odesílatelem
Chyba 502 Bad Gateway přes proxy značí, že server nezískal platnou odpověď. Zjistěte podle reálného výstupu z curl, zda je na vině proxy, nebo cílový web.
Nastavení proxy
Jak nastavit ověřenou proxy v Puppeteer (Node.js)
Nastavte ověřené HTTP(S) proxy v Node.js Puppeteer pomocí parametru --proxy-server a await page.authenticate(). Zkopírujte si funkční příklady.
Nastavení proxy
Jak nastavit proxy v Playwright (autentizace prohlížeče i jednotlivých kontextů)
Nakonfigurujte ověřené HTTP(S) proxy v Playwright pro Node.js a Python a provozujte více izolovaných statických IP napříč BrowserContexty. Zkopírujte si ukázky.
Nastavení proxy
Jak nastavit proxy s autentizací v Selenium WebDriver
Nastavte HTTP(S) proxy s ověřením jménem a heslem v Selenium WebDriver pomocí selenium-wire nebo rozšíření Chrome onAuthRequired. Podívejte se na kód.
Nástroje zdarma
Proxy Checker: ověřte své proxy online
Bezplatný proxy checker: vložte až 100 proxy jako ip:port:user:pass a ověřte online stav, výstupní IP i latenci. Zjistěte, co jednotlivé chyby znamenají.
Nastavení proxy
Jak nakonfigurovat proxy v Google Chrome
Nastavte HTTP(S) proxy VinaProxy v Google Chrome bez změny IP v celém OS. Využijte rozšíření, parametr --proxy-server nebo samostatné uživatelské profily.
Nastavení proxy
Jak nastavit proxy ve Windows 10 a Windows 11
Nakonfigurujte HTTP(S) proxy VinaProxy ve Windows 10 a 11 pomocí systémového Nastavení (WinINET), proměnných prostředí PowerShellu nebo netsh winhttp.