VVinaProxy

Sådan løses ERR_TUNNEL_CONNECTION_FAILED med en proxy

Updated:

For at indlæse en https://-side via en proxy sender browseren en CONNECT-anmodning og venter på, at proxyen åbner en tunnel til webstedet. ERR_TUNNEL_CONNECTION_FAILED vises, når proxyen besvarer denne anmodning med en fejl i stedet for at godkende den. Udfordringen er, at Chrome ikke oplyser, hvilken fejl der er tale om, så første opgave er at finde den faktiske kode.

Proxyer, der fungerer med Puppeteer og Playwright

To tilfælde vi genskabte

Begge blev kørt mod en testproxy, her gengivet med dokumentationsadressen 203.0.113.10:8080 og user123:pass456. I et almindeligt Chrome-vindue bliver 407-tilfældet ikke til en tunnelfejl; Chrome åbner i stedet en login-dialogboks til proxyens brugernavn og adgangskode. Tunnelfejl forårsaget af en 407 viser sig derfor hovedsageligt i automatiseringsværktøjer og i apps, der ikke kan anmode om en adgangskode.

Proxyen svarer CONNECT medChrome visercurl viser
407 uden mulighed for at indtaste adgangskode (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502 fordi proxyen ikke kan nå webstedetERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Årsager, med de mest sandsynlige først

  • Et automatiseringsscript sender ingen loginoplysninger. Chromes --proxy-server-flag accepterer kun vært og port, ikke user:pass. Headless Puppeteer eller Selenium modtager en 407 og melder om en tunnelfejl.
  • En mobilapp bag en adgangskodebeskyttet Wi-Fi-proxy. Appen har ingen login-dialogboks, så HTTPS afbrydes, mens browseren stadig fungerer.
  • Proxyen kan ikke nå målet. Den returnerer 502 til CONNECT; siden om 502 Bad Gateway gennemgår dette i dybden.
  • Kun visse websteder fejler. Destinationen blokerer eller er nede, mens andre websteder fungerer via den samme proxy.

Find den faktiske kode med én curl-kommando

Kør curl -v -x http://user123:[email protected]:8080 https://example.com med dine egne værdier. Kig på linjen lige efter > CONNECT example.com:443 HTTP/1.1: en 407 betyder, at du skal følge 407-vejledningen; en 502 peger på destinationen eller ruten bag proxyen. Hvis du foretrækker ikke at bruge en terminal, kan du indsætte linjen i vores proxy-tester, som rapporterer auth failed (407) eller HTTP 502 i de samme situationer.

Løsninger efter miljø

  • Puppeteer: behold --proxy-server=http://host:port ved opstart, og kald page.authenticate({ username, password }) før navigering. Se et komplet eksempel i vores guide til Puppeteer-proxy.
  • Playwright: angiv proxy: { server, username, password } ved start af browseren, så håndterer Playwright 407-svaret for dig; se Playwright.
  • Selenium: Chrome accepterer ikke user:pass via kommandolinjen; vores Selenium-guide viser brugbare muligheder.
  • Chrome på Windows: hvis login-dialogboksen aldrig dukker op, skal du undersøge, om en proxy-udvidelse undertrykker den, og derefter prøve igen i et vindue uden udvidelser.
  • Telefoner: til apps, der kræver en godkendt proxy, skal du bruge en proxy-app, der understøtter user:pass som beskrevet i vores Android-opsætningsguide.

Trin for trin

  1. 1

    Identificer CONNECT-svaret

    Kør curl -v -x med din proxylinje, eller indsæt den i testeren for at finde ud af, om proxyen returnerer 407 eller 502.

  2. 2

    Ved 407: angiv loginoplysningerne korrekt

    I scripts skal du bruge bibliotekets godkendelses-hook i stedet for at placere user:pass i --proxy-server.

  3. 3

    Ved 502: prøv et andet websted

    Indlæs et stort websted som f.eks. example.com via den samme proxy. Hvis det virker, er det den oprindelige destination, der er problemet.

  4. 4

    Kør igen, og bekræft udgangs-IP'en

    Når tunnelen åbner, skal du besøge min IP i den samme browser for at bekræfte, at trafikken passerer gennem proxyen.

Ofte stillede spørgsmål

Hvorfor indlæses http-sider, mens https-sider fejler?

Almindelig http kræver ikke CONNECT; proxyen videresender anmodningen direkte. Kun https åbner en tunnel, så tunnelfejl optræder kun der.

Hvad forårsager ERR_TUNNEL_CONNECTION_FAILED på Android?

Oftest en app, der ikke kan videregive brugernavn og adgangskode til en Wi-Fi-proxy. Prøv den samme side i Chrome til Android; hvis Chrome kan vise login-prompten og indlæse siden, ligger problemet i appen.

Kan jeg placere user:pass inde i --proxy-server?

Nej. Chrome ignorerer loginoplysninger i det flag, hvilket fører til en 407 og tunnelfejlen. Godkend i stedet via Puppeteer, Playwright eller en udvidelse.

Fjerner det tunnelfejlen at skifte til SOCKS5?

Kun hvis din ordre er SOCKS5. VinaProxy tilbyder både HTTP(S) og SOCKS5; vælg den protokol, din ordre viser i kontrolpanelet, da et misforhold forårsager andre fejl.

Proxyer, der fungerer med Puppeteer og Playwright

VinaProxy-proxyer bruger standard user:pass-login, som populære automatiseringsbiblioteker håndterer direkte ud af boksen.

Se priser

Related articles

Proxy-fejl
Sådan løses 407 Proxy Authentication Required
En 407 Proxy Authentication Required-fejl betyder, at proxyen svarede, men afviste dit login. Se rigtige curl-output, sandsynlige årsager og løsninger pr. app.
Proxy-fejl
502 Bad Gateway-proxyfejl: Find ud af, hvem der sendte den
En 502 Bad Gateway via en proxy betyder, at en mellemliggende server ikke fik et gyldigt svar. Se om fejlen ligger hos proxyen eller websitet med curl-output.
Proxy-opsætning
Sådan opsætter du en autentificeret proxy i Puppeteer (Node.js)
Konfigurer autentificerede HTTP(S)-proxyer i Node.js Puppeteer med --proxy-server og await page.authenticate(). Kopiér de fungerende eksempler.
Proxy-opsætning
Sådan opsætter du en proxy i Playwright (browser- og per-kontekst-auth)
Opsæt autentificerede HTTP(S)-proxyer i Playwright til Node.js og Python, og kør flere isolerede statiske IP'er på tværs af BrowserContexts. Kopiér eksemplerne.
Proxy-opsætning
Sådan opsætter du en proxy med godkendelse i Selenium WebDriver
Konfigurer HTTP(S)-proxier med bruger:adgangskode-godkendelse i Selenium WebDriver via selenium-wire eller en onAuthRequired-udvidelse til Chrome. Se koden.
Gratis værktøjer
Proxy-checker: Tjek dine proxyer online
Gratis proxy-checker: indsæt op til 100 proxyer som ip:port:user:pass og tjek status, exit-IP og latenstid online. Lær hvad de enkelte fejl betyder.
Proxy-opsætning
Sådan konfigurerer du proxy i Google Chrome
Konfigurer VinaProxy HTTP(S)-proxyer i Google Chrome uden at ændre hele dit OS' IP ved hjælp af udvidelser, --proxy-server-flags eller separate brugerprofiler.
Proxy-opsætning
Sådan konfigurerer du proxy på Windows 10 og Windows 11
Konfigurer VinaProxy HTTP(S)-proxyer på Windows 10 og Windows 11 med WinINET-systemindstillinger, PowerShell-miljøvariabler eller netsh winhttp.