هناك خادم داخلي يستضيف Discourse وهو مفتوح للاستماع على المنفذ 80. عندما يطلب زائر موقعًا، يفتح دائمًا عبر HTTPS (إعادة توجيه)، لكن جميع الروابط تظهر بـ HTTP. لا أتحكم في هذه البنية التحتية، وبالإضافة إلى المنفذ 80، لا أملك أي طريقة أخرى للخروج.
أحتاج إلى تنفيذ الخادم بحيث يستمع إلى المنفذ 80 ولكنه يعطي روابط عبر https. كيف يمكنني حل هذه المشكلة؟
إذا فهمت قصدك حرفيًا، فأنت تريد إعادة توجيه جميع حركة مرور HTTP على المنفذ 80 إلى المنفذ 443 HTTPS، ولا تريد إرسال حركة مرور HTTPS على المنفذ 80، بل فقط إعادة توجيه المنفذ 80 إلى المنفذ 443.
في هذه الحالة، هذا هو الإعداد المعتاد لمعظم خوادم الويب؛ وعلى سبيل المثال، إذا استخدمت LetsEncrypt لإعداد حركة المرور على المنفذ 443 باستخدام Apache2 أو nginx، فسيطلب منك LetsEncrypt ما إذا كنت تريد إعداد هذا الإعادة التوجيه، وسيفعل ذلك نيابةً عنك.
كما سأل @Falco، ما هو إعدادك الدقيق؟ هل تشغّل خادم ويب مثل nginx أو Apache2 أمام Discourse كوكيل عكسي؟
في هذه الحالة، عند إعداد LetsEncrypt على nginx أو Apache2، سيقوم برنامج إعداد LetsEncrypt بإعداد “إعادة توجيه جميع حركة مرور HTTP إلى HTTPS” لك (إذا اخترت “نعم” عند ظهور مربع حوار الإعداد).
ولكن دعني أكرر ذلك مرة أخرى، فقط من أجلك يا @anton21m لأننا نريد لك النجاح!
أنت بحاجة إلى الوصول إلى خادم الويب وتثبيته بحيث يتم إعادة توجيه حركة المرور على المنفذ 80 إلى المنفذ 443، وتحتاج إلى إعداد شهادات SSL على نفس خادم الويب. إذا لم يسمح لك موفر الاستضافة بذلك، فيجب عليك الانتقال إلى موفر استضافة آخر.
قد تفكر في استضافته مع أحد موفري الاستضافة الموصى بهم من قبل Discourse، لأنهم سيقومون بكل هذا لك بسهولة.