عادةً ما يعني تكرار تسجيل الدخول من الخارج فقط أن مسار البروكسي البعيد يغير المخطط، اسم المضيف، ملف تعريف الارتباط، رد الاتصال، أو معلومات الجلسة التي يراها التطبيق.
داخل المنزل، قد يتصل المتصفح مباشرة بخدمة السحابة الخاصة عبر عنوانها المحلي، بينما يدخل المستخدمون البعيدون من خلال DNS عام، إنهاء TLS، بروكسي عكسي، طبقة المصادقة الأمامية، نفق، أو مزود هوية. يمكن قبول بيانات الاعتماد بشكل صحيح ولكن الطلب التالي يعود إلى صفحة تسجيل الدخول لأن ملف تعريف الجلسة لم يُخزن أو يُعاد، أو يعتقد الخادم الخلفي أن HTTPS هو HTTP، أو يختلف عنوان رد الاتصال عن القيمة المسجلة، أو يولد التطبيق عمليات إعادة توجيه لاسم المضيف الداخلي الخاص به.
التقاط حلقة إعادة التوجيه الدقيقة في المتصفح
افتح لوحة شبكة المتصفح قبل تسجيل الدخول من خارج المنزل. احتفظ بسجل الطلبات وسجل كل رمز حالة، رأس Location، رأس Set-Cookie، اسم مضيف الطلب، وما إذا كان ملف تعريف الجلسة يظهر في الطلب التالي.
يوصي دليل استكشاف أخطاء Keycloak بمراقبة سلسلة إعادة التوجيه الكاملة لأن رؤوس التوجيه المفقودة، نطاق ملفات تعريف الارتباط، وردود الاتصال يمكن أن تخلق حلقة إعادة توجيه تسجيل دخول لا نهائية حتى عندما تنجح خطوة كلمة المرور.
إذا لم يتم إصدار ملف تعريف ارتباط، فافحص استجابة التطبيق والبروكسي. إذا تم إصدار ملف تعريف ارتباط لكنه لم يُعاد، فافحص نطاقه، المسار، خاصية Secure، وSameSite. إذا عاد ملف تعريف الارتباط لكن التطبيق لا يزال يعيد التوجيه، استمر في التحقق من ثقة البروكسي وتخزين الجلسة.
مقارنة أسماء المضيف والمخططات المحلية والعامة
دوّن عنوان URL المحلي والعام بدقة، بما في ذلك http أو https، اسم المضيف، المنفذ، والمسار الفرعي. اختبر ما إذا كان للتطبيق عنوان URL أساسي موحد أو خارجي مُكوّن.
تشرح تحليلات ووردبريس عبر بروكسي عكسي أنه عندما يعتقد الخادم الخلفي أن الطلب هو HTTP، يمكنه إعادة التوجيه إلى HTTPS بشكل متكرر بينما يستمر البروكسي في إنهاء TLS. تنشأ الحلقة من الكشف الخاطئ عن HTTPS خلف البروكسي وليس من كلمة مرور المستخدم.
استخدم اسم مضيف عام واحد باستمرار لتسجيل الدخول عن بُعد، وردود الاتصال، وملفات تعريف الارتباط. لا تخلط بين النطاق العام، عنوان IP الخاص، اسم المضيف الداخلي، والمنافذ البديلة داخل تدفق مصادقة واحد إلا إذا كان التطبيق يدعم صراحة أصولًا موثوقة متعددة.
التحقق من رؤوس المضيف والبروتوكول المعاد توجيهها
تحقق من تكوين البروكسي العكسي وسجلات الخادم الخلفي لـ X-Forwarded-Proto، X-Forwarded-Host، X-Forwarded-Port، وعنوان العميل الأصلي. أكد أن التطبيق يثق فقط بالبروكسي المعروف ويعيد بناء نفس عنوان URL العام الذي استخدمه المتصفح.
تشير حالة بروكسي عكسي لـ qBittorrent إلى أن صفحة تسجيل الدخول يمكن أن تُحمّل وتقبل بيانات الاعتماد بينما رأس Host أو HTTPS غير المتطابق يمنع التعرف على الجلسة المصادق عليها.
إذا أرسل البروكسي القيم العامة الصحيحة لكن التطبيق تجاهلها، قم بتكوين إعدادات البروكسي الموثوق به وعنوان URL الخارجي للتطبيق. إذا حذفها البروكسي، أضف الرؤوس الضيقة المطلوبة بدلاً من إعادة توجيه كل رأس يزوده العميل دون تغيير.
فحص نطاق ملف تعريف الارتباط، المسار، Secure، وSameSite
قارن ملف تعريف الجلسة الذي تم إنشاؤه محليًا مع الذي تم إنشاؤه عبر النطاق العام. قد لا يرافق ملف تعريف الارتباط المخصص لاسم مضيف داخلي، نطاق رئيسي خاطئ، مسار فرعي مختلف، أو سياق غير آمن الطلب العام المعاد توجيهه.
غالبًا ما يضيف الوصول من الخارج نطاق مصادقة آخر أو رد اتصال عبر المواقع. لذلك يمكن لقيود SameSite ومتطلبات Secure أن تؤثر على التدفق البعيد رغم أن تسجيل الدخول المحلي المباشر لا يغادر أصلًا واحدًا.
امسح ملفات تعريف الارتباط فقط للنطاقات السحابية الخاصة المتأثرة، أعد إنتاج الحلقة، وافحص السمات الجديدة. صحح إعدادات عنوان URL العام وملفات تعريف الارتباط للتطبيق أو البروكسي؛ لا تستخدم تخفيف ملفات تعريف الارتباط على مستوى المتصفح كحل دائم على الخادم.
التحقق من هوية رد الاتصال OAuth، OIDC، أو Forward-Auth
إذا كانت السحابة الخاصة تستخدم مزود هوية أو خدمة forward-auth، قارن عنوان رد الاتصال الذي يولده التطبيق، والمسجل لدى المزود، والذي يصل إليه المتصفح. قد تحتاج المخطط، اسم المضيف، المنفذ، المسار، والشرطة المائلة النهائية إلى التطابق تمامًا.
تصف حالة مجتمع NGINX حلقة تسجيل دخول عن بُعد حيث ينهي البروكسي TLS لكن الخادم الخلفي يرى HTTP، لذلك لا يمكن للتطبيق الحفاظ على الجلسة الخارجية الآمنة المتوقعة.
اختبر نقطة نهاية رد الاتصال مباشرة عبر النطاق العام وتأكد من وصولها إلى مسار البروكسي الصحيح والخادم الخلفي. إذا نجحت المصادقة لكن رد الاتصال يعيد بدء تسجيل الدخول، افحص الحالة، nonce، استمرارية ملفات تعريف الارتباط، تزامن الساعة، وعنوان إعادة التوجيه الدقيق.
التحقق من الجلسة البعيدة الكاملة دون تجاوز البروكسي
بعد تصحيح سبب واحد، ابدأ بنافذة خاصة نظيفة على شبكة خارجية. سجّل الدخول، حدّث لوحة التحكم، افتح ملفًا، انتظر بعد فترة الجلسة القصيرة، وأعد الاتصال لتأكيد بقاء الجلسة أثناء التنقل العادي.
يوفر دليل ZimaSpace لـ الوصول البعيد المسيطر عليه إلى NAS الحدود الأمنية المحيطة: يجب ألا يتطلب إصلاح الحلقة تعريض الخادم الخلفي مباشرة أو تعطيل المصادقة.
يتم حل المشكلة فقط عندما يصل المستخدمون المحليون والبعيدون إلى اسم المضيف المقصود، يحافظ البروكسي على هوية الطلب العامة، يظل ملف تعريف الارتباط صالحًا، وينجح تدفق تسجيل الدخول ورد الاتصال الكامل بشكل متكرر. أزل التجاوزات المؤقتة وسجلات المصادقة المفصلة بعد التحقق.
الدعم والنصائح
المزيد للقراءة

لماذا تؤدي استعادة وحدة تخزين Docker إلى إعادة إنشاء محتويات الملفات مع فقدان السمات الموسّعة؟
تشخيص لاستعادة وحدة تخزين يغطي جرد السمات الموسَّعة (xattr)، وخيارات tar وRsync، ومساحات الأسماء، ودعم الوجهة، والامتيازات، والتسميات، والبيانات الوصفية للتطبيق، والاختبارات.

لماذا يحتفظ الحاوي قيد التشغيل بحد الذاكرة القديم بعد تغيير ملف Compose؟
تشخيص لحدود الذاكرة يغطي مجموعات cgroups النشطة، وإعادة التشغيل مقابل إعادة الإنشاء، وحقول Compose، والحدود الصارمة والمرنة، والنطاقات الأصلية، وذاكرة التبديل، وأكوام الذاكرة في...

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

