إعادة توجيه أي نطاق فرعي عشوائي إلى www

إعادة توجيه النطاقات الفرعية العشوائية إلى www

  1. احصل على مفتاح الوصول (AccessKey) من علي بابا كلاود (نستخدم علي بابا كلاود كمثال، قم بطلب المفتاح بنفسك).
معرف مفتاح الوصول: LTAI5tQCfDcVcghn5
سر مفتاح الوصول: J8ZayXB44MIWa1Mfnj
  1. تثبيت acme.sh
cd ~
curl https://get.acme.sh | sh
  1. قم بتغيير جهة إصدار الشهادات الافتراضية إلى 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'
  1. تثبيت الشهادات في مجلد 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.

  1. عدّل إعدادات Discourse وأعد بناء النظام.
DISCOURSE_HOSTNAME: 'www.discourse.cc'
DISCOURSE_HOSTNAME_ALIASES: 'discourse.cc'
DISCOURSE_DISABLE_LETSENCRYPT: 'true'
  1. قم بإعداد قواعد إعادة توجيه 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;
}
  1. أعد بناء الحاوية.
cd /var/discourse
sudo ./launcher rebuild app