نعم. يمكن لـ Jellyfin العمل خلف وكيل عكسي ضمن مسار فرعي مثل https://example.com/jellyfin، لكن يجب أن يتفق Jellyfin والوكيل على المسار الأساسي نفسه.
يظهر فشل المسار الفرعي عادةً على شكل موقع يعمل جزئيًا: قد تُحمَّل صفحة تسجيل الدخول، بينما تفشل JavaScript أو الصور أو WebSockets أو عمليات إعادة التوجيه أو العملاء الأصليون. اختبر المسار على مراحل—عنوان URL الأساسي أولًا، ثم مسار الوكيل، ثم الرؤوس المُمرَّرة وعنوان العميل أخيرًا—حتى تتمكن من التمييز بين عدم تطابق المسار ومشكلة TLS أو هوية الوكيل.
اجعل عنوان URL الأساسي في Jellyfin مطابقًا للمسار الفرعي العام
اضبط عنوان URL الأساسي في Jellyfin على البادئة العامة الدقيقة التي تنوي استخدامها، مثل /jellyfin. لا تضف بادئة داخلية مختلفة لمجرد أن الوكيل يستخدم كتلة موقع مُسمّاة؛ يجب أن يصف المسار الظاهر في المتصفح وعنوان URL الأساسي في Jellyfin جذر التطبيق نفسه.
توفّر وثائق Jellyfin الخاصة بالوكيل العكسي في Apache مثالًا صريحًا على المسار الفرعي، وتطلب من المسؤولين ضبط عنوان URL الأساسي على /jellyfin قبل ربط العملاء بذلك العنوان الكامل. مثال رسمي على المسار الفرعي
أعد تشغيل Jellyfin بعد تغيير عنوان URL الأساسي، ثم افتح المسار الفرعي العام في نافذة تصفح خاصة جديدة. إذا أسقطت إعادة التوجيه الأولية /jellyfin فورًا أو أضافته مرتين، فأصلح عنوان URL الأساسي قبل تعديل إعدادات WebSocket أو المصادقة.
مرّر البادئة نفسها عبر الوكيل العكسي
اضبط الوكيل العكسي بحيث تُمرَّر الطلبات التي تبدأ بالبادئة العامة إلى Jellyfin من دون اختراع تحويل إضافي للمسار. أبسط تصميم هو بادئة عامة واحدة، وعنوان URL أساسي مطابق في Jellyfin، وخدمة خلفية واحدة.
يوضح دليل Caddy الخاص بـ Jellyfin النمط نفسه: اضبط المسار الأساسي في Jellyfin، وأعد توجيه البادئة العارية إلى صيغة الشرطة المائلة الختامية، ثم مرّر الطلبات الواقعة ضمن تلك البادئة إلى الواجهة الخلفية لـ Jellyfin. مسار أساسي ومسار وكيل متطابقان
إذا تلقّى المتصفح خطأ 404 من الوكيل قبل أن يسجّل Jellyfin الطلب، فالمسار خاطئ على مستوى الوكيل. أما إذا تلقّى Jellyfin الطلب لكنه أنشأ روابط من دون البادئة، فعنوان URL الأساسي خاطئ على مستوى التطبيق. أبقِ هاتين العلامتين المميزتين للفشل منفصلتين.
تحقق من الأصول الثابتة وWebSockets، وليس صفحة تسجيل الدخول فقط
لا تكفي استجابة HTML ناجحة لاعتبار إعداد المسار الفرعي سليمًا. افتح أدوات المطور أو سجل الوكيل، وتحقق من أن طلبات JavaScript وCSS والصور وواجهة API وWebSocket تبقى جميعها ضمن البادئة العامة نفسها.
تتضمن أمثلة Jellyfin الخاصة بالوكيل العكسي معالجة WebSocket لأن العملاء التفاعليين يحافظون على اتصال بالمقبس بالإضافة إلى طلبات HTTP العادية. لذلك قد تبدو قاعدة الوكيل صحيحة حتى تتعطل حالة التشغيل أو تحديثات الجلسة أو سلوك الواجهة المباشر. متطلبات الوكيل العكسي
شرط النجاح بسيط: ألا تتكرر استجابات 404/502 للأصول ذات البادئة، وأن تتم ترقية WebSocket بنجاح، وألا ينتقل التصفح إلى جذر الموقع. إذا فشلت فئة واحدة من الطلبات فقط، فأصلح قاعدة الوكيل الخاصة بها بدلًا من تغيير إعدادات مكتبة Jellyfin أو المصادقة.
حافظ على هوية العميل عبر الوكيل
بعد عمل المسار، تحقق من معلومات العميل المُمرَّرة. يستخدم Jellyfin إعداد الثقة بالوكيل لتحديد ما إذا كان ينبغي قبول العناوين والبروتوكولات المُمرَّرة، مما يؤثر في سلوك الاتصال المحلي مقابل البعيد وقواعد الوصول الخارجي.
يحذّر دليل الشبكات في Jellyfin من تجاهل الرؤوس المُمرَّرة القادمة من وكيل غير موثوق، ويوصي بضبط عنوان الوكيل ضمن الوكلاء المعروفين. إعداد الوكلاء المعروفين ويُعد فحص منفصل لعنوان IP الخاص بالعميل مفيدًا عندما يعمل الموقع لكن يبدو أن كل طلب صادر من الوكيل.
لا تحل مشكلة الهوية عبر الوثوق بكل شبكة فرعية خاصة أو بكل رأس مُمرَّر. أضف فقط قفزة الوكيل الفعلية أو شبكة الوكيل الخاضعة للتحكم، ثم قارن طلبًا واحدًا من الشبكة المحلية وآخر عن بُعد في سجلات Jellyfin للتأكد من تصنيفهما كما هو متوقع.
اختبر عناوين المتصفح والعميل الأصلي كلٌّ على حدة
أدخل عنوان الخادم الكامل، بما في ذلك المسار الفرعي، عندما يطلب عميل Jellyfin عنوان URL للخادم. لا يستطيع عميل محفوظ على https://example.com استنتاج أن Jellyfin موجود ضمن /jellyfin.
اختبر متصفحًا واحدًا وعميلًا أصليًا واحدًا من الشبكة المحلية، ثم كرر الاختبار عبر اسم المضيف العام. إذا عمل اسم المضيف بينما لم يعمل الوصول المباشر عبر عنوان IP المحلي، فقد يكون ذلك متوقعًا عندما يعتمد مسار الوكيل والشهادة على اسم المضيف؛ ويساعد اختبار اسم المضيف مقابل عنوان IP على عزل هذه الحالة من دون إضعاف الوكيل.
توقف عندما يصمد عنوان URL ذي البادئة أثناء تسجيل الدخول والتصفح واستخدام WebSocket والتشغيل على العملاء الذين تدعمهم فعليًا. إذا فشل عميل واحد فقط بينما نجح المتصفح والعملاء الآخرون، فاعتبرها مشكلة في عنوان العميل أو توافقه بدلًا من إعادة كتابة إعداد وكيل يعمل.
الدعم والنصائح
المزيد للقراءة

هل ينبغي أخذ نسخة احتياطية من Home Assistant أثناء تشغيله أم إيقاف الخدمة أولًا؟
يمكن تشغيل النسخ الاحتياطية المضمّنة في Home Assistant أثناء عمل النظام؛ أما نسخ نظام الملفات العادية فينبغي أن توقف Home Assistant أو تجعله في...

لماذا يعمل خادم Home Assistant بدرجة حرارة مرتفعة أو بضوضاء عالية أثناء ساعات الخمول؟
اربط ارتفاعات سرعة مروحة Home Assistant أو درجات الحرارة بمسجّل البيانات والنسخ الاحتياطية والتكاملات والمهام المستضافة معه قبل تغيير إعدادات التبريد أو حدود وحدة...

متى ينبغي إعادة بناء Home Assistant بدلًا من إصلاحه؟
أصلح أولًا أصغر طبقة معطّلة في Home Assistant، ثم استعد الحالة المعروفة بأنها سليمة، ولا تُعِد البناء إلا عندما يتعذّر الوثوق بالإعدادات الدائمة.

