Blog

Tutorial, guide e novità di prodotto.

Sicurezza e backup

Certificati HTTPS gratuiti con Let's Encrypt

2 novembre 2026 5 min di lettura
Condividi questo articolo

Let's Encrypt è un'autorità di certificazione che emette certificati HTTPS gratuiti per il tuo dominio. Sul tuo VPS puoi ottenere un certificato con pochi comandi usando Certbot, oppure senza alcun comando usando Caddy, e entrambi lo rinnovano da soli. Ci sono due requisiti: il dominio deve puntare all'indirizzo IP del tuo server e le porte 80 e 443 devono essere aperte dall'esterno.

Perché ti serve HTTPS?

HTTPS cifra il traffico tra il browser e il server. Terzi sulla rete non possono leggere la password in un modulo di login né i dettagli di un ordine. I browser possono mostrare un avviso di "non sicuro" sui siti senza HTTPS. Un certificato Let's Encrypt è gratuito, quindi non c'è più un buon motivo per rinunciare a HTTPS.

Prima di cominciare

  • Il record A del dominio deve mostrare l'indirizzo IP del tuo server. Per verificare, esegui dig +short example.com. L'output deve essere l'indirizzo IP del tuo server.
  • Le porte 80 e 443 devono essere aperte, perché la convalida avviene sulla porta 80 (HTTP-01). Se usi ufw, esegui sudo ufw allow 80/tcp e sudo ufw allow 443/tcp. Se il tuo server ha un firewall separato nel pannello, controlla anche lì le regole.
  • Se il dominio ha un record AAAA (IPv6), deve puntare anche questo a questo server. Se non è così, elimina il record.
  • Il tuo web server deve essere in esecuzione e conoscere questo dominio.

Installare e verificare con Certbot su Nginx o Apache

Le istruzioni ufficiali di Certbot consigliano il pacchetto snap. Assicurati che snapd sia installato sul server (su Ubuntu di solito lo è) e rimuovi qualsiasi vecchio Certbot installato tramite apt.

  1. Installa Certbot: sudo snap install --classic certbot
  2. Rendi il comando disponibile ovunque: sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
  3. Ottieni il certificato e fallo installare nel web server. Esegui sudo certbot --nginx per Nginx o sudo certbot --apache per Apache.
  4. Rispondi alle domande: il tuo indirizzo email, per quali domini vuoi il certificato e se reindirizzare HTTP a HTTPS.
  5. Prova il rinnovo: sudo certbot renew --dry-run

Se vuoi solo ottenere il certificato e configurare il resto da te, esegui sudo certbot certonly --nginx. Il pacchetto Certbot aggiunge da solo un'attività pianificata (cron o un timer systemd), che vedi nell'output di systemctl list-timers. sudo certbot certificates elenca i tuoi certificati e le date di scadenza. Certbot rinnova un certificato quando la sua durata sta finendo e tu non fai nulla. Un giorno il rinnovo può comunque fallire (per esempio per una regola del firewall), quindi esegui ogni tanto --dry-run.

Per controllare il certificato, guarda prima l'icona del lucchetto nella barra degli indirizzi del browser. Per vedere la data di scadenza con un comando, esegui:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates

La riga notAfter nell'output è la data di scadenza del certificato. Se non usi il reindirizzamento che aggiunge Certbot, reindirizza da te HTTP a HTTPS. Su Nginx, aggiungi la riga return 301 https://$host$request_uri; al blocco server che ascolta sulla porta 80.

Con Caddy e senza comandi

Se usi Caddy non devi installare nient'altro. Per un dominio presente nella sua configurazione, Caddy ottiene il certificato da Let's Encrypt o ZeroSSL, lo rinnova e reindirizza HTTP a HTTPS. Secondo la sua documentazione ufficiale, i record A e AAAA del dominio devono puntare al server, le porte 80 e 443 devono essere raggiungibili dall'esterno e la cartella dei dati di Caddy deve essere persistente e scrivibile. Se esegui Caddy in Docker, monta quella cartella su un volume. Altrimenti i certificati spariscono quando il container viene eliminato e richiederli di nuovo può farti raggiungere un limite di frequenza.

Certificati wildcard

Un certificato wildcard (*.example.com) copre tutti i sottodomini con un solo certificato e si può ottenere solo con la convalida DNS-01. Questa convalida non usa la porta 80. Ti chiede di inserire un record TXT nel DNS del tuo dominio. Per questo il tuo provider DNS deve avere un'API e tu conservi la chiave API sul server. La documentazione di Let's Encrypt definisce rischioso conservare queste chiavi su un web server. Se non ti serve un wildcard, ottenere i certificati per i singoli domini con HTTP-01 è più semplice e non richiede di conservare una chiave DNS.

Errori comuni

SintomoCausa probabileSoluzione
La convalida fallisce, dominio non trovatoIl record A punta all'IP sbagliato o non si è ancora propagatoControlla l'IP con dig +short example.com e aspetta
TimeoutLa porta 80 è chiusaApri la 80 in ufw e nel firewall del pannello, se ce l'hai
La convalida a volte passa e a volte fallisceIl record AAAA punta a un altro serverCorreggi o elimina il record AAAA
Errore di limite di frequenzaTroppi tentativiUsa --dry-run per i test e controlla la pagina ufficiale per i limiti
Il rinnovo non parteNessuna attività pianificata, oppure il web server blocca la porta 80sudo certbot renew --dry-run mostra l'errore

Il messaggio di errore di solito dice quale convalida è fallita e quale indirizzo del tuo server Let's Encrypt ha provato a raggiungere. Leggi il messaggio così com'è. La risposta spesso è proprio lì.

Secondo la pagina ufficiale di Let's Encrypt, c'è un limite di 5 certificati a settimana per lo stesso insieme di nomi di dominio e di 5 convalide fallite all'ora per lo stesso nome di dominio. Quindi usa --dry-run mentre fai esperimenti. Prova il rinnovo nell'ambiente di staging e non consuma il tuo limite reale.

Sulle app già pronte di Seturack

Le app già pronte (WordPress, Nextcloud e altre) si aprono su HTTPS a un indirizzo sslip.io ricavato dal tuo indirizzo IP, quindi non serve alcun nome di dominio. Quando colleghi il tuo dominio, Caddy ottiene di nuovo il certificato e tu non installi nulla in più. I passaggi per comunicare il dominio a Caddy e all'app sono in questo articolo della guida.

Commenti0

Ancora nessun commento

Condividi per primo la tua opinione.

Partecipa alla discussione

Accedi o registrati per lasciare un commento.

Non perderti nessun articolo

Ricevi gli ultimi tutorial, le guide e le novità sui prodotti nella tua casella email.

La tua iscrizione alla newsletter è attiva.