Kurekebisha ERR_TUNNEL_CONNECTION_FAILED unapotumia proksi
Updated:
Ili kupakia ukurasa wa https:// kupitia proksi, kivinjari hutuma ombi la CONNECT na kusubiri proksi ifungue handaki kuelekea tovuti hiyo. ERR_TUNNEL_CONNECTION_FAILED huonekana pale proksi inapojibu ombi hilo kwa kosa badala ya kukubali. Changamoto ni kwamba Chrome haikwambii ni kosa gani, hivyo kazi ya kwanza ni kubaini kodi halisi.
Hali mbili tulizozizalisha upya
Zote ziliendeshwa dhidi ya proksi ya majaribio, iliyoandikwa upya hapa kwa anwani ya mafunzo 203.0.113.10:8080 na user123:pass456. Kwenye dirisha la kawaida la Chrome, hali ya 407 haisababishi hitilafu ya handaki; badala yake, Chrome hufungua kisanduku cha mazungumzo cha kuingia kwa ajili ya jina la mtumiaji na nenosiri la proksi. Kwa hivyo, hitilafu za handaki zinazosababishwa na 407 hutokea zaidi kwenye zana za otomatiki na kwenye programu zisizoweza kuomba nenosiri.
| Proksi inajibu CONNECT kwa | Chrome inaonyesha | curl inaonyesha |
|---|---|---|
407 bila njia ya kuingiza nenosiri (headless Chrome) | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 407 |
502 kwa sababu proksi haiwezi kuifikia tovuti | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 502 |
Sababu, kuanzia zinazoelekea zaidi
- Skripti ya otomatiki haitumi kitambulisho. Bendera ya Chrome ya
--proxy-serverhukubali seva pangishi na mlango pekee, si user:pass. Puppeteer au Selenium isiyo na kiolesura (headless) hupokea 407 na kuripoti hitilafu ya handaki. - Programu ya simu inayotumia proksi ya Wi-Fi yenye nenosiri. Programu haina kisanduku cha kuingia, hivyo HTTPS inashindwa kufanya kazi huku kivinjari kikiendelea kufanya kazi.
- Proksi haiwezi kuifikia tovuti lengwa. Inarudisha 502 kwa CONNECT; ukurasa wa 502 Bad Gateway unaeleza hili kwa kina.
- Ni baadhi ya tovuti tu zinazoshindwa. Tovuti lengwa inazuia muunganisho au haipatikani, huku tovuti nyingine zikifanya kazi kupitia proksi hiyo hiyo.
Pata kodi halisi kwa amri moja ya curl
Endesha curl -v -x http://user123:[email protected]:8080 https://example.com ukitumia thamani zako mwenyewe. Angalia mstari unaofuata mara tu baada ya > CONNECT example.com:443 HTTP/1.1: 407 inamaanisha kufuata mwongozo wa 407; 502 inaashiria tovuti lengwa au njia iliyo nyuma ya proksi. Iwapo hupendelei kutumia terminali, weka mstari huo kwenye kikaguzi cha proksi, ambacho huripoti auth failed (407) au HTTP 502 kwa hali hizo hizo.
Masuluhisho kulingana na mazingira
- Puppeteer: bakiza
--proxy-server=http://host:portwakati wa kuanzisha na pigapage.authenticate({ username, password })kabla ya kuelekea kwenye ukurasa. Mfano kamili upo kwenye mwongozo wa proksi wa Puppeteer. - Playwright: pitisha
proxy: { server, username, password }wakati wa kuanzisha kivinjari na Playwright itajibu 407 kwa ajili yako; tazama Playwright. - Selenium: Chrome haikubali user:pass kwenye mstari wa amri; mwongozo wa Selenium unaonyesha machaguo yanayofaa.
- Chrome kwenye Windows: iwapo kisanduku cha kuingia hakionekani kamwe, angalia ikiwa kiendelezi cha proksi kinakizuia, kisha jaribu tena kwenye dirisha lisilo na viendelezi.
- Simu: kwa programu zinazohitaji proksi iliyothibitishwa, tumia programu ya proksi inayotumia user:pass kama ilivyo kwenye mwongozo wa usanidi wa Android.
Hatua kwa hatua
- 1
Tambua jibu la CONNECT
Endesha
curl -v -xukitumia mstari wako wa proksi, au uweke kwenye kikaguzi, ili kubaini iwapo proksi inarudisha 407 au 502. - 2
Kwa 407: weka vitambulisho ipasavyo
Kwenye skripti, tumia mfumo wa uthibitishaji wa maktaba husika badala ya kuweka user:pass kwenye
--proxy-server. - 3
Kwa 502: jaribu tovuti nyingine
Pakia tovuti kubwa kama vile example.com kupitia proksi hiyo hiyo. Ikiwa inafanya kazi, tatizo ni tovuti lengwa ya awali.
- 4
Endesha tena na uthibitishe IP ya kutoka
Handaki likishafunguka, tembelea IP yangu kwenye kivinjari hicho hicho ili kuthibitisha kuwa trafiki inapita kwenye proksi.
Maswali yanayoulizwa mara kwa mara
Kwa nini kurasa za http hupakia lakini kurasa za https hushindwa?
http ya kawaida haihitaji CONNECT; proksi husambaza ombi moja kwa moja. https pekee ndiyo hufungua handaki, kwa hivyo hitilafu za handaki huonekana hapo tu.
Ni nini kinachosababisha ERR_TUNNEL_CONNECTION_FAILED kwenye Android?
Mara nyingi ni programu isiyoweza kupitisha jina la mtumiaji na nenosiri kwenye proksi ya Wi-Fi. Jaribu ukurasa huo huo kwenye Chrome ya Android; ikiwa Chrome inaweza kuomba nenosiri na kupakia, basi tatizo ni programu hiyo.
Je, ninaweza kuweka user:pass ndani ya --proxy-server?
Hapana. Chrome hupuuza vitambulisho kwenye bendera hiyo, jambo linaloleta 407 na hitilafu ya handaki. Badala yake, thibitisha kupitia Puppeteer, Playwright au kiendelezi.
Je, kubadili kwenda SOCKS5 kutaondoa hitilafu ya handaki?
Ni ikiwa tu agizo lako ni la SOCKS5. VinaProxy inatoa HTTP(S) na SOCKS5 zote mbili; chagua itifaki inayoonyeshwa kwenye dashibodi kwa agizo lako, kwani kutolingana husababisha hitilafu tofauti.
Proksi zinazofanya kazi na Puppeteer na Playwright
Proksi za VinaProxy hutumia uingiaji wa kawaida wa user:pass ambao maktaba maarufu za otomatiki huusaidia moja kwa moja.
Ona bei