
Dopo aver visto come installare e configurare Nginx come reverse proxy e rafforzare la sicurezza con Crowdsec, in questo tutorial vi spiegherò come generare gratuitamente un certificato SSL Let’s Encrypt.
Ricordiamo che Let’s Encrypt è un’autorità di certificazione gratuita che consente di ottenere certificati SSL con validità di 3 mesi.
Per Windows, vi consiglio di utilizzare Certify The Web per la generazione dei certificati Let’s Encrypt
Per questo tutorial ho utilizzato un server con Ubuntu su cui è installato Nginx, utilizzato come reverse proxy.
Sommario
Installare Certbot su Ubuntu
Per generare certificati su Ubuntu (e su Linux in generale), si utilizza Certbot.
Certbot è un programma che si occuperà di eseguire le verifiche di convalida del dominio per ottenere il certificato SSL e configurare il server web, o più precisamente il virtual host; è compatibile con numerosi server web, tra cui Apache, Nginx…
Certbot si occuperà anche del rinnovo automatico dei certificati SSL.
Primo passo: installare Certbot per Nginx sul server; a tal fine, digitare il comando riportato di seguito:
sudo apt install python3-certbot-nginx -y
Certbot è installato; passiamo ora alla generazione di un certificato SSL per un virtualhost su Nginx.
Generare un certificato Let’s Encrypt per Nginx con Certbot
Per illustrare questo tutorial, userò il virtualhost riportato di seguito:

Nella configurazione del virtual host è importante specificare il parametro server_name.
Come si può vedere dalla configurazione, il virtualhost è attualmente configurato sulla porta 80.
Per avviare il programma Certbot, utilizzare il comando riportato di seguito:
sudo certbotAl primo avvio, è necessario:
- Specificare un indirizzo e-mail
- Accettare i termini di servizio
- Specificare se si desidera condividere l’indirizzo e-mail.

A questo punto, ecco come procedere per generare un certificato:
Viene visualizzato l’elenco dei siti; inserire il numero del sito e confermare.

Attendere il completamento della richiesta del certificato…

Una volta generato il certificato, l’assistente chiede se si desidera reindirizzare http a https; nell’esempio scelgo l’opzione 2.

Viene visualizzato un messaggio di conferma e si riprende il controllo della console.

Se si controlla nuovamente la configurazione del virtual host, si può vedere che la configurazione HTTPS è in ascolto sulla porta 443 e che il traffico sulla porta 80 viene reindirizzato (301) verso il sito in HTTPS.

Rinnovo automatico dei certificati SSL
Per impostazione predefinita, Certbot rinnova automaticamente il certificato prima della sua scadenza e lo sostituisce.
Di seguito è possibile vedere l’attività pianificata (cron).

