प्रॉक्सी के साथ ERR_TUNNEL_CONNECTION_FAILED को ठीक करना

अपडेट किया गया:

प्रॉक्सी के ज़रिए 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

कारण, सबसे संभावित पहले

  • ऑटोमेशन स्क्रिप्ट कोई क्रेडेंशियल नहीं भेजती। Chrome का --proxy-server फ़्लैग केवल होस्ट और पोर्ट स्वीकार करता है, user:pass नहीं। Headless Puppeteer या Selenium को 407 मिलता है और वे टनल विफलता की रिपोर्ट करते हैं।
  • पासवर्ड-सुरक्षित Wi-Fi प्रॉक्सी के पीछे फोन ऐप। ऐप में कोई लॉगिन डायलॉग नहीं होता, इसलिए ब्राउज़र काम करते रहने के बावजूद HTTPS चलना बंद हो जाता है।
  • प्रॉक्सी टार्गेट तक नहीं पहुंच पा रही है। यह CONNECT पर 502 लौटाती है; 502 Bad Gateway पेज में इसे विस्तार से समझाया गया है।
  • केवल कुछ साइटें विफल हो रही हैं। टार्गेट साइट ब्लॉक कर रही है या डाउन है, जबकि उसी प्रॉक्सी से अन्य साइटें काम कर रही हैं।

एक curl कमांड से असली कोड का पता लगाएं

अपने मानों (values) के साथ curl -v -x http://user123:[email protected]:8080 https://example.com चलाएं। > CONNECT example.com:443 HTTP/1.1 के ठीक बाद वाली लाइन देखें: 407 का मतलब है 407 गाइड का पालन करना; 502 टार्गेट या प्रॉक्सी के पीछे के रूट में समस्या की ओर इशारा करता है। यदि आप टर्मिनल का उपयोग नहीं करना चाहते हैं, तो इस लाइन को proxy checker में पेस्ट करें, जो इन्हीं स्थितियों के लिए 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 गाइड में इसके काम करने योग्य विकल्प दिखाए गए हैं।
  • Windows पर Chrome: यदि साइन-इन डायलॉग कभी दिखाई नहीं देता है, तो जांचें कि क्या कोई प्रॉक्सी एक्सटेंशन इसे रोक रहा है, फिर बिना एक्सटेंशन वाली विंडो में दोबारा प्रयास करें।
  • फ़ोन: ऐसे ऐप्स के लिए जिन्हें प्रमाणित प्रॉक्सी की आवश्यकता होती है, user:pass का समर्थन करने वाले प्रॉक्सी ऐप का उपयोग करें, जैसा कि Android सेटअप गाइड में बताया गया है।

स्टेप बाय स्टेप

  1. 1

    CONNECT रिस्पॉन्स पहचानें

    यह जानने के लिए कि प्रॉक्सी 407 लौटा रही है या 502, अपनी प्रॉक्सी लाइन के साथ curl -v -x चलाएं या उसे चेकर में पेस्ट करें।

  2. 2

    407 के लिए: क्रेडेंशियल सही तरीके से दें

    स्क्रिप्ट में, --proxy-server में user:pass डालने के बजाय लाइब्रेरी के ऑथेंटिकेशन हुक का उपयोग करें।

  3. 3

    502 के लिए: कोई दूसरी साइट आज़माएं

    उसी प्रॉक्सी के ज़रिए example.com जैसी किसी बड़ी साइट को लोड करें। यदि यह काम करती है, तो समस्या मूल टार्गेट साइट में है।

  4. 4

    दोबारा चलाएं और एग्जिट IP की पुष्टि करें

    टनल खुलने के बाद, यह पुष्टि करने के लिए कि ट्रैफ़िक प्रॉक्सी से होकर जा रहा है, उसी ब्राउज़र में my IP पर जाएं।

अक्सर पूछे जाने वाले प्रश्न

http पेज लोड क्यों होते हैं जबकि https पेज विफल हो जाते हैं?

सामान्य http को CONNECT की आवश्यकता नहीं होती; प्रॉक्सी रिक्वेस्ट को सीधे आगे भेज देती है। केवल https ही टनल खोलता है, इसलिए टनल एरर सिर्फ़ वहीं दिखाई देती हैं।

Android पर ERR_TUNNEL_CONNECTION_FAILED का क्या कारण है?

अक्सर ऐसा ऐप जो Wi-Fi प्रॉक्सी को यूज़रनेम और पासवर्ड पास नहीं कर सकता। उसी पेज को Android के लिए Chrome में आज़माएं; यदि Chrome प्रॉम्प्ट करके उसे लोड कर लेता है, तो समस्या ऐप में है।

क्या मैं --proxy-server के अंदर user:pass डाल सकता हूँ?

नहीं। Chrome उस फ़्लैग में क्रेडेंशियल्स को अनदेखा कर देता है, जिससे 407 और टनल एरर आ जाती है। इसके बजाय Puppeteer, Playwright या किसी एक्सटेंशन के ज़रिए ऑथेंटिकेट करें।

क्या SOCKS5 पर स्विच करने से टनल एरर हट जाएगी?

केवल तभी जब आपका ऑर्डर SOCKS5 का हो। VinaProxy HTTP(S) और SOCKS5 दोनों प्रदान करता है; डैशबोर्ड में आपके ऑर्डर में दिखने वाला प्रोटोकॉल ही चुनें, क्योंकि बेमेल प्रोटोकॉल से अन्य एरर आ सकती हैं।

प्रॉक्सी जो Puppeteer और Playwright के साथ काम करती हैं

VinaProxy प्रॉक्सी मानक user:pass लॉगिन का उपयोग करती हैं जिसे लोकप्रिय ऑटोमेशन लाइब्रेरी बिना किसी अतिरिक्त कॉन्फ़िगरेशन के आसानी से संभाल लेती हैं।

कीमतें देखें

संबंधित लेख

प्रॉक्सी त्रुटियां
407 Proxy Authentication Required गड़बड़ी को कैसे ठीक करें
407 Proxy Authentication Required गड़बड़ी का मतलब है कि प्रॉक्सी ने जवाब दिया लेकिन आपके लॉगिन को अस्वीकार कर दिया। वास्तविक curl आउटपुट, संभावित कारण और ऐप-वार समाधान देखें।
प्रॉक्सी त्रुटियां
502 Bad Gateway प्रॉक्सी एरर: जानें कि यह एरर किसने भेजा है
प्रॉक्सी के ज़रिए 502 Bad Gateway का मतलब है कि बीच के सर्वर को कोई मान्य जवाब नहीं मिला। वास्तविक curl आउटपुट के साथ जानें कि गलती प्रॉक्सी की है या वेबसाइट की।
प्रॉक्सी सेटअप गाइड
Puppeteer में प्रमाणित प्रॉक्सी कैसे सेट करें (Node.js गाइड)
Node.js Puppeteer में --proxy-server लॉन्च फ़्लैग और await page.authenticate() का उपयोग करके प्रमाणित HTTP(S) प्रॉक्सी कॉन्फ़िगर करें।
प्रॉक्सी सेटअप गाइड
Playwright में प्रॉक्सी कैसे सेट करें (ब्राउज़र और Per-Context ऑथेंटिकेशन)
Node.js और Python के लिए Playwright में प्रमाणित HTTP(S) प्रॉक्सी कॉन्फ़िगर करें। BrowserContexts में कई पृथक स्टैटिक IP चलाएँ।
प्रॉक्सी सेटअप गाइड
Selenium WebDriver में प्रमाणित प्रॉक्सी कैसे सेट करें
selenium-wire या Chrome onAuthRequired एक्सटेंशन का उपयोग करके Selenium WebDriver में यूज़रनेम:पासवर्ड प्रमाणित HTTP(S) प्रॉक्सी कॉन्फ़िगर करें।
मुफ़्त टूल
प्रॉक्सी चेकर: अपनी प्रॉक्सी ऑनलाइन चेक करें
फ्री प्रॉक्सी चेकर: ip:port:user:pass फ़ॉर्मेट में 100 तक प्रॉक्सी पेस्ट करें और ऑनलाइन स्टेटस, एग्ज़िट IP और लेटेंसी चेक करें। हर एरर का मतलब भी जानें।
प्रॉक्सी सेटअप गाइड
Google Chrome में प्रॉक्सी कॉन्फ़िगरेशन गाइड
Chrome एक्सटेंशन, --proxy-server कमांड-लाइन फ्लैग या स्वतंत्र उपयोगकर्ता प्रोफाइल के माध्यम से संपूर्ण OS IP को बदले बिना Google Chrome में VinaProxy HTTP(S) प्रॉक्सी कॉन्फ़िगर करें।
प्रॉक्सी सेटअप गाइड
Windows 10 और Windows 11 पर प्रॉक्सी कैसे कॉन्फ़िगर करें
WinINET सिस्टम सेटिंग्स, PowerShell पर्यावरण चर, या netsh winhttp का उपयोग करके Windows 10 और Windows 11 पर VinaProxy HTTP(S) प्रॉक्सी कॉन्फ़िगर करें।