Introduzione
Let's Encrypt è una certification authority (CA) che automatizza gratuitamente la creazione, la validazione, il rilascio ed il rinnovo di certificati X.509 per il protocollo TLS / SSL, abilitando l'HTTPS crittografato sui server Web.
In questo tutorial, si utilizzerà Certbot per ottenere un certificato SSL gratuito per Nginx su Debian e per impostare il certificato per il rinnovo automatico.
Certbot è un client automatico di facile utilizzo che recupera e distribuisce i certificati SSL / TLS per il server web.
Se il vostro intento è installare Let's Encrypt per Nginx su di un server in remoto continuate a leggere, altrimenti se volete installare Let's Encrypt per Nginx sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di Certbot.
Prerequisiti
Segui questa guida per installare Nginx: Come installare LEMP Nginx MySQL PHP su Debian 10.
Installare Certbot
Il primo passo per utilizzare Let's Encrypt per ottenere un certificato SSL è installare il software Certbot sul tuo server.
Aggiorniamo l'elenco dei pacchetti:
sudo apt update
Installiamo adesso il pacchetto Certbot per Nginx:
sudo apt-get install certbot python-certbot-nginx
Certbot è ora pronto per l'uso, ma per poter installare i certificati SSL per Nginx, dobbiamo verificare alcune delle configurazioni di Nginx.
Configurazione di Nginx
Certbot può configurare automaticamente i certificati SSL per Nginx, ma deve essere in grado di trovare il blocco server corretto nella configurazione. Lo fa cercando una direttiva server_name che corrisponda al dominio per cui stai richiedendo un certificato.
Se stai iniziando con una nuova installazione di Nginx, puoi aggiornare il file di configurazione predefinito.
sudo nano /etc/nginx/sites-available/default
Trova la riga server_name e sostituisci il carattere underscore: "_", con il tuo nome dominio:
. . .
server_name esempio.com www.esempio.com;
. . .
Salvare e chiudere il file.
Verificare la corretta configurazione del file:
sudo nginx -t
Riavviare Nginx:
sudo systemctl reload nginx
Certbot ora sarà in grado di trovare il blocco server corretto e aggiornarlo.
Ottenere un certificato SSL
Certbot utilizza il plugin di Nginx per ottenere certificati SSL.
sudo certbot --nginx
L'esecuzione di questo comando ti permetterà di ottenere un certificato SSL e Certbot modificherà automaticamente la configurazione di Nginx.
Altrimenti potresti ottenere il certificato e successivamente configurare manualmente Nginx con il seguente comando:
sudo certbot certonly --nginx
Rinnovo automatico
I pacchetti Certbot sono dotati di un cron job che rinnoverà automaticamente i tuoi certificati prima che scadano. Poiché i certificati Let's Encrypt durano per 90 giorni, è altamente consigliato sfruttare questa funzionalità. È possibile verificare il rinnovo automatico dei certificati eseguendo questo comando:
sudo certbot renew --dry-run
L'installazione di Let's Encrypt utilizzando Certbot su Debian 10 è terminata.