Reindirizza qualsiasi sottodominio casuale a www

Reindirizzamento dei sottodomini casuali a www

  1. Ottieni l’AccessKey di Alibaba Cloud (usiamo Alibaba Cloud come esempio; richiedi la tua chiave).
AccessKey ID: LTAI5tQCfDcVcghn5
AccessKey Secret: J8ZayXB44MIWa1Mfnj
  1. Installa acme.sh
cd ~
curl https://get.acme.sh | sh
  1. Passa al CA predefinito Let’s Encrypt e richiedi nuovamente il certificato:
# Imposta il CA predefinito su Let's Encrypt
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
# Richiedi un certificato wildcard (sostituisci discourse.cc con il tuo dominio)
~/.acme.sh/acme.sh --issue --dns dns_ali -d discourse.cc -d '*.discourse.cc'
  1. Installa il certificato nella directory SSL di Discourse.
    Copia il certificato nella directory SSL di Discourse

Esegui come root (sostituisci discourse.cc con il tuo dominio):

cp /home/admin/.acme.sh/discourse.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.*

Verifica l’esistenza dei file:

ls -l /var/discourse/shared/standalone/ssl/

Dovresti vedere discourse.cc.cer e discourse.cc.key.

  1. Modifica la configurazione di Discourse e ricostruisci.
DISCOURSE_HOSTNAME: 'www.discourse.cc'
DISCOURSE_HOSTNAME_ALIASES: 'discourse.cc'
DISCOURSE_DISABLE_LETSENCRYPT: 'true'
  1. Configura le regole di reindirizzamento di Nginx (se non sono già state configurate).
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. Ricostruisci il container.
cd /var/discourse
sudo ./launcher rebuild app