Zufällige Subdomains auf www umleiten
- Holen Sie sich einen Alibaba Cloud AccessKey (am Beispiel von Alibaba Cloud – beantragen Sie Ihren eigenen Key).
AccessKey ID: LTAI5tQCfDcVcghn5
AccessKey Secret: J8ZayXB44MIWa1Mfnj
- Installieren Sie acme.sh
cd ~
curl https://get.acme.sh | sh
- Wechseln Sie den Standard-CA zu Let’s Encrypt und beantragen Sie dann erneut ein Zertifikat:
# Standard-CA auf Let's Encrypt umstellen
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
# Wildcard-Zertifikat beantragen (discourse.cc durch Ihre Domain ersetzen)
~/.acme.sh/acme.sh --issue --dns dns_ali -d discourse.cc -d '*.discourse.cc'
- Installieren Sie das Zertifikat im SSL-Verzeichnis von Discourse.
Kopieren Sie das Zertifikat in das SSL-Verzeichnis von Discourse.
Führen Sie dies als root aus (discourse.cc durch Ihre Domain ersetzen):
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.*
Überprüfen Sie, ob die Dateien vorhanden sind:
ls -l /var/discourse/shared/standalone/ssl/
Sie sollten airsc.cc.cer und airsc.cc.key sehen.
- Ändern Sie die Discourse-Konfiguration und führen Sie einen Neuaufbau durch.
DISCOURSE_HOSTNAME: 'www.discourse.cc'
DISCOURSE_HOSTNAME_ALIASES: 'discourse.cc'
DISCOURSE_DISABLE_LETSENCRYPT: 'true'
- Konfigurieren Sie die Nginx-Umleitungsregeln (falls noch nicht geschehen).
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;
}
- Führen Sie einen Neuaufbau des Containers durch.
cd /var/discourse
sudo ./launcher rebuild app