VVinaProxy

ERR_TUNNEL_CONNECTION_FAILED novēršana, izmantojot starpniekserveri

Updated:

Lai ielādētu https:// lapu caur starpniekserveri, pārlūks nosūta CONNECT pieprasījumu un gaida, līdz starpniekserveris atver tuneli uz vietni. ERR_TUNNEL_CONNECTION_FAILED parādās, ja starpniekserveris piekrišanas vietā atbild ar kļūdu. Sarežģītākais ir tas, ka Chrome nenorāda konkrēto kļūdu, tāpēc pirmais uzdevums ir noskaidrot patieso kodu.

Starpniekserveri, kas darbojas ar Puppeteer un Playwright

Divi gadījumi, kurus reproducējām

Abi testi tika veikti ar testa starpniekserveri, kas šeit aizstāts ar dokumentācijas adresi 203.0.113.10:8080 un user123:pass456. Parastā Chrome logā 407 gadījums nekļūst par tuneļa kļūdu; tā vietā Chrome atver pieteikšanās logu starpniekservera lietotājvārdam un parolei. Tāpēc tuneļa kļūdas, ko izraisa 407, galvenokārt parādās automatizācijas rīkos un lietotnēs, kuras nevar pieprasīt paroli.

Starpniekserveris uz CONNECT atbild arChrome rādacurl rāda
407 bez iespējas ievadīt paroli (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502, jo starpniekserveris nevar sasniegt vietniERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Iemesli, sākot ar ticamākajiem

  • Automatizācijas skripts nenosūta akreditācijas datus. Chrome karodziņš --proxy-server pieņem tikai resursdatoru un portu, nevis user:pass. Headless Puppeteer vai Selenium saņem 407 un ziņo par tuneļa kļūmi.
  • Tālruņa lietotne aiz ar paroli aizsargāta Wi-Fi starpniekservera. Lietotnei nav pieteikšanās dialoglodziņa, tāpēc HTTPS pārstāj darboties, kamēr pārlūks joprojām darbojas.
  • Starpniekserveris nevar sasniegt mērķi. Tas atgriež 502 uz CONNECT; 502 Bad Gateway lapa to apskata padziļināti.
  • Kļūda rodas tikai dažās vietnēs. Mērķa vietne bloķē savienojumu vai nedarbojas, kamēr citas vietnes caur to pašu starpniekserveri darbojas.

Noskaidrojiet patieso kodu ar vienu curl komandu

Palaidiet curl -v -x http://user123:[email protected]:8080 https://example.com ar savām vērtībām. Paskatieties uz rindiņu uzreiz aiz > CONNECT example.com:443 HTTP/1.1: 407 nozīmē, ka jāseko 407 ceļvedim; 502 norāda uz mērķa vietni vai ceļu aiz starpniekservera. Ja nevēlaties izmantot termināli, ielīmējiet rindiņu starpniekserveru pārbaudītājā, kas tajās pašās situācijās uzrāda auth failed (407) vai HTTP 502.

Risinājumi pa vidēm

  • Puppeteer: palaišanas laikā saglabājiet --proxy-server=http://host:port un pirms navigācijas izsauciet page.authenticate({ username, password }). Pilns piemērs atrodams Puppeteer starpniekserveru ceļvedī.
  • Playwright: palaižot pārlūku, nododiet proxy: { server, username, password }, un Playwright atbildēs uz 407 jūsu vietā; skatiet Playwright.
  • Selenium: Chrome nepieņem user:pass komandrindā; Selenium ceļvedis parāda praktiskas iespējas.
  • Chrome operētājsistēmā Windows: ja pieteikšanās dialoglogs neparādās, pārbaudiet, vai to nebloķē kāds starpniekservera paplašinājums, un pēc tam mēģiniet vēlreiz logā bez paplašinājumiem.
  • Tālruņi: lietotnēm, kurām nepieciešams autentificēts starpniekserveris, izmantojiet starpniekserveru lietotni, kas atbalsta user:pass, kā aprakstīts Android iestatīšanas ceļvedī.

Soli pa solim

  1. 1

    Identificējiet CONNECT atbildi

    Palaidiet curl -v -x ar savu starpniekservera rindu vai ielīmējiet to pārbaudītājā, lai uzzinātu, vai starpniekserveris atgriež 407 vai 502.

  2. 2

    Kļūdai 407: norādiet akreditācijas datus pareizi

    Skriptos izmantojiet bibliotēkas autentifikācijas funkciju, nevis ievietojiet user:pass parametrā --proxy-server.

  3. 3

    Kļūdai 502: izmēģiniet citu vietni

    Ielādējiet lielu vietni, piemēram, example.com, caur to pašu starpniekserveri. Ja tā darbojas, problēma ir sākotnējā mērķa vietnē.

  4. 4

    Palaidiet vēlreiz un pārbaudiet izejas IP

    Kad tunelis ir atvērts, apmeklējiet mana IP tajā pašā pārlūkā, lai pārliecinātos, ka datplūsma iet caur starpniekserveri.

Biežāk uzdotie jautājumi

Kāpēc http lapas ielādējas, bet https lapas neielādējas?

Vienkāršajam http nav nepieciešams CONNECT; starpniekserveris pārsūta pieprasījumu tieši. Tikai https atver tuneli, tāpēc tuneļa kļūdas parādās tikai tur.

Kas izraisa ERR_TUNNEL_CONNECTION_FAILED sistēmā Android?

Visbiežāk tā ir lietotne, kas nevar nodot lietotājvārdu un paroli Wi-Fi starpniekserverim. Izmēģiniet to pašu lapu pārlūkā Chrome sistēmā Android; ja Chrome var pieprasīt datus un ielādēt lapu, vaina ir lietotnē.

Vai var norādīt user:pass parametrā --proxy-server?

Nē. Chrome ignorē akreditācijas datus šajā karodziņā, kas izraisa 407 un tuneļa kļūdu. Tā vietā autentificējieties, izmantojot Puppeteer, Playwright vai paplašinājumu.

Vai pāreja uz SOCKS5 novērsīs tuneļa kļūdu?

Tikai tad, ja jūsu pasūtījums ir SOCKS5. VinaProxy piedāvā gan HTTP(S), gan SOCKS5; izvēlieties protokolu, kas jūsu pasūtījumam norādīts informācijas panelī, jo neatbilstība izraisa citas kļūdas.

Starpniekserveri, kas darbojas ar Puppeteer un Playwright

VinaProxy starpniekserveri izmanto standarta user:pass pieteikšanos, ko populārākās automatizācijas bibliotēkas atbalsta uzreiz.

Skatīt cenas

Related articles

Starpniekserveru kļūdas
Kā novērst kļūdu 407 Proxy Authentication Required
Kļūda 407 Proxy Authentication Required nozīmē, ka starpniekserveris noraidīja pieteikšanos. Skatiet curl izvadi, iespējamos cēloņus un risinājumus lietotnēs.
Starpniekserveru kļūdas
502 Bad Gateway proxy kļūdas: noskaidrojiet, kurš to nosūtīja
502 Bad Gateway kļūda nozīmē, ka starpniekserveris nesaņēma derīgu atbildi. Uzziniet, kurš ir vainīgs – proxy vai vietne, izmantojot reālus curl piemērus.
Starpniekserveru iestatīšana
Kā iestatīt autentificētu proksi Puppeteer (Node.js)
Konfigurējiet autentificētus HTTP(S) proksi Node.js Puppeteer ar --proxy-server karodziņu un await page.authenticate(). Kopējiet gatavos piemērus.
Starpniekserveru iestatīšana
Kā iestatīt proxy rīkā Playwright (pārlūka un konteksta autentifikācija)
Iestatiet autentificētus HTTP(S) proxy Playwright rīkā Node.js un Python, palaidiet izolētas statiskās IP vairākos BrowserContexts un kopējiet koda piemērus.
Starpniekserveru iestatīšana
Kā iestatīt autentificētu proxy Selenium WebDriver
Konfigurējiet HTTP(S) proxy ar lietotājvārda/paroles autentifikāciju Selenium WebDriver ar selenium-wire vai Chrome onAuthRequired paplašinājumu. Skatiet kodu.
Bezmaksas rīki
Proxy pārbaudītājs: pārbaudiet savus proxy tiešsaistē
Bezmaksas proxy pārbaudītājs: ievadiet līdz 100 proxy kā ip:port:user:pass un pārbaudiet statusu, izejas IP un aizturi. Uzziniet, ko nozīmē katra kļūda.
Starpniekserveru iestatīšana
Kā konfigurēt starpniekserveri pārlūkā Google Chrome
Konfigurējiet VinaProxy HTTP(S) starpniekserverus pārlūkā Google Chrome, nemainot OS IP adresi, ar paplašinājumiem, --proxy-server karodziņiem vai profiliem.
Starpniekserveru iestatīšana
Kā konfigurēt starpniekserveri operētājsistēmās Windows 10 un Windows 11
Konfigurējiet VinaProxy HTTP(S) starpniekserverus Windows 10 un 11, izmantojot WinINET sistēmas iestatījumus, PowerShell vides mainīgos vai netsh winhttp.