إعادة توجيه النطاقات الفرعية العشوائية إلى www
- احصل على مفتاح الوصول (AccessKey) من علي بابا كلاود (نستخدم علي بابا كلاود كمثال، قم بطلب المفتاح بنفسك).
معرف مفتاح الوصول: LTAI5tQCfDcVcghn5
سر مفتاح الوصول: J8ZayXB44MIWa1Mfnj
- تثبيت acme.sh
cd ~
curl https://get.acme.sh | sh
- قم بتغيير جهة إصدار الشهادات الافتراضية إلى Let’s Encrypt، ثم اطلب شهادة جديدة:
# تغيير جهة إصدار الشهادات الافتراضية إلى Let's Encrypt
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
# طلب شهادة نطاق واسع (استبدل discourse.cc بنطاقك)
~/.acme.sh/acme.sh --issue --dns dns_ali -d discourse.cc -d '*.discourse.cc'
- تثبيت الشهادات في مجلد SSL الخاص بـ Discourse.
انسخ الشهادات إلى مجلد SSL الخاص بـ Discourse
نفذ الأمر بصلاحيات root (استبدل discourse.cc بنطاقك):
cp /home/admin/.acme.sh/airsc.cc_ecc/discourse.cc.key /var/discourse/shared/standalone/ssl/discourse.cc.key
cp /home/admin/.acme.sh/discourse.cc_ecc/fullchain.cer /var/discourse/shared/standalone/ssl/discourse.cc.cer
chmod 644 /var/discourse/shared/standalone/ssl/discourse.cc.*
تحقق من وجود الملفات:
ls -l /var/discourse/shared/standalone/ssl/
يجب أن ترى airsc.cc.cer و airsc.cc.key.
- عدّل إعدادات Discourse وأعد بناء النظام.
DISCOURSE_HOSTNAME: 'www.discourse.cc'
DISCOURSE_HOSTNAME_ALIASES: 'discourse.cc'
DISCOURSE_DISABLE_LETSENCRYPT: 'true'
- قم بإعداد قواعد إعادة توجيه Nginx (إذا لم تكن مُعدّة بعد).
server {
listen 80;
server_name ~^(?!www\.)(.+)\.discourse\.cc$;
return 301 https://www.discourse.cc$request_uri;
}
server {
listen 443 ssl;
server_name ~^(?!www\.)(.+)\.discourse\.cc$;
ssl_certificate ...;
ssl_certificate_key ...;
return 301 https://www.discourse.cc$request_uri;
}
- أعد بناء الحاوية.
cd /var/discourse
sudo ./launcher rebuild app