يمكن أن ينقل VPN حركة المتصفح إلى خادم وكيل ويترك المتصفح مع ذلك غير قادر على استخدام ذلك الوكيل، لأن المسار وبيانات الاعتماد شيئان مختلفان. تجعل الأتمتة بلا واجهة الفجوة أصعب في الملاحظة، إذ لا توجد نافذة ولا مطالبة لتنبيهك. يظهر الفشل عادةً كتعلّق أو خطأ تنقّل عام، والغريزة الأولى هي إلقاء اللوم على النفق. تفصل القائمة أدناه الأشياء الأربعة التي يجب أن تكون صحيحة قبل أن ينجح طلب بلا واجهة عبر وكيل موثّق.

محادثتان، بيانات اعتماد اثنتان

تحدث محادثتان، وهما تنتميان إلى طرفين مختلفين. يتصل المتصفح أولًا بمستمع الوكيل، الذي قد يطالبه ببيانات الاعتماد؛ ثم ينشئ الوكيل الاتصال اللاحق بالوجهة أو يسمح به. يمكن أن يحمل VPN الجزء الأول دون أن يكون الطرف الذي يطالب المتصفح، وليس له أي رأي في الجزء الثاني.

HTTP 407 هو الإشارة إلى أن العميل يجب أن يوثّق طلب الوكيل، ويُحمل في Proxy-Authenticate مع توقّع الإجابة في Proxy-Authorization. هذا ليس تسجيل الدخول الخاص بموقع الوجهة، وخلط الاثنين هو أكثر مصادر الالتباس شيوعًا هنا.

إذن الفحوص الأربعة هي: أي وكيل اختاره المتصفح فعليًا، ومن يجيب عن 407، وعلى أي شبكة تعمل عملية المتصفح، وكيف تُسلَّم بيانات الاعتماد دون تدخل بشري. يمكن أن يفشل كل منها على حدة، ويبدو كل فشل مشابهًا من الخارج. نفّذها بالترتيب، لأن فحصًا لاحقًا لا يعوّض عن فحص سابق. الوكيل الذي لم يُختَر أصلًا لا يمكن توثيقه، وبيانات الاعتماد الموجودة على حاسوبك المحمول فقط لا يمكن أن تصل إلى حاوية.

الفحص 1: أي وكيل اختير فعليًا

ابدأ بالاختيار، لأن المتصفح الذي يتجاهل إعداد الوكيل لا يصل إلى التحدي إطلاقًا. في Chrome تكون العلامة --proxy-server=proxy.example:3128، مع --proxy-bypass-list للاستثناءات، ويعرض Selenium الشيء نفسه عبر خيارات المتصفح. ملف PAC آلية مختلفة لها أنماط فشل خاصة بها.

ثم تحقّق من داخل بيئة المتصفح قيد التشغيل، لا من صدفة الأوامر. الفحص المستقل بالوكيل نفسه هو curl -x http://proxy.example:3128 -v https://example.com، ويُظهر خرجه المفصّل ما إذا نجح CONNECT، وما الذي أعاده Proxy-Authenticate، وما إذا كانت الاستجابة 407 قد رجعت. إذا حصل curl على 407 وتعلّق المتصفح، فالمشكلة في مسار بيانات الاعتماد لا في الشبكة. وإذا نجح curl وفشل المتصفح، فالمتصفح لا يستخدم الوكيل الذي تظنه.

الفحص 2: من يجيب عن 407

لرمز 407 مالك، وتسميته تحدد أين يقع الإصلاح. إذا جاء التحدي من الوكيل المؤسسي، فالإصلاح هو بيانات اعتماد يستطيع المتصفح تقديمها دون إشراف. وإذا جاء من وكيل أعلى تمرّر إليه الأولى الطلب، فبيانات الاعتماد تخصّ تلك القفزة الثانية وقد يعيد الوكيل الأول تمرير التحدي دون تغيير. اقرأ نطاق المصادقة والمضيف في ترويسة Proxy-Authenticate، لأنهما يسمّيان الجهاز الذي يطلب.

حافظ على هذا التمييز في كل ما تسجّله. تحدّي الوكيل، والاتصال اللاحق المرفوض، وتسجيل الدخول إلى موقع، وانتهاء مهلة نقل VPN أربعة أعطال مختلفة بأربعة مالكين مختلفين، ورسالة خطأ عامة واحدة تدمّر المعلومات التي تحتاجها.

الفحص 3: مسار بيانات الاعتماد

بيانات الاعتماد نفسها هي حيث تتعطّل معظم الإعدادات غير المراقبة. يستطيع Selenium ضبط مضيف الوكيل ومنفذه، لكن مصادقة وكيل HTTP ليست جزءًا محمولًا من ذلك الإعداد، وبيانات الاعتماد في عنوان URL للوكيل ليست آلية يمكن الاعتماد عليها عبر المتصفحات وإصدارات برامج التشغيل. الخيارات المدعومة هي التي توثّقها حزمتك الفعلية: إضافة متصفح تجيب عن التحدي، أو وكيل تحويل محلي يضيف الترويسة ولا يمكن الوصول إليه إلا من المهمة، أو وكيل يوثّق عبء العمل بوسائل أخرى. اختر واحدًا عن قصد، وافحصه مقابل إصدارات المتصفح وبرنامج التشغيل وSelenium التي ستستخدمها بالضبط.

أبقِ بيانات الاعتماد بعيدًا عن الأماكن التي تسرّبها. أسطر الأوامر مرئية في قوائم العمليات، ولقطات الشاشة تنتهي في تقارير الاختبار، وتتبّعات المتصفح وملفات HAR تلتقط الترويسات، وإعداد الاختبار الملتزم يبقى إلى الأبد. استخدم آلية تسليم الأسرار الخاصة بالمهمة وقواعد حجبها، وحدّد نطاق حساب الوكيل على الوجهات أو الدور الذي يحتاجه.

إذا قدّمت المؤسسة مسار VPN مباشرًا مسموحًا بدلًا من وكيل إلزامي، فقارن التصميمين صراحةً. لا تعطّل الوكيل بهدوء ولا تقلّد مصادقة عميل آخر للالتفاف على السياسة.

الفحص 4: سياق الشبكة الخاص بعملية المتصفح

هذا هو الفحص الذي يتخطاه الناس. المتصفح الذي يطلقه عامل أو حاوية أو عقدة Selenium Grid بعيدة يستخدم شبكة تلك البيئة، لذا فإن اتصال VPN على حاسوبك المحمول ومتغيرات الوكيل في صدفة الأوامر تصف مسارًا قد لا يلمسه المتصفح أبدًا.

سجّل خمس حقائق للمهمة الفاشلة: مضيف المتصفح، والوكيل المهيّأ، ومسار المترجم الأولي، والمسار المختار، ومالك المصادقة. ثم نفّذ طلبًا واحدًا غير ضار ومصرّحًا به من ذلك السياق نفسه، مع إبقاء التحقق العادي من TLS للوجهة وتفويض التطبيق مفعّلين. المتصفح بلا واجهة الذي يبدأ بنجاح لا يثبت قبول الوكيل ولا تغطية VPN، ولقطة شاشة لصفحة فارغة لا تثبت شيئًا على الإطلاق. الطلب الذي يعيد 200 عبر السلسلة بأكملها هو الدليل الوحيد الذي يُحتسب.

لسير العمل المكتمل ثلاث خصائص تستحق الفحص كمجموعة. يوجد مسار مدعوم من مضيف المتصفح إلى الوكيل، وسياسة وسيط صريحة تسمّي الوكيل والوجهات، ودورة حياة لبيانات الاعتماد لا تعتمد على مشغّل يجيب عن مطالبة غير مرئية. إذا اعتمد أي من الثلاثة على شخص، فالمهمة ليست غير مراقبة بعد، مهما قال رمز الخروج. اكتب الحقائق الخمس قبل أن يرث الشخص التالي خط الأنابيب.

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