Docs Administration Système SSL Let's Encrypt
Débutant Debian / Ubuntu

Déployer un certificat SSL Let's Encrypt (Nginx)

D
Par Dylan Pacques

Aujourd'hui, le HTTPS n'est plus une option, c'est un standard obligatoire pour la sécurité des utilisateurs et le référencement (SEO) de vos sites. Ce guide vous montre comment installer, configurer et automatiser le renouvellement d'un certificat SSL/TLS gratuit avec Let's Encrypt et Certbot sur un serveur web Nginx.

Prérequis

  • Un serveur Linux avec Nginx déjà installé.
  • Un nom de domaine (ex: votre-domaine.fr) dont l'enregistrement DNS (champ A) pointe bien vers l'adresse IP publique de votre serveur.
  • Le port 80 (HTTP) et le port 443 (HTTPS) doivent être ouverts dans votre pare-feu.

Étape 1 : Installer Certbot

Certbot est l'outil officiel recommandé par l'EFF (Electronic Frontier Foundation) pour interagir avec l'API de Let's Encrypt. Nous allons installer le cœur de Certbot ainsi que son plugin dédié à Nginx.

Terminal - Serveur Web
sudo apt update
sudo apt install certbot python3-certbot-nginx -y

Étape 2 : Préparer le Server Block Nginx

Pour que Certbot puisse authentifier automatiquement votre domaine, il doit pouvoir trouver le bon bloc de configuration dans Nginx. Vérifiez que la directive server_name correspond bien à votre domaine.

sudo nano /etc/nginx/sites-available/votre-domaine.fr

Assurez-vous d'avoir une ligne qui ressemble à ceci :

server_name votre-domaine.fr www.votre-domaine.fr;

Si vous avez effectué une modification, testez la syntaxe et rechargez Nginx :

sudo nginx -t
sudo systemctl reload nginx

Étape 3 : Générer le certificat SSL

Nous lançons maintenant la commande magique. Le plugin Nginx va automatiquement gérer le "challenge" HTTP-01 pour prouver que vous contrôlez bien le domaine, puis il modifiera lui-même votre fichier de configuration Nginx pour activer le HTTPS.

sudo certbot --nginx -d votre-domaine.fr -d www.votre-domaine.fr

Lors de la première exécution, Certbot vous demandera :

  1. De fournir une adresse e-mail valide (indispensable pour recevoir les alertes de renouvellement en cas d'erreur).
  2. D'accepter les conditions d'utilisation (tapez Y).
Redirection Automatique

Si l'installation réussit, Certbot rechargera Nginx de lui-même. Tout votre trafic HTTP (port 80) sera désormais automatiquement redirigé vers HTTPS (port 443).

Étape 4 : Vérifier le renouvellement automatique

Les certificats Let's Encrypt ne sont valides que pendant 90 jours. Heureusement, le paquet certbot installe nativement un script systemd qui s'exécute deux fois par jour pour renouveler automatiquement tout certificat expirant dans moins de 30 jours.

Pour vous assurer que le processus de renouvellement automatique fonctionnera sans erreur, vous pouvez lancer une simulation (dry-run) :

sudo certbot renew --dry-run

Si la commande affiche "Congratulations, all simulated renewals succeeded", vous n'avez plus rien à faire. Votre site est sécurisé de manière pérenne !