Certificati Let's Encrypt in NGINX
Qualche settimana fa ho configurato HTTPS per questo blog.
Ho generato un cerficato con Let’s Encrypt e ho configurato NGINX per utilizzarlo. Si è dimostrato un compito semplice e tutto è filato liscio al primo colpo.
Le istruzioni che seguono sono state eseguite su un Ubuntu server 20.04
Installare il client di Let’s Encrypt
apt-get update
apt-get install certbot
apt-get install python3-certbot-nginx
Configurare NGINX
IMPORTANTE: Assicurarsi che sia presente la configurazione server_name
nella
configurazione di NGINX per il dominio (ed eventuali varianti) che vogliamo mettere in sicurezza
Esempio del blocco server nella configurazione di NGINX
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name mio-dominio.org www.mio-dominio.org;
}
Nel caso di modifiche ricordarsi di ricaricare la configurazione
nginx -t && nginx -s reload
Generazione del cerficato
certbot --nginx -d mio-dominio.org -d www.mio-dominio.org
Rispondere alle domande proposte dall’applicazione.
certbot
andrà a modificare la configurazione di NGINX legata al dominio
andando ad aggiungere alcune istruzioni.
Ecco un esempio del risultato
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name mio-dominio.org www.mio-dominio.org;
listen 443 ssl; # managed by Certbot
# RSA certificate
ssl_certificate /etc/letsencrypt/live/mio-dominio.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mio-dominio.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
# Redirect non-https traffic to https
if ($scheme != "https") {
return 301 https://$host$request_uri;
} # managed by Certbot
}
Rinnovo automatico del cerficato
I certificati generati da Let’s Encrypt hanno una durata di 90 giorni.
Per aggiornarli in modo automatico impostare uno script in cron
- Eseguire il comando
crontab -e
- Aggiungere la seguente riga
0 12 * * * /usr/bin/certbot renew --quiet.
Ogni giorno a mezzogiorno verrà verificata la validità del certificato e a 30 giorni dalla scadenza ne verrà generato uno nuovo.