VVinaProxy

Rregullimi i ERR_TUNNEL_CONNECTION_FAILED me një proxy

Updated:

Për të ngarkuar një faqe https:// përmes një proxy, shfletuesi dërgon një kërkesë CONNECT dhe pret që proxy të hapë një tunel drejt faqes. ERR_TUNNEL_CONNECTION_FAILED shfaqet kur proxy i përgjigjet kësaj kërkese me një gabim në vend që ta pranojë. Problemi është se Chrome nuk ju tregon se cili është gabimi, kështu që hapi i parë është gjetja e kodit real.

Proxy që funksionojnë me Puppeteer dhe Playwright

Dy raste që riprodhuam

Të dyja u ekzekutuan kundrejt një proxy testues, të rishkruar këtu me adresën e dokumentacionit 203.0.113.10:8080 dhe user123:pass456. Në një dritare normale të Chrome rasti 407 nuk kthehet në një gabim tuneli; në vend të kësaj, Chrome hap një dritare dialogu hyrjeje për emrin e përdoruesit dhe fjalëkalimin e proxy-t. Prandaj, gabimet e tunelit të shkaktuara nga një 407 shfaqen kryesisht në veglat e automatizimit dhe në aplikacionet që nuk mund të kërkojnë fjalëkalim.

Proxy i përgjigjet CONNECT meChrome shfaqcurl shfaq
407 pa asnjë mënyrë për të futur fjalëkalimin (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502 sepse proxy nuk mund të lidhet me faqenERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Shkaqet, duke filluar nga më të mundshmit

  • Një skript automatizimi nuk dërgon kredenciale. Parametri --proxy-server i Chrome pranon vetëm host dhe portë, jo user:pass. Puppeteer ose Selenium headless marrin një 407 dhe raportojnë dështim tuneli.
  • Një aplikacion telefoni pas një proxy me Wi-Fi të mbrojtur me fjalëkalim. Aplikacioni nuk ka dritare identifikimi, kështu që HTTPS ndërpritet ndërsa shfletuesi vazhdon të funksionojë.
  • Proxy nuk mund të lidhet me faqen e synuar. Ai kthen 502 ndaj CONNECT; faqja 502 Bad Gateway e trajton këtë në detaje.
  • Dështojnë vetëm disa faqe. Destinacioni po bllokon lidhjen ose është jashtë funksioni, ndërsa faqet e tjera funksionojnë përmes të njëjtit proxy.

Gjeni kodin real me një komandë curl

Ekzekutoni curl -v -x http://user123:[email protected]:8080 https://example.com me vlerat tuaja. Shikoni rreshtin menjëherë pas > CONNECT example.com:443 HTTP/1.1: një 407 nënkupton ndjekjen e udhëzuesit për 407; një 502 tregon për një problem me destinacionin ose rrugën pas proxy-t. Nëse preferoni të mos përdorni terminalin, vendoseni rreshtin te kontrolluesi i proxy-ve, i cili raporton auth failed (407) ose HTTP 502 për të njëjtat situata.

Zgjidhjet sipas mjedisit

  • Puppeteer: mbani --proxy-server=http://host:port gjatë nisjes dhe thirrni page.authenticate({ username, password }) para lundrimit. Shembulli i plotë gjendet në udhëzuesin e proxy-ve për Puppeteer.
  • Playwright: kaloni proxy: { server, username, password } gjatë nisjes së shfletuesit dhe Playwright i përgjigjet kodit 407 për ju; shihni Playwright.
  • Selenium: Chrome nuk pranon user:pass në rreshtin e komandës; udhëzuesi për Selenium tregon opsionet funksionale.
  • Chrome në Windows: nëse dritarja e hyrjes nuk shfaqet kurrë, kontrolloni nëse një shtesë proxy po e bllokon atë, pastaj riprovoni në një dritare pa shtesa.
  • Telefonat: për aplikacionet që kërkojnë një proxy me autentifikim, përdorni një aplikacion proxy që mbështet user:pass si në udhëzuesin e konfigurimit për Android.

Hap pas hapi

  1. 1

    Identifikoni përgjigjen e CONNECT

    Ekzekutoni curl -v -x me rreshtin e proxy-t tuaj, ose ngjiteni në kontrollues, për të mësuar nëse proxy kthen 407 apo 502.

  2. 2

    Për 407: jepni kredencialet siç duhet

    Në skripte, përdorni funksionin e autentifikimit të bibliotekës në vend që të vendosni user:pass në --proxy-server.

  3. 3

    Për 502: provoni një faqe tjetër

    Ngarkoni një faqe të madhe si example.com përmes të njëjtit proxy. Nëse funksionon, problemi është te destinacioni origjinal.

  4. 4

    Riekzekutoni dhe konfirmoni IP-në dalëse

    Pasi të hapet tuneli, vizitoni IP-ja ime në të njëjtin shfletues për të konfirmuar që trafiku kalon përmes proxy-t.

Pyetjet e shpeshta

Pse ngarkohen faqet http ndërsa faqet https dështojnë?

Protokolli i thjeshtë http nuk ka nevojë për CONNECT; proxy e përcjell kërkesën drejtpërdrejt. Vetëm https hap një tunel, kështu që gabimet e tunelit shfaqen vetëm aty.

Çfarë e shkakton ERR_TUNNEL_CONNECTION_FAILED në Android?

Më shpesh një aplikacion që nuk mund t'i kalojë emrin e përdoruesit dhe fjalëkalimin një proxy me Wi-Fi. Provoni të njëjtën faqe në Chrome për Android; nëse Chrome mund të kërkojë të dhënat dhe ta ngarkojë, problemi është tek aplikacioni.

A mund të vendos user:pass brenda --proxy-server?

Jo. Chrome i injoron kredencialet në atë flamur, gjë që çon në një 407 dhe gabimin e tunelit. Në vend të kësaj, autentifikohuni përmes Puppeteer, Playwright ose një shtese.

A do ta heqë kalimi në SOCKS5 gabimin e tunelit?

Vetëm nëse porosia juaj është SOCKS5. VinaProxy ofron si HTTP(S) ashtu edhe SOCKS5; zgjidhni protokollin që tregon porosia juaj në panel, pasi një mospërputhje shkakton gabime të ndryshme.

Proxy që funksionojnë me Puppeteer dhe Playwright

Proxy-t e VinaProxy përdorin identifikimin standard user:pass, të cilin bibliotekat e njohura të automatizimit e mbështesin që në fillim.

Shikoni çmimet

Related articles

Gabimet e proxy
Si të zgjidhni gabimin 407 Proxy Authentication Required
Një gabim 407 do të thotë se proxy u përgjigj, por refuzoi hyrjen. Shihni daljet reale të curl, shkaqet e mundshme dhe zgjidhjet për çdo aplikacion.
Gabimet e proxy
Gabimet 502 Bad Gateway me proxy: zbuloni kush e dërgoi
502 Bad Gateway me proxy do të thotë se serveri ndërmjetës nuk mori përgjigje të vlefshme. Si të dalloni fajtorin, proxy-n apo faqen, me output real nga curl.
Konfigurimi i proxy
Si të konfiguroni një proxy të autentikuar në Puppeteer (Node.js)
Konfiguroni proxy të autentikuar HTTP(S) në Node.js Puppeteer me flamurin --proxy-server dhe await page.authenticate(). Kopjoni shembujt funksionalë.
Konfigurimi i proxy
Si të konfiguroni një proxy në Playwright (Autentikim në Browser & për Kontekst)
Konfiguro proxy HTTP(S) me autentikim në Playwright për Node.js dhe Python, dhe përdor disa IP statike të izoluara në BrowserContexts. Kopjo shembujt.
Konfigurimi i proxy
Si të konfiguroni një proxy me autentikim në Selenium WebDriver
Konfiguroni proxy HTTP(S) me username:password në Selenium WebDriver duke përdorur selenium-wire ose një shtesë onAuthRequired për Chrome. Shihni kodin.
Mjete falas
Proxy Checker: Kontrolloni Proxy-t Tuaj Online
Kontrollues falas i proxy-ve: ngjitni deri në 100 proxy si ip:port:user:pass dhe kontrolloni statusin, IP-në dalëse dhe vonesën. Mësoni kuptimin e çdo gabimi.
Konfigurimi i proxy
Si të konfiguroni proxy në Google Chrome
Konfiguroni proxy HTTP(S) nga VinaProxy në Google Chrome pa ndryshuar IP-në e sistemit operativ, duke përdorur zgjerime, parametra --proxy-server ose profile.
Konfigurimi i proxy
Si të konfiguroni Proxy në Windows 10 dhe Windows 11
Konfiguroni proxy HTTP(S) nga VinaProxy në Windows 10 dhe 11 përmes cilësimeve WinINET, variablave në PowerShell ose komandës netsh winhttp.