
Après avoir vu comment installer et configurer Nginx en tant que reverse proxy et durcir la sécurité avec Crowdsec, je vais vous expliquer dans ce tutoriel, comment générer un certificat SSL Let’s Encrypt gratuitement.
Pour rappel, Let’s Encrypt est une autorité de certification gratuite, qui permet l’obtention de certificat SSL pour une durée de 3 mois.
Pour Windows, je vous conseille l’utilisation de Certify The Web pour la génération de certificat Let »s Encrypt
Pour ce tutoriel, j’ai utilisé un serveur sous Ubuntu avec Nginx installé utilisé en reverse proxy.
Sommaire
Installer Certbot sur Ubuntu
Pour la génération des certificats avec Ubuntu (et linux généralement), on utilise certbot.
Certbot est un programme qui va se charger d’effectuer les vérifications de validation du domaine pour obtenir le certificat SSL et configurer le serveur Web, le virtualhost pour être plus précis, il est compatible avec de nombreux serveurs Web dont Apache, Nginx …
Certbot va aussi se charger du renouvellement automatique des certificats SSL.
Première étape, installation Certbot pour Nginx sur le serveur, pour cela entrer la commande ci-dessous :
sudo apt install python3-certbot-nginx -y
Certbot est installé, nous allons passer à la génération d’un certificat SSL pour un virtualhost sur Nginx.
Générer un certificat Let’s Encrypt pour Nginx avec Certbot
Pour illustrer ce tutoriel, je vais utiliser le virtualhost ci-dessous :

Il est important dans la configuration du virtualhost, d’indiquer le paramètre server_name.
Comme on peut le voir sur la configuration, le virtualhost est pour le moment configurer sur le port 80.
Pour lancer le programme certbot, utiliser la commande ci-dessous :
sudo certbotLors de la première exécution, vous devez :
- Indiquer une adresse email
- Accepter le contrat du service
- Indiquer si vous souhaitez partager l’adresse email.

À partir de là, voici comment cela se passe quand on souhaite générer un certificat :
La liste des sites s’affiche, entrer le numéro du site et valider.

Patienter pendant la demande de certificat …

Une fois, le certificat généré, l’assistant demande si on souhaite rediriger http vers https, dans l’exemple je choisis l’option 2.

Un message de confirmation s’affiche et on récupère la main sur la console.

Si on regarde de nouveau la configuration du virtualhost, on peut voir la configuration https en écoute sur le port 443 et que le trafic sur le port 80 est redirigé (301) vers le site en https.

Renouvelle automatique des certificats SSL
Par défaut Certbot renouvelle automatiquement le certificat avant son expiration et le remplace.
Ci-dessous, on peut voir la tâche planifiée (cron).

