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

افحص المقبس وإعداد الربط وقاعدة جدار الحماية وعنوان URL، بهذا الترتيب.

المقبس يجيب على سؤال أضيق

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

ينتج عن ذلك فخّان في التسمية. في متصفح الهاتف، يعني localhost الهاتف لا الحاسوب المحمول. والعنوان الشامل قيمة ربط لا شيء يُكتب في عنوان URL. ومن يختبر بأيٍّ منهما سيسجّل فشلاً لم تتصل به الشبكة أصلاً.

يضيف IPv6 حالة ثالثة، لأن المقبس قد يقبل IPv4 وIPv6 حسب خيارات يسهل إغفالها. اقرأ عائلة العنوان في القائمة. والمدخل الشامل لعائلة واحدة لا يصف الأخرى.

اقرأ عنوان الاستماع

افحص المقبس قبل تغيير الإعدادات. العنوان المحلي والمنفذ والعملية المالكة تحدد معاً ما إذا كان الخادم قابلاً للوصول من الشبكة الافتراضية أصلاً.

Get-NetTCPConnection -State Listen -LocalPort 8080 | Select-Object LocalAddress,LocalPort,OwningProcess
Get-Process -Id (Get-NetTCPConnection -State Listen -LocalPort 8080).OwningProcess
ipconfig | Select-String -Pattern 'IPv4'
Get-NetFirewallRule -DisplayName '*8080*' | Format-Table DisplayName,Enabled,Profile,Direction,Action

العنوان المحلي 127.0.0.1 يحسم المسألة: لن يفيد أي تغيير في جدار الحماية، لأن التطبيق لا يستمع على واجهة الشبكة الافتراضية. أما العنوان الشامل أو عنوان الشبكة الافتراضية فيعني أن المقبس سليم وأن الحدود التالية هي المعنية.

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

غيّر الربط عبر التطبيق

استخدم خيار عنوان الاستماع الموثّق في إطار العمل وأعد تشغيل العملية. إذا كان الحاسوب المحمول يملك العنوان الخاص 10.77.0.1، يصبح عنوان URL للهاتف http://10.77.0.1:8080/ ويجب توجيه ذلك العنوان عبر الشبكة الافتراضية؛ ولا يتغيّر شيء آخر في الإعداد.

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

بالنسبة إلى HTTPS، أبقِ اسم مضيف الخدمة والتحقق من الشهادة سليمين. فالتحذير من شهادة على عنوان خام مشكلة تسمية لا خطوة تُتجاوَز بالنقر، ويجب أن يتوافق DNS الخاص مع المستمع الذي اخترته.

افتح قاعدة واحدة لا الشبكة كلها

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

استخدم عنوان المصدر الذي يراه Windows فعلاً، بما في ذلك أي ترجمة تجريها البوابة، لأن قاعدة مكتوبة لعنوان العميل الأصلي لن تطابق عنواناً مترجَماً.

الصفحة التي تُحمّل وتُظهر خطأ في التطبيق هي تقدّم: رفض HTTP فشل مختلف عن انعدام اتصال TCP، والتحقيق التالي يخص سياسة الوصول الخاصة بالتطبيق لا الشبكة.

اختم بطلب الصفحة من الهاتف المقصود وبالتأكد من أن جهازاً مستبعداً ما زال لا يستطيع الوصول إليها. المستمع العامل مع قاعدة تسمح بكل شيء ليس النتيجة نفسها.

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