VVinaProxy

Az ERR_TUNNEL_CONNECTION_FAILED javítása proxynál

Updated:

Egy https:// oldal proxyn keresztüli betöltéséhez a böngésző egy CONNECT kérést küld, és megvárja, amíg a proxy alagutat nyit az oldal felé. Az ERR_TUNNEL_CONNECTION_FAILED akkor jelenik meg, ha a proxy a kérés jóváhagyása helyett hibával válaszol. A bökkenő az, hogy a Chrome nem jelzi ki a pontos hibát, így az első feladat a valódi kód kiderítése.

Puppeteerrel és Playwrighttal működő proxyk

Két általunk reprodukált eset

Mindkét eset egy tesztproxyn futott, amelyet itt a dokumentációs 203.0.113.10:8080 címmel és a user123:pass456 adatokkal helyettesítettünk. Normál Chrome ablakban a 407-es eset nem válik alagúthibává: a Chrome ehelyett egy bejelentkezési párbeszédpanelt nyit meg a proxy felhasználónevéhez és jelszavához. A 407 által okozott alagúthibák ezért többnyire automatizálási eszközökben és olyan alkalmazásokban jelentkeznek, amelyek nem képesek jelszót kérni.

A proxy válasza a CONNECT kérésreA Chrome ezt mutatjaA curl ezt mutatja
407 jelszó megadásának lehetősége nélkül (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502, mert a proxy nem éri el az oldaltERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Lehetséges okok a valószínűség sorrendjében

  • Egy automatizálási szkript nem küld hitelesítési adatokat. A Chrome --proxy-server kapcsolója kizárólag a hosztot és a portot fogadja el, a user:pass formátumot nem. A headless Puppeteer vagy Selenium 407-es választ kap, és alagúthibát jelez.
  • Jelszóval védett Wi-Fi proxy mögötti mobilalkalmazás. Az alkalmazás nem jelenít meg bejelentkezési felületet, így a HTTPS kapcsolat meghiúsul, miközben a böngésző továbbra is működik.
  • A proxy nem éri el a céloldalt. 502-es hibakóddal válaszol a CONNECT kérésre; az 502 Bad Gateway oldal ezt részletesen tárgyalja.
  • Csak bizonyos oldalak nem működnek. A céloldal blokkolja a kéréseket vagy leállt, miközben más oldalak működnek ugyanazon a proxyn keresztül.

Keresse meg a valódi kódot egyetlen curl paranccsal

Futtassa a curl -v -x http://user123:[email protected]:8080 https://example.com parancsot a saját adataival. Nézze meg a közvetlenül a > CONNECT example.com:443 HTTP/1.1 utáni sort: a 407 azt jelenti, hogy kövesse a 407-es útmutatót; az 502 a céloldalra vagy a proxy mögötti útvonal hibájára utal. Ha nem szeretne terminált használni, illessze be a sort a proxy-ellenőrzőbe, amely ugyanezekben az esetekben az auth failed (407) vagy az HTTP 502 hibát jelzi.

Megoldások környezetenként

  • Puppeteer: indításkor hagyja meg a --proxy-server=http://host:port beállítást, és a navigálás előtt hívja meg a page.authenticate({ username, password }) metódust. Teljes példa a Puppeteer proxy-útmutatóban.
  • Playwright: a böngésző indításakor adja át a proxy: { server, username, password } értéket, és a Playwright automatikusan kezeli a 407-es választ; lásd: Playwright.
  • Selenium: a Chrome nem fogad el user:pass adatokat a parancssorban; a Selenium útmutató bemutatja a működő lehetőségeket.
  • Chrome Windows alatt: ha a bejelentkezési ablak egyáltalán nem jelenik meg, ellenőrizze, hogy nem tiltja-e le egy proxybővítmény, majd próbálja újra egy bővítmények nélküli ablakban.
  • Telefonok: a hitelesítést igénylő proxyhoz használjon olyan proxyalkalmazást, amely támogatja a user:pass beállítást, az Android beállítási útmutató szerint.

Lépésről lépésre

  1. 1

    A CONNECT válasz azonosítása

    Futtassa a curl -v -x parancsot a proxy adataival, vagy illessze be az ellenőrzőbe annak megállapítására, hogy a proxy 407-es vagy 502-es kódot ad-e vissza.

  2. 2

    407 esetén: a hitelesítési adatok megfelelő megadása

    A szkriptekben használja a programkönyvtár beépített hitelesítési mechanizmusát ahelyett, hogy a user:pass adatokat a --proxy-server kapcsolóban adná meg.

  3. 3

    502 esetén: próbáljon ki egy másik oldalt

    Töltsön be egy stabil, nagy webhelyet, például az example.com oldalt ugyanazon a proxyn keresztül. Ha működik, az eredeti céloldallal van probléma.

  4. 4

    Újrafuttatás és a kimenő IP ellenőrzése

    Miután az alagút megnyílt, nyissa meg a saját IP oldalt ugyanebben a böngészőben annak ellenőrzésére, hogy a forgalom valóban a proxyn halad-e keresztül.

Gyakran ismételt kérdések

Miért töltődnek be a http oldalak, miközben a https oldalak hibát jeleznek?

A sima http-hez nincs szükség CONNECT kérésre; a proxy közvetlenül továbbítja a kérést. Csak a https nyit alagutat, így alagúthibák is kizárólag ott fordulnak elő.

Mi okozza az ERR_TUNNEL_CONNECTION_FAILED hibát Androidon?

Leggyakrabban egy olyan alkalmazás, amely nem tudja átadni a felhasználónevet és a jelszót a Wi-Fi proxynak. Próbálja megnyitni ugyanezt az oldalt az Androidhoz készült Chrome-ban; ha a Chrome képes bekérni az adatokat és betölteni az oldalt, az alkalmazás okozza a hibát.

Megadható a user:pass a --proxy-server kapcsolóban?

Nem. A Chrome figyelmen kívül hagyja a hitelesítési adatokat ebben a jelzőben, ami 407-es válaszhoz és alagúthibához vezet. Hitelesítsen inkább Puppeteer, Playwright vagy egy bővítmény segítségével.

Megszünteti a SOCKS5 protokollra váltás az alagúthibát?

Csak akkor, ha a megrendelése SOCKS5 típusú. A(z) VinaProxy mind a HTTP(S), mind a SOCKS5 protokollt biztosítja; válassza azt a protokollt, amely a vezérlőpulton a rendelésénél szerepel, mivel az eltérés más jellegű hibákat eredményez.

Puppeteerrel és Playwrighttal működő proxyk

A(z) VinaProxy proxyk szabványos user:pass bejelentkezést használnak, amelyet a népszerű automatizálási könyvtárak azonnal támogatnak.

Árak megtekintése

Related articles

Proxy-hibák
Hogyan javítható a 407 Proxy Authentication Required hiba
A 407 Proxy Authentication Required hiba azt jelenti, hogy a proxy elutasította a belépést. Valós curl-kimenet, gyakori okok és megoldások programonként.
Proxy-hibák
502 Bad Gateway proxyhibák: derítse ki, ki küldte
A proxyn keresztüli 502 Bad Gateway azt jelenti, hogy a közvetítő szerver nem kapott érvényes választ. Így derítheti ki valós curl kimenettel, ki a hibás.
Proxy-beállítás
Hitelesített proxy beállítása Puppeteerben (Node.js)
Állítson be hitelesített HTTP(S) proxykat Node.js Puppeteerben a --proxy-server flaggel és az await page.authenticate() hívással. Másolja a működő példákat.
Proxy-beállítás
Proxy beállítása Playwrightban (Böngésző- és per-context hitelesítés)
Állítson be hitelesített HTTP(S) proxykat Playwrightban Node.js és Python alatt, és futtasson izolált statikus IP-ket BrowserContext-ekben. Másolja a példákat.
Proxy-beállítás
Hitelesített proxy beállítása Selenium WebDriverben
Állítson be felhasználónév-jelszó hitelesítésű HTTP(S) proxyt a Selenium WebDriverben selenium-wire vagy Chrome onAuthRequired bővítménnyel. Íme a kódok.
Ingyenes eszközök
Proxy ellenőrző: Ellenőrizze proxyjait online
Ingyenes proxy ellenőrző: illesszen be akár 100 proxyt ip:port:user:pass formátumban az állapot, kimenő IP és késleltetés vizsgálatára. Tudja meg a hibák okát.
Proxy-beállítás
Proxy beállítása a Google Chrome-ban
Állítson be VinaProxy HTTP(S)-proxikat a Google Chrome-ban a teljes rendszer IP-címének módosítása nélkül, bővítményekkel vagy a --proxy-server paraméterrel.
Proxy-beállítás
Proxy beállítása Windows 10 és Windows 11 rendszereken
Állítson be VinaProxy HTTP(S) proxyt Windows 10 és 11 alatt WinINET beállításokkal, PowerShell környezeti változókkal vagy a netsh winhttp paranccsal.