يستمر هذا في الحدوث بشكل عشوائي لأي وجميع المستخدمين. لم يحدث لي ولكني سجلت الخروج عندما حدث لشخص آخر مرة. ليس لدي أي فكرة من أين أبدأ البحث.
لدي موضوع قيد التقدم في منتدى خاص بي جعلته عامًا لتقديم المزيد من المعلومات. هذه المرة أصبح مستخدمان مسجلين الدخول كمستخدم واحد، أحدهما مسؤول والآخر ليس كذلك. المستخدم الذي أصبحا عليه ليس نشطًا حتى.
@Falco هذه مشكلة مستمرة منذ عدة سنوات. على حد علمي، هذه مشكلة تتعلق بجلسة المستخدم من جانب العميل ومعرف المستخدم على وجه التحديد. يتم التحايل على هذه المشكلة فقط، وليس إصلاحها، إذا تم استخدام المصادقة الخارجية بدلاً من تسجيل الدخول المحلي، أي المصادقة المحلية.
هل يمكنك تأكيد أن هذا ناتج عن المصادقة المحلية دون المستوى المطلوب لديك؟
مع كل الاحترام الواجب، هناك الآلاف من تثبيتات Discourse المنتشرة في جميع أنحاء الإنترنت. في استضافتنا وحدها، ندير الآلاف، وهناك العديد من الاستضافات الذاتية أيضًا، ومثيلتك هي الوحيدة التي تبلغ عن هذه المشكلة. هذا يعني أن مشكلتك على الأرجح ناتجة عن نفسك.
نظرًا لأنك تقوم بتشغيل وكيل عكسي مخصص أمام Discourse، سأبدأ بإزالة هذا والانتقال إلى إعداد التثبيت القياسي المبارك لدينا قبل الإبلاغ عن الخطأ هنا.
أنا لست متأكدًا من ما يجعل إعداداتي مخصصة مقابل المدمجة في discourse حيث أن كلاهما nginx. لكن من غير الممكن بالنسبة لي إزالته لأن discourse ليس الشيء الوحيد الذي أستضيفه. أنا متأكد أنه مشكلتي، ولكن إذا كان من الممكن أن يحدث لي فهو أيضًا ممكن أن يحدث لأي شخص آخر. ليس لدي أي مشاكل أخرى مع أي من البرامج التي أستضيفها. لست أطلب منك أن تمسكني هنا ولكن لا أستطيع أن أجد شيئًا خاطئًا بخلاف ذلك.
إذا لم يكن هناك أي رؤية أخرى قد تتمكن من تقديمها حول أين تنظر، ربما تعرف شخصًا يمكنه ذلك. لقد حاولت فحص السجلات على الحاويتين بالإضافة إلى مضيفيهما المعنيين. لست متأكدًا من أين أبحث أكثر عما ذهب خطأً.
أفهم نقص الدعم. نحن لسنا عملاء يدفعون، وبعضنا ليس لطيفًا جدًا أيضًا. لا ألومك على إلقاء اللوم علي، فأنا أوافق، إنه شيء أفعله بشكل مختلف يسبب هذا الصداع. إذا كنت تعتقد حقًا أن البروكسي العكسي هو السبب في هذه المشكلة، أليس ذلك مشكلة أمنية كبيرة؟
لا أعرف الكثير عن العمل الداخلي لـ discourse، ولكن بالنسبة لي، يبدو أن هذا الشيء يجب أن يثير اهتمام المطورين.
إذا كان وكيل الاستضافة العكسي الخاص بي قادرًا على تشويه بعض الرموز أو أي شيء آخر بالطريقة الصحيحة بحيث يعتقد Discourse أن المستخدم قد أصبح شخصًا آخر… فهل يهم حقًا ما إذا كانت المشكلة تكمن في وكيل الاستضافة العكسي؟ ألن يشير هذا إلى شيء يمكن استغلاله في مكان آخر؟
مرة أخرى، لا أعرف ما لا أعرفه عن كيفية عمل المصادقة.
لقد ابتعدنا عن الاستضافة الخارجية بسبب زيادة التكاليف، ولكن قد تكون هناك طريقة أخرى يمكننا من خلالها معالجة ذلك. سأقوم بالتحقيق في وكيل الاستضافة العكسي. حاليًا، أستخدم هذه الحاوية لسهولة الإدارة، ومع ذلك يمكنني تجربة شيء مختلف.
أعلم أنك تقول إن هذا يحدث لي فقط، وليس لدي دليل على عكس ذلك، ولكن هل هذا يعني حقًا أنه غير ممكن لأي شخص آخر؟
سأقوم ببعض البحث في تكوين nginx الذي يأتي به Discourse لمعرفة ما إذا كان بإمكاني فهم أين أخطأت. أقدر رؤيتك.
لا أدعي أنني سأفهم أي شيء هنا والآن، ولكن عندما بدأت في استخدام Discourse، كان لدي Varnish أمام Discourse، وواجهت الكثير من الأشياء الغريبة، مثل المحتوى الخاطئ.
يقوم Discourse بالتخزين المؤقت الخاص به وأي نوع من التخزين المؤقت بواسطة وكيل عكسي هو فكرة سيئة للغاية. ولكن بالتأكيد، فإن مهاراتي المحدودة للغاية تختلف كثيرًا عن ما يمكن أن يفعله Big Guys™.
لقد أراد مني إزالة الوكيل العكسي بالكامل. هذا مجرد إزالة بعض الأشياء من تكوين الوكيل. لم أكن أعرف أن ديسكورس كان يقوم بالتخزين المؤقت داخليًا والذي سيتعارض مع التخزين المؤقت الخارجي ، لذا هذا اقتراح مفيد.
سأكون قلقًا جدًا بشأن تكوين التخزين المؤقت هذا. لا أفهم تمامًا وثائق nginx الخاصة بـ proxy_ignore_headers، ولكن بشكل افتراضي، لن يقوم nginx بتخزين الاستجابات التي تتضمن رأس Set-Cookie. يبدو أن هذا التكوين يغير هذا السلوك بحيث قد يتم تخزين الاستجابات التي تتضمن رأس Set-Cookie مؤقتًا. إذا تم تخزينها مؤقتًا مع رأس Set-Cookie ثم تم تقديمها لمستخدم مختلف، فقد يتسبب ذلك في قيام شخص ما بتبديل حسابات المستخدمين.
من الناحية النظرية، يجب أن ينطبق هذا التكوين فقط على الملفات الوسائط، ولكن مطابقة الجزء الأخير من عنوان URL (بما في ذلك معلمات الاستعلام؟) يبدو طريقة غير آمنة إلى حد ما للقيام بذلك.
لقد توقفت عن استخدامه. بما أن الآخرين أشاروا إلى أن الأمر يبدو فكرة سيئة بشكل عام. أشكر الشرح. لم أرى شيئًا خطأ على الفور فيما كان يفعله لكنني بالتأكيد لست خبيرًا في الموضوع.