Nel corso della guida a Let's Encrypt abbiamo visto in dettaglio come ottenere un certificato HTTPS gratuito, valido per un dominio come example.com e/o www.example.com. Se però impieghiamo numerosi domini di terzo livello (esempio: test.example.com, shop.example.com, abbonamenti.example.com ecc.) e non vogliamo impazzire gestendo un certificato diverso per ognuno, possiamo generare un unico certificato HTTPS valido per tutti (*.example.com): un "certificato wildcard". Vediamo allora come procedere e ottenere un certificato wildcard gratis con Let's Encrypt

Procedura aggiornata e semplificata. È ora possibile attivare il rinnovo automatico. La vecchia procedura, che non richiede il plugin acme-dns-client, è disponibile qui

Guida: come ottenere certificato HTTPS "wildcard" (*.sito.com) gratis Let's Encrypt - rinnovo automatico! - https certificate

Certificato wildcard gratis con Let's Encrypt, Passo 1: certbot e acme-dns-client

Per prima cosa, installiamo il client certbot e il suo plugin acme-dns-client. Se stai lavorando su Ubuntu, puoi ottenerli entrambi tramite questo comando:

sudo apt update && sudo apt install curl -y && curl -sL https://turbolab.it/scarica/481 | sudo bash

Guida: come ottenere certificato HTTPS "wildcard" (*.sito.com) gratis Let's Encrypt - rinnovo automatico!

Se invece utilizzi una distribuzione diversa da Ubuntu, oppure un altro sistema operativo, fai riferimento alle guide dedicate:

Certificato wildcard gratis con Let's Encrypt, Passo 2: Creare l'account per il dominio

Ipotizzando di voler creare un certificato HTTPS wildcard per valido per *.example.com, useremo questo comando:

sudo acme-dns-client register -d '*.example.com' -s https://auth.acme-dns.io --dangerous

Naturalmente, devi sostituire a example.com lo specifico dominio per il quale vuoi generare i certificati. Tutto il resto va riportato esattamente così come indicato

Guida: come ottenere certificato HTTPS "wildcard" (*.sito.com) gratis Let's Encrypt - rinnovo automatico!

Nota in particolare che:

  1. il dominio è racchiuso fra singoli apici (')
  2. abbiamo esplicitato *. prima del dominio per il quale vogliamo ottenere il certificato wildcard

Non sono sicuro di quanto importanti siano queste due accortezze. Ma, con questa esatta grafia, il sistema ha funzionato perfettamente in tutte le mie prove, quindi raccomando di fare lo stesso.

Certificato wildcard gratis con Let's Encrypt, Passo 3: Aggiungere il record DNS

È ora necessario aggiungere il record DNS mostrato a schermo. Per la procedura passo passo, segui:

» Leggi: Guida a Let's Encrypt tramite validazione DNS

Guida: come ottenere certificato HTTPS "wildcard" (*.sito.com) gratis Let's Encrypt - rinnovo automatico! - lets encrypt validazione dns

Non appena visualizzi il messaggio [*] CNAME record is now correctly set up!, puoi proseguire.

Certificato wildcard gratis con Let's Encrypt, Passo 4: Generare il certificato

Ora che tutto è pronto possiamo finalmente ottenere il certificato wildcard. Il comando è:

sudo certbot certonly --no-eff-email --agree-tos --manual --preferred-challenges dns --manual-auth-hook 'acme-dns-client' -d '*.example.com'

Valgono le stesse considerazioni esposte in precedenza: usa il tuo nome a dominio al posto di example.com e rispetta meticolosamente il resto della sintassi

Guida: come ottenere certificato HTTPS "wildcard" (*.sito.com) gratis Let's Encrypt - rinnovo automatico!

Se l'operazione va a buon fine, il certificato e la relativa chiave privata verranno creati nel percorso simile a /etc/letsencrypt/live/example.com/.

Certificato wildcard gratis con Let's Encrypt, Passo 5: Utilizzare il certificato

Puoi ora configurare l'uso del tuo nuovo certificato wildcard in tutti i sotto-domini, sia quelli che già hai, sia quelli che attiverai in futuro.

Se usi NGINX, le direttive da utilizzare nei blocchi server {} sono simili a queste:

  • ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  • ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  • ssl_trusted_certificate /etc/letsencrypt/live/example.com/cert.pem;

Se usi Apache HTTP Server, le direttive per i VirtualHost sono simili a queste:

  • SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  • SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
  • SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Nota che i file da utilizzare risiedono nel cartella /etc/letsencrypt/live/<tuo dominio>/ e sono validi per TUTTI i sotto-domini (test.example.com, shop.example.com, abbonamenti.example.com eccetera), proprio perché si tratta di un certificato wildcard

Guida: come ottenere certificato HTTPS &quot;wildcard&quot; (*.sito.com) gratis Let's Encrypt - rinnovo automatico! - raspberry and desktop pc

Per la procedura passo passo alla configurazione dei certificati nei programmi, fai riferimento alla guida generale a Let's Encrypt:

» Leggi: Come ottenere un certificato HTTPS (SSL/TLS) gratis: la Grande Guida a Let's Encrypt

Certificato wildcard gratis con Let's Encrypt, Passo 6: Verifica via browser web

Non appena terminata la configurazione, ispeziona il certificato tramite browser web: noterai immediatamente che si tratta di un wildcard

Guida: come ottenere certificato HTTPS &quot;wildcard&quot; (*.sito.com) gratis Let's Encrypt - rinnovo automatico!

Gestire la scadenza e il rinnovo automaticamente

Come sempre, i certificati ottenuti da Let's Encrypt sono validi solamente per 90 giorni, trascorsi i quali è necessario rinnovarli e ricaricare i servizi che li usano. Per maggiori informazioni:

» Leggi: Let's Encrypt con Nginx o Apache: come rinnovare automaticamente il certificato HTTPS e ricaricare il server web dopo il rinnovo

Guida: come ottenere certificato HTTPS &quot;wildcard&quot; (*.sito.com) gratis Let's Encrypt - rinnovo automatico! - let's encrypt rinnovo restart nginx spotlight

Conclusioni

I certificati HTTPS wildcard sono sicuramente molto utili, in particolare per chi debba gestire molteplici sotto-domini e, magari, ne crei o elimini di frequente. Penso in particolare a chi gestisca un homelab, magari con Proxmox, e installi di frequente molte applicazioni. Un altro ambito d'impiego è quello degli sviluppatori web che creino di frequente ambienti "dev" per i propri clienti: tramite un certificato wildcard, da utilizzare in combinazione ad un proprio dominio, l'onboarding di nuovi committenti dovrebbe risultare un po' più rapido.