Chapitre 5 · 5.2
nginx avec un certificat Let's Encrypt
Vous connaissez déjà nginx, ou vous utilisez un logiciel fourni avec une configuration nginx ? Utilisez alors nginx avec certbot. certbot demande le certificat, adapte votre configuration et renouvelle le certificat automatiquement.
nginx et un site
anna@web1:~$ sudo apt install nginx
anna@web1:~$ sudo mkdir -p /srv/www/example.com
anna@web1:~$ sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /srv/www/example.com;
index index.html;
}
anna@web1:~$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
anna@web1:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
anna@web1:~$ sudo systemctl reload nginx
Testez toujours avec nginx -t avant de recharger. En cas d'erreur dans la configuration, nginx ne démarre plus.
Demander le certificat
anna@web1:~$ sudo apt install certbot python3-certbot-nginx
anna@web1:~$ sudo certbot --nginx -d example.com -d www.example.com
La première fois, certbot vous demande votre adresse e-mail et si vous acceptez les conditions. Il adapte ensuite votre bloc server pour le https et redirige le http vers le https.
Le renouvellement est automatique
Les certificats Let's Encrypt ont une courte durée de validité et sont renouvelés automatiquement. Vérifiez que cela fonctionne :
anna@web1:~$ sudo certbot renew --dry-run
anna@web1:~$ systemctl list-timers | grep certbot
Let's Encrypt n'envoie plus d'e-mails de rappel lorsqu'un certificat arrive bientôt à expiration. Confiez la surveillance de la validité à Uptime Kuma (voir Uptime Kuma : surveiller vos sites et votre serveur).
Attention : Let's Encrypt limite le nombre de certificats. Si vous souhaitez d'abord vous exercer, ajoutez --test-cert : vous obtenez alors un certificat de test auquel les navigateurs ne font pas confiance, mais qui n'est pas pris en compte dans ces limites.
