يمكن للوكيل العكسي توجيه أحد التطبيقات إلى نطاق تطبيق آخر عندما تنشئ الواجهة الخلفية أو البرمجيات الوسيطة عمليات إعادة التوجيه باستخدام اسم المضيف العام الخاطئ.
في حزمة ZimaSpace المستضافة ذاتيًا، قد تشترك عدة تطبيقات في الوكيل نفسه، بينما يتوقع كل تطبيق منها عنوان URL أساسيًا عامًا خاصًا به. إذا كان Host أو X-Forwarded-Host أو المخطط أو البرمجيات الوسيطة أو عنوان URL الأساسي المتعارف عليه على مستوى التطبيق يشير إلى خدمة أخرى، فقد تُحمّل الصفحة الأولى بشكل صحيح، ثم يؤدي طلب 301 أو 302 التالي أو استدعاء تسجيل الدخول إلى الانتقال بين النطاقات.
تحقق من Host والمخطط المُرسَلين إلى الواجهة الخلفية
التقط ترويسات الطلب في الوكيل والواجهة الخلفية أثناء إعادة إنتاج عملية إعادة التوجيه.
يساعدك دليل عملي مركز لتطبيق الوكيل العكسي على عزل هذا المسار، لأنه يتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
صحّح ترويسات الوكيل قبل تغيير عناوين URL الخاصة بالتطبيق. فلا يمكن للواجهة الخلفية إنشاء إعادة توجيه مطلقة صحيحة عندما تعتقد أن الطلب استخدم مضيفًا آخر.
افحص X-Forwarded-Host تحديدًا
تستخدم بعض أطر العمل X-Forwarded-Host بدلًا من ترويسة Host الخام عند إنشاء عناوين URL مطلقة.
يساعدك شرح مركز لترويسة HTTP يوضح أن X-Forwarded-Host يحافظ على اسم المضيف العام على عزل هذا المسار، لأنه يتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
قارن هذه الترويسة بين التطبيق العامل والتطبيق الذي يوجّه إلى نطاق خاطئ. أزل التجاوزات العامة التي تُجبر كل واجهة خلفية على استخدام نطاق واحد.
تحقق مما إذا كان التطبيق ينشئ عناوين URL مطلقة
ابحث عن إعدادات إطار العمل التي تثق بترويسات الوكيل وتنشئ روابط أو عمليات إعادة توجيه متعارفًا عليها.
يساعدك تدوينة عملية مركزة حول تصحيح أخطاء الوكيل في العالم الحقيقي على عزل هذا المسار، لأنها تتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
أصلح إعداد الثقة بترويسات الوكيل في إطار العمل أو إعداد عنوان URL العام، بدلًا من إعادة كتابة كل عملية إعادة توجيه عند الحافة.
تحقق من عنوان URL الأساسي للتطبيق أو النطاق المتعارف عليه
تخزن العديد من التطبيقات المستضافة ذاتيًا عنوان موقع بشكل مستقل عن قاعدة الوكيل.
يساعدك دراسة حالة عملية مركزة لتشغيل تطبيق خلف وكيل على عزل هذا المسار، لأنها تتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
قارن قيم عناوين URL المخزنة للتطبيق بعد عمليات الترحيل أو الاستعادة. فقد تحمل قاعدة بيانات منسوخة اسم المضيف المتعارف عليه لبيئة تطبيق أخرى.
راجع البرمجيات الوسيطة لإعادة التوجيه قبل الواجهة الخلفية
قد تعمل قاعدة الوكيل على إعادة كتابة المخطط أو المضيف عمدًا قبل وصول الطلب إلى التطبيق أصلًا.
يساعدك دليل عملي مركز لـ Traefik في المختبر المنزلي على عزل هذا المسار، لأنه يتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
عطّل فقط البرمجيات الوسيطة المشتبه بها لإعادة التوجيه في موجّه اختبار واحد. وأبقِ فرض HTTPS منفصلًا عن عمليات إعادة التوجيه بين النطاقات.
تحقق من عناوين URL لاستدعاء OAuth وOIDC
غالبًا ما تكشف تدفقات المصادقة عن اسم مضيف عام خاطئ، لأن موفّر الخدمة يتحقق من عنوان URI لإعادة التوجيه مطابق تمامًا.
يساعدك مقالة مركزة لاستكشاف أخطاء OIDC على عزل هذا المسار، لأنها تتناول المشكلة الجزئية نفسها بدلًا من الاكتفاء بتعريف البروتوكول الأساسي.
قارن المُصدِر والاستدعاء والترويسات المُمرَّرة وعنوان URL الأساسي للتطبيق معًا. فتح الصفحة بشكل طبيعي لا يثبت أن مسار استدعاء تسجيل الدخول صحيح.
أعد اختبار المسار الدقيق للخادم المنزلي
بعد تغيير متغير واحد، كرر سير عمل NAS أو الاستضافة الذاتية نفسه من العميل نفسه، بدلًا من الانتقال إلى اختبار مختلف قد يستخدم مسارًا آخر.
يساعدك دليل ZimaSpace المرتبط حول مسار شبكة الخادم المنزلي على إبقاء التحقق النهائي مرتبطًا ببيئة الاستضافة الذاتية نفسها.
لا يُعد الإصلاح مكتملًا إلا عندما تظل المشكلة الأصلية محلولة بعد إعادة الاتصال وإعادة تشغيل الخدمة وتنفيذ عملية نقل أو طلب ثانية مضبوطة.
الأسئلة الشائعة
هل يمكن لنظام DNS أن يتسبب في HTTP 301 أو 302؟
يعيد DNS عنوانًا فقط. أما إعادة التوجيه فينشئها الوكيل أو طبقة المصادقة أو التطبيق.
لماذا يُحمّل التطبيق الصحيح قبل أن يغيّر المتصفح النطاق؟
قد يكون مسار الوكيل الأولي صحيحًا، بينما تنشئ الواجهة الخلفية لاحقًا إعادة توجيه مطلقة باستخدام عنوان URL أساسي أو مضيف مُمرَّر خاطئ.
هل ينبغي إعادة كتابة كل ترويسات Location عند الوكيل؟
لا. أصلح مصدر اسم المضيف غير الصحيح أولًا؛ فقد تؤدي إعادة كتابة الاستجابات على نطاق واسع إلى إخفاء أخطاء إعداد التطبيق.
الدعم والنصائح
المزيد للقراءة

هل يمكن لـ Plex مشاركة وحدة معالجة الرسومات (GPU) مع حاوية Docker أخرى؟
يمكن لـ Plex وحاوية أخرى غالبًا الوصول إلى وحدة معالجة الرسومات نفسها، لكن يجب اختبار دعم برنامج التشغيل، وتعيين الجهاز، وحِمل محرّك الفيديو، والذاكرة،...

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

كيفية إعداد ذاكرة التخزين المؤقت وموقع التخزين المؤقت لتحويل الترميز في Plex
احمِ حالة Plex الدائمة مع وضع الملفات المؤقتة للتحويل على مساحة تخزين محلية مناسبة، ثم تحقّق من التنظيف والمساحة الحرة وسلوك إعادة التشغيل.

