إصلاح خطأ 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 مع عدم وجود طريقة لإدخال كلمة المرور (Chrome بدون واجهة رسومية headless)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. وبالتالي يتلقى Puppeteer أو Selenium بنمط headless الرمز 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 تدعمه أشهر مكتبات الأتمتة تلقائياً ودون إعدادات معقدة.

عرض الأسعار

مقالات ذات صلة

أخطاء البروكسي
كيفية حل خطأ 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 (مصادقة على مستوى المتصفح ولكل Context)
قم بإعداد بروكسيات HTTP(S) معتمدة وموثقة في Playwright لـ Node.js و Python. شغّل عناوين IP ثابتة ومعزولة متعددة عبر BrowserContexts.
إعداد البروكسي
كيفية إعداد بروكسي موثق في Selenium WebDriver
تهيئة بروكسيات HTTP(S) الموثقة باسم مستخدم وكلمة مرور في Selenium WebDriver باستخدام selenium-wire أو إضافة onAuthRequired.
أدوات مجانية
فاحص البروكسي: افحص البروكسيات أونلاين
فاحص بروكسي مجاني: الصق حتى 100 بروكسي بصيغة ip:port:user:pass وافحص البروكسي أونلاين لمعرفة الحالة وعنوان IP الخارجي وزمن الاستجابة، وتعرّف على معنى كل خطأ.
إعداد البروكسي
دليل إعداد البروكسي في Google Chrome
تهيئة بروكسيات VinaProxy HTTP(S) في Google Chrome دون تغيير عنوان IP للنظام بأكمله باستخدام إضافات Chrome أو وسائط --proxy-server أو الملفات الشخصية المستقلة.
إعداد البروكسي
كيفية تكوين بروكسي على Windows 10 و Windows 11
تكوين بروكسيات VinaProxy HTTP(S) على Windows 10 و Windows 11 باستخدام إعدادات نظام WinINET أو متغيرات بيئة PowerShell أو netsh winhttp.