VVinaProxy

Решавање на ERR_TUNNEL_CONNECTION_FAILED при користење прокси

Updated:

За да вчита https:// страница преку прокси, прелистувачот испраќа барање CONNECT и чека проксито да отвори тунел до сајтот. ERR_TUNNEL_CONNECTION_FAILED се појавува кога проксито одговара на тоа барање со грешка наместо да се согласи. Проблемот е што Chrome не ви кажува за која грешка станува збор, па првата задача е да го откриете вистинскиот код.

Проксија што работат со Puppeteer и Playwright

Два случаи што ги репродуциравме

Обата се извршени наспроти тест прокси, овде претставено со документациската адреса 203.0.113.10:8080 и user123:pass456. Во нормален прозорец на Chrome, случајот 407 не станува грешка во тунелот; наместо тоа, Chrome отвора дијалог за најава со корисничкото име и лозинката за проксито. Грешките во тунелот предизвикани од 407 затоа најчесто се појавуваат во алатките за автоматизација и во апликациите што не можат да побараат внесување лозинка.

Проксито одговара на CONNECT соChrome прикажуваcurl прикажува
407 без можност за внесување лозинка (headless Chrome)ERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 407
502 затоа што проксито не може да стигне до сајтотERR_TUNNEL_CONNECTION_FAILEDcurl: (56) CONNECT tunnel failed, response 502

Причини, подредени по веројатност

  • Скрипта за автоматизација не испраќа кориснички податоци. Знаменцето --proxy-server на Chrome прифаќа само хост и порта, но не и user:pass. Headless Puppeteer или Selenium добива 407 и пријавува неуспех на тунелот.
  • Мобилна апликација зад Wi-Fi прокси заштитено со лозинка. Апликацијата нема дијалог за најава, па HTTPS прекинува додека прелистувачот сè уште работи.
  • Проксито не може да стигне до целта. Враќа 502 на CONNECT; страницата 502 Bad Gateway детално го покрива ова.
  • Само некои сајтови не се отвораат. Дестинацијата блокира или е недостапна, додека другите сајтови функционираат преку истото прокси.

Откријте го вистинскиот код со една curl команда

Извршете curl -v -x http://user123:[email protected]:8080 https://example.com со ваши сопствени вредности. Погледнете ја линијата веднаш по > CONNECT example.com:443 HTTP/1.1: 407 значи дека треба да го следите водичот за 407; 502 укажува на дестинацијата или на патеката зад проксито. Доколку претпочитате да не користите терминал, залепете ја линијата во алатката за проверка на прокси, која пријавува auth failed (407) или HTTP 502 за истите ситуации.

Решенија според опкружувањето

  • Puppeteer: задржете --proxy-server=http://host:port при стартување и повикајте page.authenticate({ username, password }) пред навигацијата. Комплетен пример има во водичот за прокси со Puppeteer.
  • Playwright: проследете proxy: { server, username, password } при стартување на прелистувачот и Playwright автоматски ќе одговори на 407; погледнете Playwright.
  • Selenium: Chrome не прифаќа user:pass на командната линија; водичот за Selenium ги прикажува изводливите опции.
  • Chrome на Windows: ако дијалогот за најава никогаш не се појави, проверете дали некоја екстензија за прокси го потиснува, а потоа обидете се повторно во прозорец без екстензии.
  • Телефони: за апликации на кои им треба автентицирано прокси, користете апликација за прокси што поддржува user:pass како што е објаснето во водичот за поставување на Android.

Чекор по чекор

  1. 1

    Идентификувајте го одговорот на CONNECT

    Извршете curl -v -x со вашата прокси линија или залепете ја во алатката за проверка за да дознаете дали проксито враќа 407 или 502.

  2. 2

    За 407: правилно внесете ги корисничките податоци

    Во скриптите, користете ја функцијата за автентикација од библиотеката наместо да ставате user:pass во --proxy-server.

  3. 3

    За 502: пробајте друг сајт

    Вчитајте голема веб-страница како што е example.com преку истото прокси. Ако работи, проблемот е во оригиналната дестинација.

  4. 4

    Повторете и потврдете ја излезната IP

    Откако тунелот ќе се отвори, посетете ја мојата IP во истиот прелистувач за да потврдите дека сообраќајот поминува преку проксито.

Често поставувани прашања

Зошто http страниците се вчитуваат, а https страниците не успеваат?

За обичен http не е потребен CONNECT; проксито директно го проследува барањето. Само https отвора тунел, па грешките во тунелот се појавуваат само таму.

Што предизвикува ERR_TUNNEL_CONNECTION_FAILED на Android?

Најчесто апликација што не може да ги пренесе корисничкото име и лозинката до Wi-Fi проксито. Пробајте ја истата страница во Chrome за Android; ако Chrome може да побара најава и да ја вчита, проблемот е во апликацијата.

Може ли да ставам user:pass во --proxy-server?

Не. Chrome ги игнорира корисничките податоци во тоа знаменце, што доведува до 407 и грешка во тунелот. Наместо тоа, автентицирајте се преку Puppeteer, Playwright или екстензија.

Дали префрлањето на SOCKS5 ќе ја отстрани грешката во тунелот?

Само ако вашата нарачка е за SOCKS5. VinaProxy нуди и HTTP(S) и SOCKS5; изберете го протоколот што е наведен за вашата нарачка на контролната табла, бидејќи неусогласеноста предизвикува различни грешки.

Проксија што работат со Puppeteer и Playwright

Проксијата на VinaProxy користат стандардна најава со user:pass што популарните библиотеки за автоматизација ја поддржуваат веднаш.

Погледнете ги цените

Related articles

Прокси грешки
Како да се поправи 407 Proxy Authentication Required
Грешка 407 Proxy Authentication Required значи дека проксито одговорило, но ја одби најавата. Видете реален curl излез, можни причини и решенија по апликација.
Прокси грешки
502 Bad Gateway грешки при прокси: откријте кој ги испраќа
Грешката 502 Bad Gateway преку прокси значи дека посредничкиот сервер нема валиден одговор. Откријте кој е виновен со помош на реални curl излези.
Поставување прокси
Како да поставите автентицирано прокси во Puppeteer (Node.js)
Конфигурирајте автентицирани HTTP(S) проксија во Node.js Puppeteer со знаменцето --proxy-server и await page.authenticate(). Копирајте ги работните примери.
Поставување прокси
Како да поставите прокси во Playwright (Browser и Per-Context автентикација)
Поставете автентицирани HTTP(S) проксија во Playwright за Node.js и Python и користете изолирани статички IP адреси во BrowserContexts. Копирајте примери.
Поставување прокси
Како да поставите автентицирано прокси во Selenium WebDriver
Конфигурирајте HTTP(S) прокси со корисничко име и лозинка во Selenium WebDriver со selenium-wire или Chrome наставка onAuthRequired. Погледнете го кодот.
Бесплатни алатки
Проверка на прокси: Проверете ги вашите проксија онлајн
Бесплатна проверка на прокси: залепете до 100 проксија како ip:port:user:pass и проверете статус, излезна IP и латенција. Дознајте што значи секоја грешка.
Поставување прокси
Како да конфигурирате прокси во Google Chrome
Конфигурирајте VinaProxy HTTP(S) прокси во Google Chrome без менување на IP на целиот систем, со екстензии, флагови за --proxy-server или одделни профили.
Поставување прокси
Како да конфигурирате прокси на Windows 10 и Windows 11
Конфигурирајте VinaProxy HTTP(S) проксија на Windows 10 и Windows 11 преку системските поставки WinINET, PowerShell променливи или netsh winhttp.