شكرًا لك على ردك. لقد كنت بالتأكيد غير واضح في رسالتي. في الواقع، أستطيع تغيير إعداد force_https باستخدام أمر Rails دون أي مشكلة. لذا، ولأكون أكثر وضوحًا:
إلى أن قمت بآخر ترقية قبل بضعة أيام، والتي تطلبت إعادة بناء حاوية Docker، كان لدي حل كامل يعمل مع إعداد force_https مضبوط على true، وكان علي تطبيق التصحيح التالي في قسم server في ملف إعدادات nginx للحصول على تسجيل دخول صالح:
if ($http_x_forwarded_proto = 'http'){
return 301 https://$host$request_uri;
}
وقد عمل هذا بشكل جيد. ومع ذلك، منذ الترقية، لم يسمح لي نفس التصحيح بتسجيل الدخول مرة أخرى، وحصلت على الخطأ المعروف “خطأ غير معروف”.
حصلت على المسار التالي من سجل الإنتاج:
Started POST "/session" for 193.134.222.4 at 2020-05-14 19:24:40 +0000
Processing by SessionController#create as */*
Parameters: {"login"=>"rossierd", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"Europe/Zurich"}
Can't verify CSRF token authenticity.
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Filter chain halted as :verify_authenticity_token rendered or redirected
Completed 403 Forbidden in 2ms (Views: 0.7ms | ActiveRecord: 0.0ms | Allocations: 1101)
بما أن حاوية Discourse الخاصة بنا تعمل على آلة افتراضية (VM) ويمكن الوصول إليها عبر https.
هل لديك أي فكرة عن سبب هذا التغير في السلوك قبل وبعد الترقية؟
حتى الآن، قمت بتعطيل force_https وضبطه على false، وجميع الأشياء تعمل بشكل جيد باستثناء الشعار الموجود في الزاوية العلوية اليسرى (شعار العلامة التجارية) الذي لا يظهر بشكل صحيح لأنه يُشار إليه باستخدام طلب http://…
بالمناسبة، إليك عنوان موقعنا: https://discourse.heig-vd.ch