Tu choisis les services que nous pouvons activer pour l’analyse, la personnalisation et les contenus externes.
Nous utilisons des cookies et des technologies similaires sur notre site pour personnaliser les contenus, intégrer des médias externes et mieux comprendre l’utilisation de certaines sections.
Cookies nécessaires
Ces entrées assurent des fonctions essentielles comme la sécurité, la stabilité et le traitement des formulaires.
Tes données peuvent être traitées avec ton consentement ou sur la base d’intérêts légitimes. Dans les paramètres des cookies, tu peux refuser chaque catégorie facultative ou l’autoriser individuellement.
Certains services traitent des données personnelles dans des pays tiers. En donnant ton consentement, tu acceptes également ce transfert. Pour en savoir plus, consulte notre politique de confidentialité.
Tu pourras rouvrir et modifier ta sélection à tout moment. · 1.0.2
Serveur VPS : créer un certificat SSL (Let's Encrypt) pour Linux
Découvre comment sécuriser ton site web avec des certificats SSL gratuits grâce à Certbot et Let's Encrypt, pour garantir la sécurité des transferts de données → En savoir plus
10 novembre 20267 min de lecture2 Vues0 utile
Introduction
Les certificats SSL sont essentiels sur Internet : ils permettent de transférer des données en toute sécurité entre un client et un hôte. Dans ce guide, nous allons te montrer comment configurer l'outil open source Certbot pour demander des certificats SSL gratuits auprès de l'autorité de certification à but non lucratif Let's Encrypt.
FAQ
Questions fréquentes
Tu as besoin d'un serveur Linux, d'un domaine qui t'appartient et d'un accès à ses paramètres DNS. Pour chaque domaine racine ou sous-domaine utilisé, crée un enregistrement DNS A qui pointe vers l'adresse IP de ton serveur Linux.
Exécute la commande 'sudo apt install certbot'.
La méthode standard HTTP-01, car elle permet le renouvellement automatique. Tu peux aussi utiliser la méthode manuelle DNS-01 avec un enregistrement DNS TXT, mais elle ne permet pas le renouvellement automatique.
Oui. Certbot propose des plugins pour Nginx et Apache qui permettent de configurer un certificat en un clic.
Avis
Cet article t’a-t-il été utile ?
Ton avis nous aide à mieux définir les priorités et à améliorer les contenus.
0 de 0 Les personnes ayant donné leur avis ont trouvé cet article utile.
Aide personnalisée
Le guide ne suffit pas ?
Notre équipe d’assistance ZAP connaît ton produit : décris brièvement ta demande et nous t’aiderons personnellement.
Zappy connaît ce guide et te répond directement dans le chat.
Navigation
VPS
Préparation
Pour utiliser Certbot, tu as besoin d'un serveur Linux et d'un domaine qui t'appartient. Tu dois avoir accès aux paramètres DNS du domaine et dois créer un enregistrement DNS A pour chaque domaine racine ou sous-domaine que tu souhaites utiliser. Cet enregistrement doit pointer vers l'adresse IP de ton serveur Linux.
Certbot propose également des plugins supplémentaires qui te permettent de configurer un certificat pour un domaine en un clic. Ils sont compatibles avec différents serveurs web, comme Nginx ou Apache. Nous te recommandons Nginx, un serveur web open source performant et populaire. Consulte notre guide Linux Reverse Proxy pour savoir comment le configurer.
Renouvellement automatique
Dans la plupart des cas, Certbot configure le renouvellement automatique des certificats pour toi à l'aide d'un cronjob et/ou d'un timer systemd. Tu peux le tester avec la commande suivante, qui effectue une simulation grâce à --dry-run.
Code
certbot renew --dry-run
Conseil
Comme indiqué précédemment, la méthode DNS-01 ne permet pas le renouvellement automatique avec Certbot, sauf si tu mets en place ta propre infrastructure à cette fin. Nous te recommandons donc d'utiliser la méthode HTTP-01 lorsque c'est possible.
Le test devrait réussir si tout est correctement configuré. Pour consulter ou modifier la configuration du renouvellement automatique, recherche la commande correspondante dans l'un des répertoires suivants : /etc/crontab/, /etc/cron.*/* ou via systemctl list-timers.
Configuration manuelle d'un cronjob
Si le renouvellement automatique n'est pas configuré, tu peux l'ajouter toi-même avec un cronjob. Ouvre la crontab avec crontab -e. Si c'est la première fois que tu le fais, tu seras invité à choisir un éditeur. Sélectionne la première option, généralement /bin/nano.
Dans Nano, ajoute la ligne suivante pour renouveler les certificats chaque jour à 6 h du matin, heure locale.
Code
0 6 * * * certbot renew
Enregistre le fichier et quitte Nano avec CTRL + X, confirme avec Y, puis appuie sur ENTER.
Conclusion
Tu as correctement configuré Certbot pour ton ou tes domaines, que ce soit en mode autonome, avec Webroot ou avec l'un des plugins. Ton site web bénéficie ainsi de transferts de données sécurisés via HTTPS. Si tu as des questions ou rencontres des problèmes, notre équipe d'assistance est là pour t'aider tous les jours ! 🙂
Hébergement de serveurs dès 2,49 € / mois, mise en ligne immédiate, protection DDoS incluse.
Commence par installer le paquet open source Certbot, qui te permet de demander des certificats SSL gratuits auprès de Let's Encrypt.
Code
sudo apt install certbot
Une fois Certbot installé, tu peux demander des certificats pour ton ou tes domaines. Let's Encrypt et Certbot proposent plusieurs challenges ACME pour vérifier que tu es bien propriétaire du domaine.
Nous te recommandons vivement d'utiliser la méthode standard HTTP-01, car elle permet le renouvellement automatique. Si tu rencontres des difficultés, tu peux utiliser à la place la méthode manuelle DNS-01, qui fonctionne avec un enregistrement DNS TXT, mais ne permet pas le renouvellement automatique.
Conseil
Utilise les plugins de serveur web
Si tu utilises un serveur web comme Nginx ou Apache, ou ton propre serveur web, nous te recommandons de passer directement à la section Plugins de serveur web ci-dessous. Nous t'y montrons comment utiliser les plugins Certbot supplémentaires pour ces serveurs web afin d'installer et de demander des certificats en un clic, sans avoir à arrêter le serveur web.
Challenge HTTP-01
Certbot est installé : tu peux maintenant demander des certificats pour ton ou tes domaines. Dans cet exemple, nous utilisons le mode autonome, dans lequel Certbot démarre un serveur web temporaire pour effectuer le challenge. Pour cela, tu dois ouvrir le port 80 dans ton pare-feu et aucun autre serveur web ni service ne doit utiliser ce port. Le serveur temporaire pourra ainsi démarrer et le challenge pourra être vérifié (d'où le nom HTTP du challenge).
Dans la commande ci-dessous, utilise le paramètre --standalone pour indiquer à Certbot de démarrer le serveur web temporaire.
Après avoir exécuté la commande, tu seras peut-être invité à suivre une première configuration interactive. Tu devras saisir une adresse e-mail pour les communications relatives au certificat, puis tu pourras choisir de t'inscrire à une liste de diffusion et tu devras accepter les conditions générales.
Plugins de serveur web
Certbot propose plusieurs plugins de serveur web qui simplifient encore la gestion des certificats, car ils ajustent automatiquement les blocs de configuration du serveur concernés. Pour utiliser un plugin, ajoute simplement le paramètre correspondant à ta commande certbot.
Les deux méthodes utilisent le challenge HTTP-01 et fonctionnent de manière similaire. Certbot recherche d'abord le bloc de configuration du serveur qui contient le domaine demandé comme server_name. Il génère ensuite un challenge ACME et ajoute temporairement un bloc location /.well-known/acme-challenge/... à la configuration du serveur.
Les serveurs de Let's Encrypt tentent ensuite de récupérer le challenge depuis ton serveur. Si la vérification réussit, ton certificat est généré et la configuration du serveur est automatiquement modifiée pour utiliser HTTPS (port 443) et indiquer les chemins d'accès aux nouveaux certificats.
Plugin Nginx
Avant d'utiliser le plugin, vérifie qu'il est installé.
Code
sudo apt install python3-certbot-nginx
Pour utiliser le plugin Nginx, ajoute le paramètre --nginx à ta commande.
Si tu souhaites désactiver les modifications automatiques des blocs de configuration du serveur par Certbot, tu peux ajouter le paramètre certonly, par exemple certbot certonly.
Plugin Apache
Avant d'utiliser le plugin, vérifie qu'il est installé.
Code
sudo apt install python3-certbot-apache
Pour utiliser le plugin Apache, ajoute le paramètre --apache à ta commande.
Certbot génère alors un challenge ACME et l'héberge sur le serveur web temporaire. Les serveurs de Let's Encrypt tentent ensuite de le récupérer depuis ton serveur. Si la vérification réussit, les certificats sont créés et enregistrés dans le répertoire /etc/letsencrypt/live/[deine_domain].
Tu peux maintenant utiliser les certificats SSL où tu en as besoin en indiquant simplement leur chemin local.
Enregistrement DNS TXT
Si tu rencontres des difficultés pour vérifier ton domaine avec la méthode HTTP-01, tu peux utiliser à la place la méthode DNS-01. Pour cela, tu crées un enregistrement DNS TXT contenant une valeur fournie par Let's Encrypt.
Comme indiqué précédemment, cette méthode ne permet pas le renouvellement automatique, sauf si tu mets en place ta propre infrastructure à cette fin. Nous te recommandons donc d'utiliser la méthode HTTP-01 lorsque c'est possible.
Dans la commande ci-dessous, utilise le paramètre --preferred-challenges pour indiquer à Certbot que tu souhaites utiliser la méthode DNS-01.
Après avoir exécuté la commande, tu seras peut-être invité à suivre une première configuration interactive. Tu devras saisir une adresse e-mail pour les communications relatives au certificat, puis tu pourras choisir de t'inscrire à une liste de diffusion et tu devras accepter les conditions générales.
Certbot t'indique alors comment créer un enregistrement DNS TXT avec une valeur précise. Le nom cible est généralement _acme-challenge. suivi de ton domaine (par exemple, _acme-challenge.zapdocs.example.com), et tu trouveras la valeur dans la console.
Une fois l'enregistrement créé, appuie sur Entrée pour continuer. Si tout est correctement configuré et que l'enregistrement s'est propagé, les certificats sont créés et enregistrés dans le répertoire /etc/letsencrypt/live/[deine_domain].
Infos
Patiente un peu, car la propagation des modifications DNS peut prendre du temps. Elle ne prend généralement que quelques minutes, mais peut durer plus longtemps dans de rares cas.
Tu peux maintenant utiliser les certificats SSL où tu en as besoin en indiquant simplement leur chemin local.
Conseil
Si tu souhaites désactiver les modifications automatiques des blocs de configuration du serveur par Certbot, tu peux ajouter le paramètre certonly, par exemple certbot certonly.
Plugin Webroot
Si tu utilises ton propre serveur web local, qui n'est pas un logiciel standard, tu souhaiteras peut-être utiliser la méthode Webroot pour laisser ton serveur web en fonctionnement sans avoir à l'arrêter.
Pour utiliser le plugin Webroot, ajoute le paramètre --webroot à ta commande. Tu dois également indiquer le chemin d'accès au répertoire racine de ton serveur web avec -w [dein_webserver_pfad] (abréviation de --webroot-path).
/var/www/html est un chemin Webroot courant. Tu peux aussi utiliser cette méthode avec des serveurs web comme Nginx ou Apache si tu souhaites les laisser en fonctionnement sans appliquer automatiquement des modifications aux blocs de configuration, comme le font les plugins natifs.