Ҳалли хатои ERR_TUNNEL_CONNECTION_FAILED бо прокси
Updated:
Барои кушодани саҳифаи https:// тавассути прокси, браузер дархости CONNECT мефиристад ва интизор мешавад, ки прокси ба сайт туннел боз кунад. ERR_TUNNEL_CONNECTION_FAILED вақте пайдо мешавад, ки прокси ба ҷои қабули дархост, бо хато посух диҳад. Мушкилӣ дар он аст, ки Chrome кадом хато будани онро нишон намедиҳад, бинобар ин вазифаи аввал пайдо кардани коди аслӣ мебошад.
Ду ҳолате, ки мо такрор кардем
Ҳарду ҳолат дар проксии озмоишӣ санҷида шуданд, ки дар ин ҷо бо суроғаи ҳуҷҷатии 203.0.113.10:8080 ва user123:pass456 нишон дода шудаанд. Дар равзанаи муқаррарии Chrome ҳолати 407 ба хатои туннел табдил намеёбад; ба ҷои ин, Chrome равзанаи воридшавиро барои номи корбар ва пароли прокси мекушояд. Аз ин рӯ, хатогиҳои туннел аз сабаби 407 бештар дар абзорҳои автоматизатсия ва дар барномаҳое рух медиҳанд, ки имкони дархости паролро надоранд.
| Прокси ба CONNECT посух медиҳад бо | Chrome нишон медиҳад | curl нишон медиҳад |
|---|---|---|
407 бе имкони ворид кардани парол (headless Chrome) | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 407 |
502 зеро прокси ба сайт пайваст шуда наметавонад | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 502 |
Сабабҳо аз рӯи эҳтимолият
- Скрипти автоматизатсия маълумоти воридшавиро намефиристад. Парчами
--proxy-server-и Chrome танҳо host ва port-ро қабул мекунад, на user:pass. Puppeteer ё Selenium-и headless хатои 407 мегиранд ва дар бораи нокомии туннел хабар медиҳанд. - Барномаи телефон дар паси проксии Wi-Fi бо парол. Барнома равзанаи воридшавӣ надорад, бинобар ин HTTPS кор намекунад, дар ҳоле ки браузер кор кардан мегирад.
- Прокси ба ҳадаф пайваст шуда наметавонад. Он ба CONNECT хатои 502 бармегардонад; саҳифаи 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
Муайян кардани посухи CONNECT
Барои фаҳмидани он ки прокси 407 ё 502 бармегардонад,
curl -v -x-ро бо сатри проксии худ иҷро кунед ё онро ба санҷанда гузоред. - 2
Барои 407: ворид кардани дурусти маълумоти воридшавӣ
Дар скриптҳо, ба ҷои ворид кардани user:pass дар
--proxy-server, аз хуки аутентификатсияи китобхона истифода баред. - 3
Барои 502: сайти дигарро санҷед
Сайти калоне ба монанди example.com-ро тавассути ҳамон прокси боз кунед. Агар он кор кунад, мушкилӣ дар худи сайти аслӣ аст.
- 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-ро истифода мебаранд, ки китобхонаҳои маъмули автоматизатсия онро бе ягон танзимоти иловагӣ дастгирӣ мекунанд.
Дидани нархҳо