مرحباً،
يجب أن يعمل موقعنا مع بروتوكولي HTTP و HTTPS، ونحتاج إلى تأمين ملف تعريف الارتباط (_forum_session). يفتقر ملف تعريف الارتباط إلى علامة الأمان Secure ويحتوي فقط على علامة HttpOnly. كيف يمكن إعداد ذلك مع وجود علامة الأمان Secure أيضاً؟
الاتجاه السائد في الويب لسنوات عديدة هو استخدام HTTPS فقط.
كان هذا يمثل مشكلة في السابق حتى بدأت منظمات مثل Let’s Encrypt (LE) في تقديم شهادات SSL مجانًا وتوفير آلية قوية لإدارة هذه الشهادات.
عند استخدام LE (certbot) لإعداد الشهادات على موقعك، سيتم إعداد كل من HTTP و HTTPS، وسيتم تحويل حركة مرور HTTP تلقائيًا بالكامل إلى HTTPS.
بالطبع، يمكنك العثور على طريقة لتشغيل Discourse باستخدام HTTP فقط، لكن هذا لن يكون مدعومًا إلا في بيئة تطوير Discourse؛ لأنه بدون HTTPS، سيتم نقل جميع معلومات تسجيل دخول المستخدمين، بما في ذلك كلمات المرور، بشكل غير مشفر عبر الشبكة. وهذا غير مدعوم في بيئة الإنتاج.
تخيل الأمر بهذه الطريقة: HTTPS يشبه استخدام أحزمة الأمان في السيارة. الأشخاص الذين يريدون القيادة دون أحزمة أمان يفعلون ذلك على مسؤوليتهم الخاصة؛ وبالتالي لن تقوم شركات تصنيع السيارات بإنتاج سيارات بدون أحزمة أمان.
ينطبق الشيء نفسه على Discourse. تم تصميم Discourse للعمل بأمان في بيئة الإنتاج؛ وبالتالي فإن الإصدار المدعوم من Discourse في الإنتاج هو HTTPS.
شكرًا لك @neounix. مشكلتنا هي أن شهادة HTTPS مُدارة بواسطة موازن الحمل، وأن المنفذ 80 فقط مفتوح بين Discourse وموازن الحمل. لقد حاولنا إعادة توجيه HTTP إلى HTTPS دون نجاح، هل يمكنك مشاركة ملف إعدادات الكوكيز في Discourse معي؟