Installer un certificat SSL Let's Encrypt : HTTPS gratuit, étape par étape
Installer Let's Encrypt est la manière la plus rapide et la moins chère de sécuriser votre site web avec HTTPS. Let's Encrypt est une autorité de certification gratuite et automatisée qui permet d'obtenir des certificats SSL/TLS sans frais. Dans ce guide pas à pas, vous apprendrez à installer un certificat Let's Encrypt sur différentes plateformes et à faire en sorte que votre certificat soit renouvelé automatiquement.
Qu'est-ce que Let's Encrypt et pourquoi installer un certificat Let's Encrypt ?
Let's Encrypt est une autorité de certification à but non lucratif qui délivre des certificats SSL/TLS gratuits. Le projet a été lancé dans le but de faire passer l'ensemble du web à HTTPS. Depuis son lancement, plus de 3 milliards de certificats ont été émis. En installant un certificat Let's Encrypt, vous obtenez un certificat SSL à part entière, reconnu par tous les navigateurs, entièrement gratuit.
Les avantages de Let's Encrypt
- 100 % gratuit : aucun frais pour le certificat ni pour son renouvellement
- Automatisé : installation et renouvellement via Certbot ou d'autres outils
- De confiance : reconnu par tous les grands navigateurs et systèmes d'exploitation
- Sûr : utilise les mêmes standards de chiffrement que les certificats payants
- Rapide : certificat disponible en quelques minutes, sans délai d'attente
- Prise en charge du wildcard : un seul certificat pour tous les sous-domaines
Let's Encrypt face aux certificats SSL payants
| Caractéristique | Let's Encrypt | Payant (DV) | Payant (OV/EV) |
|---|---|---|---|
| Prix | Gratuit | de 10 € à 100 €/an | de 100 € à 500 €/an |
| Type de validation | Validation de domaine | Validation de domaine | Validation de l'organisation ou étendue |
| Durée de validité | 90 jours (renouvellement automatique) | 1 an | 1 à 2 ans |
| Chiffrement | Identique | Identique | Identique |
| Confiance des navigateurs | Totale | Totale | Totale + nom de l'entreprise |
| Garantie | Aucune | de 10 000 $ à 250 000 $ | de 250 000 $ à 1 750 000 $ |
| Wildcard | Oui | Parfois (coût supplémentaire) | Oui |
Pour la plupart des sites web, Let's Encrypt est largement suffisant. Un certificat payant n'est nécessaire que si vous avez besoin d'un certificat Extended Validation (avec le nom de l'entreprise affiché dans le navigateur) ou d'une garantie financière. Si vous souhaitez comparer les options, consultez notre article sur le coût d'un certificat SSL.
Installer Let's Encrypt avec Certbot
Certbot est le client officiel de Let's Encrypt et la méthode la plus utilisée pour installer Let's Encrypt. Certbot automatise tout le processus : de la demande du certificat à la configuration de votre serveur web.
Préparation
Avant de commencer l'installation de Let's Encrypt, vérifiez les points suivants :
- Vous avez un accès SSH à votre serveur (lisez notre guide sur les connexions au serveur)
- Votre domaine pointe vers l'adresse IP de votre serveur (DNS correctement configuré)
- Les ports 80 et 443 sont ouverts dans votre pare-feu
- Votre serveur web (Apache ou Nginx) est installé et configuré
Installer Let's Encrypt sur Ubuntu avec Nginx
La configuration la plus courante est Nginx sur Ubuntu. Voici le processus complet pour installer Let's Encrypt :
Étape 1 : installer Certbot
Sur Ubuntu, vous installez Certbot et le plugin Nginx via le gestionnaire de paquets. Il est recommandé d'installer Certbot via snap, ce qui garantit la version la plus récente. Le paquet snap s'appelle certbot et le plugin Nginx correspondant est installé automatiquement.
Étape 2 : demander le certificat
Exécutez la commande certbot avec l'option --nginx. Certbot détecte automatiquement vos domaines configurés et vous demande lesquels vous souhaitez sécuriser. La commande : sudo certbot --nginx
Certbot vous demandera :
- Votre adresse e-mail (pour les notifications urgentes et les rappels de renouvellement)
- Votre accord avec les conditions d'utilisation du service
- Si vous souhaitez soutenir l'Electronic Frontier Foundation
- Quels domaines vous souhaitez sécuriser
Étape 3 : configuration automatique
Certbot configure automatiquement votre serveur Nginx pour HTTPS. Il ajoute les bonnes directives SSL à votre bloc server, y compris le chemin du certificat et de la clé privée. En option, il configure aussi une redirection de HTTP vers HTTPS.
Étape 4 : tester le renouvellement automatique
Les certificats Let's Encrypt sont valables 90 jours. Certbot installe automatiquement un timer ou une tâche cron qui renouvelle le certificat avant son expiration. Testez le renouvellement automatique avec : sudo certbot renew --dry-run
Installer Let's Encrypt sur Ubuntu avec Apache
Si vous utilisez Apache comme serveur web, le processus est similaire, mais avec un autre plugin Certbot :
Pas à pas
- Installez Certbot avec le plugin Apache via snap
- Exécutez la commande :
sudo certbot --apache - Sélectionnez les domaines que vous souhaitez sécuriser
- Choisissez si vous souhaitez rediriger HTTP vers HTTPS
- Certbot configure Apache automatiquement
- Testez le renouvellement automatique
Installer Let's Encrypt via DirectAdmin
Si vous utilisez DirectAdmin comme panneau de contrôle d'hébergement, installer Let's Encrypt est encore plus simple via l'interface graphique :
- Connectez-vous à DirectAdmin en tant qu'utilisateur
- Allez dans SSL Certificates sous Account Manager
- Sélectionnez Free & automatic certificate from Let's Encrypt
- Cochez les domaines et sous-domaines que vous souhaitez sécuriser
- Cliquez sur Save
- DirectAdmin installe et configure automatiquement le certificat
- Le renouvellement automatique est lui aussi configuré automatiquement
Installer Let's Encrypt pour des domaines wildcard
Un certificat wildcard sécurise votre domaine principal et tous ses sous-domaines (*.example.com). C'est pratique si vous utilisez beaucoup de sous-domaines.
Méthode du challenge DNS
Les certificats wildcard exigent une validation DNS plutôt qu'une validation HTTP. Vous devez ajouter un enregistrement TXT à votre configuration DNS pour prouver que vous gérez le domaine. La commande : sudo certbot certonly --manual --preferred-challenges dns -d *.example.com -d example.com
Certbot vous donne une valeur à ajouter comme enregistrement TXT sur _acme-challenge.example.com. Après avoir ajouté l'enregistrement, vous attendez que le DNS soit propagé, puis vous confirmez dans Certbot.
Challenge DNS automatique
Pour le renouvellement automatique des certificats wildcard, il vous faut un plugin DNS qui modifie automatiquement les enregistrements TXT. Certbot propose des plugins pour des fournisseurs DNS populaires comme Cloudflare, Route53 et DigitalOcean.
Résoudre les problèmes lors de l'installation de Let's Encrypt
Il arrive que l'installation de Let's Encrypt ne se déroule pas sans accroc. Voici les problèmes les plus courants et leurs solutions :
Le DNS ne pointe pas vers ce serveur
Let's Encrypt vérifie que votre domaine pointe vers votre serveur. Vérifiez vos paramètres DNS et attendez que les modifications éventuelles soient propagées (cela peut prendre jusqu'à 24 heures).
Le port 80 est bloqué
Le challenge HTTP de Let's Encrypt exige que le port 80 soit accessible. Vérifiez les paramètres de votre pare-feu et assurez-vous qu'aucun autre service n'utilise le port 80.
Limite de requêtes (rate limit) atteinte
Let's Encrypt applique des limites de requêtes : au maximum 50 certificats par domaine enregistré et par semaine, et au maximum 5 validations échouées par compte et par heure. Utilisez l'environnement de staging (option --staging) pour vos tests afin de ne pas consommer votre limite.
Le certificat n'est pas renouvelé automatiquement
Vérifiez que le timer Certbot est actif avec systemctl status certbot.timer. Si le timer ne tourne pas, redémarrez-le. Consultez aussi les journaux de Certbot pour repérer d'éventuels messages d'erreur.
Après l'installation de Let's Encrypt : optimiser HTTPS
Une fois Let's Encrypt installé avec succès, d'autres étapes permettent d'optimiser votre configuration HTTPS :
Configurer la redirection de HTTP vers HTTPS
Assurez-vous que tout le trafic HTTP est redirigé automatiquement vers HTTPS. Certbot peut configurer cela automatiquement, mais vérifiez que la redirection fonctionne correctement pour toutes les pages de votre site web.
Activer HSTS
HTTP Strict Transport Security (HSTS) indique aux navigateurs que votre site web doit toujours être consulté via HTTPS. Ajoutez l'en-tête HSTS à la configuration de votre serveur web avec une valeur max-age adaptée (au minimum 31536000 secondes = 1 an).
Résoudre les problèmes de contenu mixte (mixed content)
Après le passage à HTTPS, des avertissements de « contenu mixte » peuvent apparaître si votre page charge des ressources HTTP (images, scripts, feuilles de style). Parcourez votre site web à la recherche de liens HTTP et remplacez-les par des liens HTTPS ou des URL relatives au protocole.
Tester la configuration SSL
Testez votre configuration SSL avec des outils comme SSL Labs (ssllabs.com/ssltest) pour vérifier qu'elle est sûre. Visez un score A+ en utilisant des suites de chiffrement (cipher suites) modernes et en désactivant les protocoles obsolètes.
Conclusion
Installer Let's Encrypt est un processus simple que tout propriétaire de site web devrait mettre en œuvre. Avec les certificats SSL gratuits, il n'y a plus d'excuse pour ne pas sécuriser votre site web avec HTTPS. Que vous utilisiez Certbot en ligne de commande ou la fonction intégrée de votre panneau de contrôle, le résultat est le même : une connexion sécurisée et chiffrée qui protège vos visiteurs et améliore votre position dans Google. N'oubliez pas de configurer le renouvellement automatique et d'optimiser votre configuration HTTPS pour une sécurité et des performances optimales. Consultez aussi notre aperçu de HTTP et HTTPS pour comprendre pourquoi HTTPS est si important.
Configuration avancée après l'installation de Let's Encrypt
Après l'installation de base, des configurations avancées permettent d'améliorer votre installation SSL.
Configurer l'agrafage OCSP (OCSP stapling)
L'agrafage OCSP améliore les performances et la confidentialité de votre configuration SSL. Normalement, le navigateur vérifie auprès d'une autorité de certification que votre certificat est toujours valide. Avec l'agrafage OCSP, votre serveur web envoie cette information avec le certificat, de sorte que le navigateur n'a pas besoin de faire de requête supplémentaire. Cela accélère le handshake SSL et réduit la dépendance à des services externes.
Optimisation des suites de chiffrement
Après l'installation de Let's Encrypt, il est important d'optimiser vos suites de chiffrement. Désactivez les suites obsolètes et faibles et donnez la priorité aux options modernes et sûres. Utilisez des suites de chiffrement à confidentialité persistante (forward secrecy) afin que le trafic intercepté auparavant ne puisse pas être déchiffré après coup. Testez votre configuration avec SSL Labs pour obtenir un score A+ et vérifiez régulièrement si de nouvelles vulnérabilités ont été découvertes.
Surveiller la Certificate Transparency
La Certificate Transparency est un cadre ouvert qui enregistre tous les certificats SSL émis dans des journaux publics. Surveillez ces journaux pour votre domaine afin de détecter l'émission de certificats non autorisés. Des outils comme CertSpotter et Facebook Certificate Transparency Monitor vous avertissent automatiquement lorsqu'un nouveau certificat est détecté pour votre domaine.
Éviter les problèmes lors de l'installation de Let's Encrypt
Avec une bonne préparation, vous évitez les problèmes les plus courants lors de l'installation de Let's Encrypt. Avant de commencer, vérifiez que votre DNS est correctement configuré et entièrement propagé. Utilisez des outils de recherche DNS pour vérifier que votre domaine pointe vers la bonne adresse IP. Assurez-vous qu'aucune configuration de serveur web en conflit ne bloque le challenge ACME. Si vous êtes derrière un CDN comme Cloudflare, vous devrez peut-être désactiver temporairement le mode proxy ou utiliser la méthode du challenge DNS plutôt que le challenge HTTP. Documentez votre configuration de certificat afin de pouvoir diagnostiquer rapidement les futurs problèmes de renouvellement. Tenir un journal des dates d'installation et de renouvellement aide à gérer vos certificats SSL de façon proactive.
Installer Let's Encrypt : certificats wildcard et validation DNS
Outre les certificats SSL standard, Let's Encrypt permet aussi de demander des certificats wildcard. Un certificat wildcard couvre tous les sous-domaines d'un domaine (par exemple *.example.com), ce qui est idéal si vous avez plusieurs sous-domaines sans devoir installer un certificat distinct pour chacun.
Les certificats wildcard exigent une validation DNS plutôt que la validation HTTP habituelle. Cela signifie que vous devez ajouter un enregistrement TXT spécial à votre configuration DNS pour prouver que vous êtes propriétaire du domaine.
Différences entre les méthodes de validation
| Méthode | Fonctionnement | Prise en charge du wildcard | Automatisation |
|---|---|---|---|
| HTTP-01 | Placer un fichier dans le webroot | Non | Simple |
| DNS-01 | Ajouter un enregistrement TXT dans le DNS | Oui | Possible via l'API DNS |
| TLS-ALPN-01 | Réponse TLS spéciale sur le port 443 | Non | Limitée |
La plupart des fournisseurs DNS proposent une API permettant de modifier automatiquement les enregistrements DNS. Certbot prend en charge des plugins pour des fournisseurs DNS populaires comme Cloudflare, DigitalOcean, Route53 et bien d'autres. Vous pouvez ainsi aussi renouveler les certificats wildcard de façon entièrement automatique.
Installer Let's Encrypt : configurer le renouvellement automatique
Les certificats de Let's Encrypt sont valables 90 jours, ce qui rend un renouvellement régulier indispensable. Cette courte durée de validité est un choix délibéré : elle limite l'impact des clés compromises et encourage l'automatisation.
À l'installation, Certbot configure automatiquement une tâche cron ou un timer systemd pour le renouvellement. Vérifiez qu'il est correctement configuré :
- Vérifier le timer systemd : le timer s'exécute par défaut deux fois par jour et ne renouvelle que les certificats qui expirent dans les 30 jours.
- Hooks post-renouvellement : configurez des hooks qui rechargent automatiquement votre serveur web après le renouvellement. Sans rechargement, votre serveur continue d'utiliser l'ancien certificat.
- Surveiller les messages d'erreur : configurez les notifications par e-mail chez Let's Encrypt afin de recevoir un avertissement si le renouvellement échoue.
- Tester en dry-run : testez le processus de renouvellement sans renouveler réellement, avec l'option --dry-run, pour détecter les problèmes à temps.
Si vous hébergez plusieurs domaines sur le même serveur, vous pouvez gérer tous les certificats en une seule fois. Certbot suit automatiquement quels certificats expirent et quand, et les renouvelle au bon moment.
Optimiser la configuration SSL après l'installation de Let's Encrypt
Après l'installation de Let's Encrypt, il est important d'optimiser votre configuration SSL pour une sécurité et des performances maximales. Un certificat SSL ne suffit pas à lui seul : la manière dont votre serveur gère SSL/TLS détermine le niveau de sécurité réel.
- Désactivez les protocoles obsolètes : utilisez uniquement TLS 1.2 et TLS 1.3. Les versions plus anciennes (SSL 3.0, TLS 1.0, TLS 1.1) comportent des vulnérabilités connues.
- Choisissez des suites de chiffrement robustes : donnez la priorité aux chiffrements AEAD tels qu'AES-256-GCM et ChaCha20-Poly1305.
- Activez HSTS : HTTP Strict Transport Security oblige les navigateurs à toujours utiliser HTTPS. Commencez avec un max-age court et augmentez-le progressivement.
- Configurez l'agrafage OCSP : cela accélère la validation du certificat, car le serveur met en cache la réponse OCSP et l'envoie avec le certificat.
- Testez avec SSL Labs : utilisez le SSL Server Test gratuit de Qualys pour évaluer votre configuration. Visez un score A+.
Un certificat SSL bien configuré améliore non seulement la sécurité, mais aussi la vitesse de votre site web. TLS 1.3 réduit sensiblement la latence du handshake par rapport aux anciennes versions. Combinez SSL avec un pare-feu de site web pour une protection complète de votre trafic web.
Installer Let's Encrypt : certificats multi-domaines
Lorsque vous hébergez plusieurs domaines ou sous-domaines sur le même serveur, Let's Encrypt vous permet de demander un seul certificat couvrant tous ces domaines. Cela simplifie nettement la gestion des certificats et réduit le risque d'oublier un renouvellement.
Avec Certbot, vous pouvez, grâce à l'option -d, indiquer plusieurs domaines lors de la demande d'un certificat. Chaque domaine est validé séparément, donc assurez-vous que tous les domaines pointent vers le bon serveur avant de demander le certificat. Vous pouvez inclure jusqu'à 100 noms de domaine dans un seul certificat, ce qui est largement suffisant pour la plupart des scénarios d'hébergement.
Organisez vos certificats de façon logique : regroupez les domaines qui appartiennent au même site web ou à la même application dans un seul certificat, et utilisez des certificats distincts pour les projets indépendants. Cela rend la gestion plus claire et évite qu'un problème de validation sur un domaine bloque le renouvellement de l'ensemble du certificat.
Alternatives à Let's Encrypt et cas où elles conviennent mieux
Bien que Let's Encrypt soit excellent pour la plupart des sites web, il existe des situations où un certificat SSL payant est le meilleur choix. Comprendre les différences permet de faire le bon choix pour votre situation spécifique.
Les certificats Extended Validation (EV) exigent un contrôle d'identité approfondi de l'organisation demandeuse et affichent le nom de l'entreprise dans la barre d'adresse de certains navigateurs. Pour les établissements financiers et les grandes boutiques en ligne, cela peut renforcer la confiance des visiteurs. Les certificats Organization Validation (OV) confirment que le certificat a été émis à une organisation vérifiée, ce qui représente un niveau au-dessus de la Domain Validation (DV) utilisée par Let's Encrypt.
Les certificats payants offrent en outre souvent une garantie (warranty) qui vous indemnise si le certificat est compromis à cause d'une erreur de l'autorité de certification. Ils offrent aussi des durées de validité plus longues, jusqu'à un an maximum, ce qui demande des renouvellements moins fréquents. Pour la grande majorité des sites web, les certificats Let's Encrypt offrent toutefois une sécurité identique sans aucun coût. Le chiffrement est techniquement aussi solide, que le certificat soit gratuit ou payant. La différence tient uniquement au niveau de validation et aux conditions de garantie.
Let's Encrypt et intégration avec le serveur web
La manière dont Let's Encrypt s'intègre à votre serveur web varie selon la plateforme. Une intégration correcte garantit un renouvellement fluide et une configuration SSL optimale sans intervention manuelle.
Pour Nginx, certbot avec le plugin nginx est la méthode recommandée. Le plugin adapte automatiquement votre configuration Nginx pour utiliser le certificat et configure une redirection de HTTP vers HTTPS. Avec Apache, le plugin apache fonctionne de façon similaire et modifie automatiquement la configuration du virtual host. Pour LiteSpeed, il faut une approche distincte : utilisez le mode standalone de certbot ou passez par le panneau LiteSpeed WebAdmin, qui prend en charge Let's Encrypt en natif.
Sur les panneaux d'hébergement comme cPanel, DirectAdmin et Plesk, Let's Encrypt est souvent disponible sous forme de module. Cette intégration permet de demander des certificats en quelques clics et de les renouveler automatiquement pour tous les domaines du serveur. C'est l'option la plus simple et elle ne demande aucune connaissance de la ligne de commande. Après l'installation, vérifiez toujours que le renouvellement automatique est correctement configuré en lançant un test dry-run et en contrôlant la tâche de renouvellement planifiée dans votre cron ou vos timers systemd. Un certificat qui expire de façon inattendue est l'une des causes les plus fréquentes d'indisponibilité d'un site web et nuit à la fois à la confiance de vos visiteurs et à votre classement dans les moteurs de recherche.
Let's Encrypt : questions fréquentes et solutions
Lorsqu'on travaille avec Let's Encrypt, des questions et des problèmes reviennent régulièrement et doivent pouvoir être résolus rapidement. La question la plus fréquente est de savoir quoi faire quand le renouvellement automatique échoue. Vérifiez d'abord que votre serveur web est correctement configuré pour répondre au challenge de validation et qu'aucun pare-feu ne bloque le serveur de validation de Let's Encrypt. Les limites de requêtes de Let's Encrypt autorisent au maximum cinq demandes de certificat par domaine et par semaine, donc planifiez soigneusement vos tests. Si vous atteignez cette limite, utilisez l'environnement de staging de Let's Encrypt, qui a des limites bien plus larges. Pour les domaines derrière un load balancer ou un CDN, la validation HTTP peut poser problème, car la requête n'arrive pas toujours au bon serveur. Dans ce cas, utilisez la validation DNS, qui fonctionne indépendamment de l'architecture de votre serveur web.
Sources et références
- Let's Encrypt : certificats SSL gratuits (letsencrypt.org)
- Cloudflare : Learning Center (cloudflare.com/learning)
- SSL Labs : SSL Server Test de Qualys (ssllabs.com)
- DigitalOcean : Community Tutorials (digitalocean.com/community)
- ACM : Autoriteit Consument & Markt (autorité néerlandaise de la consommation et des marchés, acm.nl)