VVinaProxy

Odpravljanje napake ERR_TUNNEL_CONNECTION_FAILED pri uporabi proxyja

Updated:

Za nalaganje strani https:// prek proxyja brskalnik pošlje zahtevo CONNECT in počaka, da proxy odpre predor do spletnega mesta. ERR_TUNNEL_CONNECTION_FAILED se pojavi, ko proxy namesto potrditve na to zahtevo odgovori z napako. Težava je v tem, da Chrome ne razkrije točne napake, zato je vaša prva naloga poiskati pravo kodo.

Proxyji, ki delujejo z orodjema Puppeteer in Playwright

Dva primera, ki smo ju poustvarili

Oba primera sta se izvajala na testnem proxyju, ki je tukaj naveden z dokumentacijskim naslovom 203.0.113.10:8080 in user123:pass456. V običajnem oknu brskalnika Chrome koda 407 ne povzroči napake predora; Chrome namesto tega odpre prijavno pogovorno okno za uporabniško ime in geslo proxyja. Napake predora zaradi kode 407 se zato večinoma pojavljajo v orodjih za avtomatizacijo in v aplikacijah, ki ne morejo zahtevati gesla.

Proxy na CONNECT odgovori zChrome prikažecurl prikaže
407 brez možnosti vnosa gesla (brezglavi Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502, ker proxy ne more doseči spletnega mestaERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Vzroki, od najverjetnejšega naprej

  • Skript za avtomatizacijo ne pošilja poverilnic. Chromov parameter --proxy-server sprejme le gostitelja in vrata, ne pa uporabniškega imena in gesla. Brezglavi Puppeteer ali Selenium prejme 407 in javi napako predora.
  • Aplikacija v telefonu za proxyjem Wi-Fi z geslom. Aplikacija nima prijavnega pogovornega okna, zato se povezava HTTPS prekine, medtem ko brskalnik še vedno deluje.
  • Proxy ne more doseči cilja. Na CONNECT vrne 502; stran 502 Bad Gateway to obravnava podrobneje.
  • Spodletijo le nekatera spletna mesta. Cilj blokira zahteve ali ne deluje, medtem ko druga spletna mesta prek istega proxyja delujejo.

Poiščite pravo kodo z enim ukazom curl

Zaženite curl -v -x http://user123:[email protected]:8080 https://example.com s svojimi vrednostmi. Oglejte si vrstico neposredno za > CONNECT example.com:443 HTTP/1.1: koda 407 pomeni, da sledite vodniku za 407; koda 502 kaže na težavo s ciljem ali potjo za proxyjem. Če terminala ne želite uporabljati, prilepite vrstico v preverjalnik proxyjev, ki za enake primere javi auth failed (407) ali HTTP 502.

Rešitve glede na okolje

  • Puppeteer: pri zagonu ohranite --proxy-server=http://host:port in pred navigacijo pokličite page.authenticate({ username, password }). Celoten primer najdete v vodniku za Puppeteer.
  • Playwright: ob zagonu brskalnika posredujte proxy: { server, username, password }, Playwright pa bo sam odgovoril na kodo 407; oglejte si Playwright.
  • Selenium: Chrome v ukazni vrstici ne sprejme podatkov user:pass; vodnik za Selenium prikazuje delujoče možnosti.
  • Chrome v sistemu Windows: če se prijavno pogovorno okno nikoli ne prikaže, preverite, ali ga morda preprečuje razširitev za proxy, nato pa poskusite znova v oknu brez razširitev.
  • Telefoni: za aplikacije, ki potrebujejo avtentificiran proxy, uporabite aplikacijo za proxy s podporo za user:pass, kot je opisano v vodniku za namestitev v sistemu Android.

Navodila po korakih

  1. 1

    Prepoznajte odgovor na CONNECT

    Zaženite curl -v -x s svojo vrstico za proxy ali jo prilepite v preverjalnik, da ugotovite, ali proxy vrača kodo 407 ali 502.

  2. 2

    Za 407: pravilno navedite poverilnice

    V skriptih uporabite vgrajeno možnost knjižnice za overjanje, namesto da vpisujete user:pass v --proxy-server.

  3. 3

    Za 502: poskusite drugo spletno mesto

    Prek istega proxyja naložite večje spletno mesto, kot je example.com. Če deluje, je težava v prvotnem cilju.

  4. 4

    Znova zaženite in potrdite izhodni IP

    Ko se predor odpre, v istem brskalniku obiščite moj IP in preverite, ali promet poteka prek proxyja.

Pogosta vprašanja

Zakaj se strani http naložijo, strani https pa spodletijo?

Navadni http ne potrebuje zahteve CONNECT; proxy zahtevo posreduje neposredno. Predor odpira le https, zato se napake predora pojavljajo le tam.

Kaj povzroča ERR_TUNNEL_CONNECTION_FAILED v sistemu Android?

Najpogosteje aplikacija, ki proxyju Wi-Fi ne more posredovati uporabniškega imena in gesla. Poskusite isto stran odpreti v brskalniku Chrome za Android; če Chrome zahteva vnos in stran naloži, je težava v aplikaciji.

Ali lahko vpišem user:pass v --proxy-server?

Ne. Chrome poverilnice v tem parametru prezre, kar povzroči kodo 407 in napako predora. Namesto tega izvedite overjanje prek orodij Puppeteer, Playwright ali razširitve.

Ali bo preklop na SOCKS5 odpravil napako predora?

Le če vaše naročilo vključuje SOCKS5. VinaProxy ponuja tako HTTP(S) kot SOCKS5; izberite protokol, ki je za vaše naročilo prikazan na nadzorni plošči, saj neujemanje povzroči druge napake.

Proxyji, ki delujejo z orodjema Puppeteer in Playwright

Proxyji ponudnika VinaProxy uporabljajo standardno prijavo z user:pass, ki jo priljubljene knjižnice za avtomatizacijo podpirajo že privzeto.

Oglejte si cene

Related articles

Napake proxyjev
Kako odpraviti napako 407 Proxy Authentication Required
Napaka 407 Proxy Authentication Required pomeni zavrnitev prijave. Oglejte si izpis curl, verjetne vzroke in rešitve za posamezne aplikacije.
Napake proxyjev
Napake proxyja 502 Bad Gateway: ugotovite, kdo jih je poslal
502 Bad Gateway prek proxyja pomeni, da vmesni strežnik ni prejel veljavnega odgovora. Kako ugotoviti, ali je kriv proxy ali spletišče, s pravimi izpisi curl.
Nastavitev proxyja
Kako nastaviti avtenticiran proxy v Puppeteerju (Node.js)
Nastavite overjene proxyje HTTP(S) v orodju Puppeteer za Node.js z uporabo zastavice --proxy-server in await page.authenticate(). Kopirajte delujoče primere.
Nastavitev proxyja
Kako nastaviti proxy v Playwright (avtentikacija brskalnika in po kontekstih)
Nastavite avtenticirane HTTP(S) proxyje v Playwright za Node.js in Python ter zaženite več izoliranih statičnih IP-jev v BrowserContexts. Kopirajte primere.
Nastavitev proxyja
Kako nastaviti proxy z avtentikacijo v Selenium WebDriverju
Nastavite HTTP(S) proxyje z avtentikacijo uporabniško ime:geslo v Selenium WebDriverju s selenium-wire ali Chrome razširitvijo onAuthRequired. Oglejte si kodo.
Brezplačna orodja
Preverjevalnik proxyjev: preverite svoje proxyje na spletu
Brezplačni preverjevalnik proxyjev: vnesite do 100 proxyjev kot ip:port:user:pass in preverite stanje, izhodni IP ter zakasnitev. Preverite pomen napak.
Nastavitev proxyja
Kako nastaviti proxy v Google Chrome
Nastavite HTTP(S) proxyje VinaProxy v Google Chrome brez spreminjanja IP-ja celotnega sistema z razširitvami, zastavico --proxy-server ali ločenimi profili.
Nastavitev proxyja
Kako konfigurirati proxy v sistemih Windows 10 in Windows 11
Nastavite HTTP(S) proxyje VinaProxy v Windows 10 in 11 prek sistemskih nastavitev WinINET, spremenljivk okolja PowerShell ali ukaza netsh winhttp.