VVinaProxy

Rezolvarea erorii ERR_TUNNEL_CONNECTION_FAILED cu un proxy

Updated:

Pentru a încărca o pagină https:// printr-un proxy, browserul trimite o cerere CONNECT și așteaptă ca proxy-ul să deschidă un tunel către site. ERR_TUNNEL_CONNECTION_FAILED apare atunci când proxy-ul răspunde la acea cerere cu o eroare în loc să o accepte. Problema este că Chrome nu îți spune ce eroare a apărut, așa că primul pas este să afli codul real.

Proxy-uri compatibile cu Puppeteer și Playwright

Două cazuri reproduse de noi

Ambele au rulat pe un proxy de test, menționat aici cu adresa din documentație 203.0.113.10:8080 și user123:pass456. Într-o fereastră normală de Chrome, cazul 407 nu devine o eroare de tunel; Chrome deschide în schimb o casetă de dialog pentru introducerea numelui de utilizator și a parolei proxy-ului. Erorile de tunel cauzate de un 407 apar așadar cel mai des în instrumentele de automatizare și în aplicațiile care nu pot solicita o parolă.

Proxy-ul răspunde la CONNECT cuChrome afișeazăcurl afișează
407 fără posibilitatea de a introduce o parolă (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502 deoarece proxy-ul nu poate accesa site-ulERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Cauze, în ordinea probabilității

  • Un script de automatizare nu trimite credențiale. Parametrul --proxy-server din Chrome acceptă doar host și port, nu user:pass. Puppeteer sau Selenium în mod headless primește 407 și raportează o eroare de tunel.
  • O aplicație mobilă în spatele unui proxy Wi-Fi protejat prin parolă. Aplicația nu are un dialog de autentificare, așa că conexiunea HTTPS eșuează în timp ce browserul continuă să funcționeze.
  • Proxy-ul nu poate accesa destinația. Acesta returnează 502 la CONNECT; pagina dedicată 502 Bad Gateway explică această problemă în detaliu.
  • Doar anumite site-uri eșuează. Destinația blochează cererea sau este indisponibilă, în timp ce alte site-uri funcționează prin același proxy.

Află codul real cu o singură comandă curl

Rulează curl -v -x http://user123:[email protected]:8080 https://example.com cu propriile tale valori. Urmărește linia de imediat după > CONNECT example.com:443 HTTP/1.1: un 407 înseamnă că trebuie să urmezi ghidul pentru 407; un 502 indică o problemă la destinație sau pe traseul din spatele proxy-ului. Dacă preferi să nu folosești terminalul, lipește linia în testerul de proxy, care raportează auth failed (407) sau HTTP 502 în aceleași situații.

Rezolvări în funcție de mediu

  • Puppeteer: păstrează --proxy-server=http://host:port la lansare și apelează page.authenticate({ username, password }) înainte de navigare. Exemplu complet în ghidul de proxy pentru Puppeteer.
  • Playwright: transmite proxy: { server, username, password } la lansarea browserului, iar Playwright gestionează răspunsul 407 în locul tău; consultă Playwright.
  • Selenium: Chrome nu acceptă user:pass în linia de comandă; ghidul Selenium prezintă variantele funcționale.
  • Chrome pe Windows: dacă fereastra de conectare nu apare niciodată, verifică dacă o extensie de proxy o blochează, apoi reîncearcă într-o fereastră fără extensii.
  • Telefoane: pentru aplicațiile care necesită un proxy autentificat, folosește o aplicație dedicată de proxy compatibilă cu user:pass, așa cum este descris în ghidul de configurare Android.

Pas cu pas

  1. 1

    Identifică răspunsul la CONNECT

    Rulează curl -v -x cu linia ta de proxy sau introdu-o în verificator pentru a afla dacă proxy-ul returnează 407 sau 502.

  2. 2

    Pentru 407: furnizează corect credențialele

    În scripturi, folosește mecanismul de autentificare oferit de bibliotecă în loc să incluzi user:pass în --proxy-server.

  3. 3

    Pentru 502: încearcă un alt site

    Încarcă un site stabil, cum ar fi example.com, prin același proxy. Dacă funcționează, problema este destinația inițială.

  4. 4

    Rulează din nou și confirmă IP-ul de ieșire

    După deschiderea tunelului, accesează IP-ul meu în același browser pentru a confirma că traficul trece prin proxy.

Întrebări frecvente

De ce se încarcă paginile http, dar cele https eșuează?

Protocolul simplu http nu necesită CONNECT; proxy-ul redirecționează cererea direct. Doar https deschide un tunel, de aceea erorile de tunel apar exclusiv în acest caz.

Ce cauzează ERR_TUNNEL_CONNECTION_FAILED pe Android?

Cel mai adesea, o aplicație care nu poate transmite utilizatorul și parola către un proxy Wi-Fi. Încearcă aceeași pagină în Chrome pentru Android; dacă Chrome solicită datele și încarcă pagina, cauza este aplicația respectivă.

Pot introduce user:pass în --proxy-server?

Nu. Chrome ignoră credențialele din acel parametru, ceea ce declanșează un 407 și eroarea de tunel. Autentifică-te prin Puppeteer, Playwright sau printr-o extensie.

Trecerea la SOCKS5 va elimina eroarea de tunel?

Doar dacă pachetul tău comandat este SOCKS5. VinaProxy oferă atât HTTP(S), cât și SOCKS5; selectează protocolul indicat în panoul de control pentru comanda ta, deoarece o nepotrivire va genera alte erori.

Proxy-uri compatibile cu Puppeteer și Playwright

Proxy-urile VinaProxy folosesc autentificare standard user:pass, acceptată nativ de librăriile populare de automatizare.

Vezi prețurile

Related articles

Erori proxy
Cum să rezolvi eroarea 407 Proxy Authentication Required
Eroarea 407 înseamnă că proxy-ul a răspuns, dar a respins datele de conectare. Vezi ieșirea curl, cauzele probabile și soluțiile pentru fiecare aplicație.
Erori proxy
Erori proxy 502 Bad Gateway: află cine a trimis eroarea
Un 502 Bad Gateway prin proxy înseamnă că un server intermediar nu a primit răspuns. Află dacă proxy-ul sau site-ul este de vină, cu exemple reale din curl.
Configurare proxy
Cum să configurezi un proxy autentificat în Puppeteer (Node.js)
Configurează proxy-uri HTTP(S) autentificate în Node.js Puppeteer folosind flagul --proxy-server și await page.authenticate(). Copiază exemplele funcționale.
Configurare proxy
Cum se configurează un proxy în Playwright (autentificare browser & per-context)
Configurează proxy-uri HTTP(S) autentificate în Playwright pentru Node.js și Python și rulează IP-uri statice izolate în BrowserContexts. Copiază exemplele.
Configurare proxy
Cum să configurezi un proxy autentificat în Selenium WebDriver
Configurează proxy-uri HTTP(S) cu autentificare utilizator:parolă în Selenium WebDriver prin selenium-wire sau o extensie Chrome onAuthRequired. Vezi codul.
Instrumente gratuite
Proxy Checker: Verifică-ți proxy-urile online
Verificator proxy gratuit: lipește până la 100 de proxy-uri ca ip:port:user:pass și verifică starea, IP-ul de ieșire și latența. Află ce indică fiecare eroare.
Configurare proxy
Cum configurezi un proxy în Google Chrome
Configurează proxy-uri HTTP(S) VinaProxy în Google Chrome fără a schimba IP-ul întregului sistem, prin extensii, opțiuni --proxy-server sau profiluri separate.
Configurare proxy
Cum să configurezi un proxy pe Windows 10 și Windows 11
Configurează proxy-uri HTTP(S) VinaProxy pe Windows 10 și Windows 11 prin Setări de sistem WinINET, variabile de mediu PowerShell sau comanda netsh winhttp.