La procedura è davvero easy, vi basterà installare certbot
con:
sudo apt install certbot
Una volta installato eseguite:
sudo certbot certonly
Dovrebbe in automatico generarvi un certificato (seguite i passaggi e inserite mail e dominio). E una volta terminato i due file dovrebbero trovarsi qui:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Ora modificate il file di configurazione di nginx:
sudo nano /etc/nginx/sites-available/default
E dovrete fare in modo che la porta 80 faccia un redirect alla 443 e aggiungere un server alla 443:
server { listen 80 default_server; listen [::]:80 default_server; server_name example.com www.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl default_server; listen [::]:443 ssl default_server; include snippets/ssl-example.com.conf; include snippets/ssl-params.conf; }
Ovviamente dovrete anche controllare che il vostro firewall permetta TCP alla porta 443, nel caso usiate iptables (qui per vedere l’elenco):
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
Controllate che sia tutto ok su nginx con:
sudo nginx -t
Se passate il test, eseguite:
sudo service nginx restart
Per rinnovare il certificato vi basterà eseguire:
sudo cerbot renew
Mentre se volete che sia automatizzato con crontab
:
sudo crontab -e
Ed incollate:
30 2 * * * /usr/bin/certbot renew --noninteractive --renew-hook "/bin/systemctl reload nginx" >> /var/log/le-renew.log