
Passer son site en HTTPS avec Certbot : le guide pas à pas
Apprenez à sécuriser votre site web avec un certificat SSL gratuit Let's Encrypt. Installation de Certbot, configuration Nginx et renouvellement automatique.
Passer son site en HTTPS avec Certbot : le guide pas à pas
Vous avez un site web qui tourne, mais votre navigateur affiche "Non sécurisé" dans la barre d'adresse ? C'est parce que votre site utilise HTTP au lieu de HTTPS. La bonne nouvelle : on peut régler ça gratuitement en moins de 15 minutes grâce à Let's Encrypt et Certbot.
Qu'est-ce que HTTPS, concrètement ?
Imaginez que vous envoyez une carte postale. N'importe qui sur le trajet peut la lire : le facteur, un voisin curieux, tout le monde. C'est HTTP.
Maintenant, imaginez que vous mettez cette carte dans une enveloppe scellée. Seul le destinataire peut l'ouvrir. C'est HTTPS.
HTTPS chiffre les échanges entre le navigateur de vos visiteurs et votre serveur. Les mots de passe, les formulaires, les données personnelles — tout transite dans une enveloppe que personne ne peut ouvrir en route.
Et Let's Encrypt dans tout ça ?
Let's Encrypt est une autorité de certification gratuite et automatisée. Avant son existence, un certificat SSL coûtait entre 50 et 300 euros par an. Depuis 2015, c'est gratuit. Certbot est l'outil officiel pour installer et renouveler ces certificats automatiquement.
Pensez à Let's Encrypt comme un notaire numérique gratuit qui certifie que votre site est bien le vôtre.
Ce qu'il vous faut avant de commencer
- Un serveur (VPS) sous Ubuntu 22.04 ou Debian 12
- Un nom de domaine (ex : monsite.fr) dont le DNS pointe vers l'IP de votre serveur
- Nginx installé et fonctionnel (même avec la page par défaut)
- Un accès SSH à votre serveur avec les droits administrateur
Si votre domaine ne pointe pas encore vers votre serveur, il faut d'abord ajouter un enregistrement DNS de type A chez votre registrar (OVH, Gandi, Hostinger...) avec l'IP de votre VPS. La propagation peut prendre entre 5 minutes et 24 heures.
Étape 1 : Vérifier que Nginx tourne
Connectez-vous à votre serveur en SSH et vérifiez que Nginx est actif :
## Vérifier le statut de Nginx
sudo systemctl status nginxVous devriez voir "active (running)" en vert. Si ce n'est pas le cas :
## Démarrer Nginx s'il est arrêté
sudo systemctl start nginxTestez aussi en ouvrant votre navigateur et en tapant http://votre-domaine.fr — vous devriez voir une page (même la page par défaut de Nginx, ça suffit).
Étape 2 : Vérifier la configuration Nginx de votre domaine
Certbot a besoin de savoir quel domaine sécuriser. Il lit cette info dans la configuration Nginx. Vérifiez que vous avez un fichier de configuration pour votre site :
## Lister les configurations de sites actifs
ls /etc/nginx/sites-enabled/Si vous voyez seulement "default", il faut créer une configuration pour votre domaine :
## Créer un fichier de configuration pour votre domaine
sudo nano /etc/nginx/sites-available/monsite.frCollez ce contenu minimal (remplacez monsite.fr par votre vrai domaine) :
server {
listen 80;
server_name monsite.fr www.monsite.fr;
root /var/www/monsite.fr;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}Activez la configuration :
## Créer le lien symbolique pour activer le site
sudo ln -s /etc/nginx/sites-available/monsite.fr /etc/nginx/sites-enabled/
## Vérifier que la syntaxe est correcte
sudo nginx -t
## Recharger Nginx pour appliquer
sudo systemctl reload nginxÉtape 3 : Ouvrir les ports 80 et 443
Certbot a besoin que le port 80 soit ouvert pour vérifier que vous contrôlez le domaine. Le port 443, c'est celui de HTTPS.
Attention : si vous utilisez un pare-feu (UFW, iptables), il faut ouvrir ces ports avant de continuer.
## Si vous utilisez UFW (pare-feu Ubuntu)
sudo ufw allow 'Nginx Full'
## Vérifier que les ports sont bien ouverts
sudo ufw statusVous devriez voir "Nginx Full" dans la liste, ce qui couvre les ports 80 et 443.
Étape 4 : Installer Certbot
La méthode recommandée passe par Snap (le gestionnaire de paquets universel d'Ubuntu). Snap est préinstallé sur Ubuntu depuis la version 18.04.
## Mettre à jour Snap
sudo snap install core
sudo snap refresh core
## Supprimer une éventuelle ancienne version de Certbot installée via apt
sudo apt remove certbot -y 2>/dev/null
## Installer Certbot via Snap
sudo snap install —classic certbot
## Créer un lien pour pouvoir utiliser la commande certbot directement
sudo ln -sf /snap/bin/certbot /usr/bin/certbotVérifiez que l'installation a fonctionné :
## Afficher la version de Certbot
certbot —versionÉtape 5 : Obtenir et installer le certificat
C'est le moment crucial. Certbot va contacter Let's Encrypt, prouver que vous contrôlez le domaine, récupérer le certificat et configurer Nginx automatiquement.
## Lancer Certbot avec le plugin Nginx
sudo certbot —nginx -d monsite.fr -d www.monsite.frCertbot va vous poser quelques questions :
- Adresse email : entrez une vraie adresse. Let's Encrypt vous préviendra si un renouvellement échoue.
- Conditions d'utilisation : tapez Y pour accepter.
- Partage email avec l'EFF : au choix, N si vous préférez.
Si tout se passe bien, vous verrez un message de félicitations. Certbot a automatiquement modifié votre configuration Nginx pour ajouter le HTTPS et rediriger le HTTP vers HTTPS.
Étape 6 : Vérifier que ça marche
Ouvrez votre navigateur et allez sur https://votre-domaine.fr. Vous devriez voir le petit cadenas dans la barre d'adresse. C'est gagné.
Pour un test plus approfondi, utilisez le vérificateur SSL Labs :
https://www.ssllabs.com/ssltest/analyze.html?d=monsite.fr
Vous devriez obtenir une note A ou A+.
Étape 7 : Vérifier le renouvellement automatique
Les certificats Let's Encrypt sont valides 90 jours. Mais pas de panique : Certbot installe automatiquement un timer qui renouvelle le certificat avant expiration.
Vérifiez que le renouvellement automatique fonctionne :
## Simuler un renouvellement (sans rien modifier)
sudo certbot renew —dry-runSi le test passe sans erreur, votre certificat se renouvellera tout seul. Vous n'avez plus rien à faire.
Étape 8 : Comprendre ce que Certbot a modifié
Certbot a ajouté des lignes dans votre configuration Nginx. Regardons :
## Voir la configuration modifiée
sudo cat /etc/nginx/sites-enabled/monsite.frVous verrez que Certbot a ajouté :
- Les chemins vers le certificat et la clé privée
- La redirection automatique de HTTP vers HTTPS
- Des paramètres de sécurité SSL
Ne modifiez pas les lignes ajoutées par Certbot (marquées "managed by Certbot") sauf si vous savez ce que vous faites.
En cas de problème
"Le domaine ne pointe pas vers ce serveur" : vérifiez vos DNS. La commande dig monsite.fr doit retourner l'IP de votre serveur.
"Port 80 bloqué" : vérifiez votre pare-feu avec sudo ufw status et votre hébergeur (certains bloquent le port 80 par défaut dans leur interface).
"Trop de requêtes" : Let's Encrypt a une limite de 5 certificats par domaine par semaine. Si vous avez fait trop de tests, attendez une semaine ou utilisez l'option —staging pour les essais.
Le cadenas n'apparaît pas : votre page charge peut-être des ressources en HTTP (images, scripts). Ouvrez la console du navigateur (F12) et cherchez les avertissements "mixed content".
Pour résumer
En 8 étapes et 15 minutes, vous avez :
- Installé Certbot via Snap
- Obtenu un certificat SSL gratuit de Let's Encrypt
- Configuré Nginx pour utiliser HTTPS
- Mis en place le renouvellement automatique
Votre site est maintenant chiffré, et le sera tant que le serveur tourne. Le cadenas vert dans la barre d'adresse rassure vos visiteurs, et Google favorise les sites HTTPS dans ses résultats. Deux bonnes raisons de ne plus revenir en arrière.
À lire aussi
Nmap avancé : audit réseau et détection de vulnérabilités
Maîtrisez les techniques avancées de Nmap : scripts NSE, scan furtif, timing, détection d'OS, export automatisé et intégration dans vos workflows de sécurité.
Scanner son réseau avec Nmap : le guide pas à pas
Apprenez à utiliser Nmap pour détecter les appareils connectés, les ports ouverts et les failles de sécurité sur votre réseau. Guide complet pour débutants.
Audit de mots de passe avec KeePassXC : guide technique avancé
Audit complet de votre base KeePassXC : vérification HIBP en CLI, détection de doublons, automatisation avec keepassxc-cli et hardening de la base de données.