مرحباً يا رفاق،
لدي خادم Discourse مستضاف ذاتيًا أقوم باستضافته على ec2 ولدي إعداد عبر مقبس يقوم بالوكالة عبر nginx لتعيين اسم النطاق.
المشكلة التي أواجهها هي أنني لا أستطيع جعل الخادم ينتقل من http إلى https في رسائل البريد الإلكتروني.
على وجه التحديد لبريد التنشيط الإلكتروني:
تم إنشاء حساب جديد لك في %{site_name}
انقر فوق الرابط التالي لاختيار كلمة مرور لحسابك الجديد:
%{base_url}/u/password-reset/%{email_token}
يعطي base_url دائمًا إصدار http للموقع، وليس إصدار https، مما يتسبب في حدوث خطأ عند محاولة شخص ما استخدام بريد التنشيط الإلكتروني.
اعتقدت أن الإعداد الخاص بـ base_url سيكون في جدول site_settings، لذلك بحثت ووجدت صفًا يبدو كالتالي:
id name data_type value created_at updated_at
18 vapid_base_url 1 http://***.***.com 2022-05-28 05:33:29.471814 2022-06-18 08:31:48.220973
لكن تغيير value إلى https://... لا يحل مشكلة البريد الإلكتروني.
لا أعرف من أين تأتي قيمة base_url.
اعتقدت أيضًا أنه ربما يكون خاصية DISCOURSE_HOSTNAME في ملف containers/app.yml، لكنني لا أعتقد أن هذا هو الحال. حاولت تغييرها من نطاق بدون البروتوكول، إلى نطاق به، ولكن بعد تشغيل ./launcher rebuild app، يتعطل خادم Discourse بأكمله.
لذا، سؤالي هو، كيف أجعل الموقع يستخدم عنوان URL https في رسائل البريد الإلكتروني وليس http؟