Demander et gérer automatiquement des certificats SSL avec Let's Encrypt dans ServBay
Pour le développement web moderne, simuler fidèlement l’environnement de production en local est essentiel, ce qui inclut l’utilisation de HTTPS. ServBay intègre la prise en charge du protocole ACME (Automated Certificate Management Environment), vous permettant de demander, installer et gérer facilement des certificats SSL/TLS gratuits délivrés automatiquement par une autorité de certification (CA) telle que Let's Encrypt. Ce guide détaillé vous expliquera comment obtenir et utiliser les certificats Let's Encrypt dans ServBay pour vos sites de développement locaux.
Les avantages des certificats Let's Encrypt incluent : gratuité, automatisation, confiance étendue, et possibilité de tester localement le comportement HTTPS du site, les Service Workers, HSTS, etc.
Prérequis
Avant de commencer la demande de certificats Let's Encrypt, assurez-vous que les conditions suivantes sont remplies :
- Posséder un nom de domaine public : Vous devez disposer d’un nom de domaine enregistré et accessible (par ex. :
servbay.demo
ouyourdomain.com
). Let's Encrypt ne délivre pas de certificats pour les adresses IP locales ou les domaines non publics tels que.local
. - Pouvoir gérer les enregistrements DNS du domaine : ServBay utilise une méthode d’API DNS pour vérifier la propriété du domaine. Vous devez donc avoir accès au panneau de gestion DNS de votre registrar ou fournisseur DNS (Cloudflare, GoDaddy, AWS Route 53, etc.) et pouvoir générer une clé API pour les opérations automatisées.
- Obtenir la clé API DNS : Suivant les exigences de votre fournisseur DNS, générez la clé API ou un token approprié. La méthode varie selon le prestataire. Généralement, il faut générer une clé dotée du droit de gestion des enregistrements DNS. Consultez la page DNS API WIKI du projet
acme.sh
pour trouver les instructions spécifiques à votre fournisseur et connaître les variables d’environnement requises.
Étapes de la demande
Voici les étapes détaillées pour demander un certificat SSL via Let's Encrypt dans ServBay :
Ouvrir le panneau de gestion ServBay : Lancez l’application ServBay, puis cliquez sur l’icône dans la barre de menu et choisissez « Panneau de gestion » (Manager Panel) pour ouvrir l’interface web d’administration.
Accéder à la gestion des certificats SSL : Dans la barre latérale du panneau ServBay, localisez et cliquez sur l’option
Certificats SSL
(SSL Certificates).Démarrer la demande d’un nouveau certificat : Sur la page de la liste des certificats, cliquez sur le bouton rond « + » en haut à droite. Une fenêtre de configuration de la demande de certificat s’affichera.
Renseigner les informations du certificat : Dans la fenêtre « Demander un certificat » (Request Certificate), remplissez chaque champ selon les indications suivantes :
- Common Name (Nom usuel) : Saisissez un nom permettant d’identifier facilement ce certificat, par exemple
servbay-demo-cert
oumydomain-wildcard-cert
. - Usage Purpose (Usage) : Sélectionnez
TLS/SSL
. - Request Method (Méthode de demande) : Choisissez
ACME
. - Issuer (Émetteur) : Choisissez
Let's Encrypt
. - DNS API Provider (Fournisseur de l’API DNS) : Sélectionnez votre registrar ou fournisseur DNS dans la liste déroulante (ex. :
cloudflare
pour Cloudflare,godaddy
pour GoDaddy). - Algorithm (Algorithme) : Il est conseillé de choisir
ECC
(Elliptic Curve Cryptography) avec une longueur de clé384
. Les certificats ECC sont plus petits que ceux en RSA, avec généralement de meilleures performances et sécurité. - E-Mail Address (Adresse e-mail) : Indiquez une adresse mail valide. Let's Encrypt l’utilisera pour vous envoyer des notifications importantes concernant l’expiration ou les échecs de renouvellement du certificat.
- DNS API Tokens (Clés API DNS) : Entrez la clé API ou token demandés par votre fournisseur DNS. Ceux-ci sont généralement transmis à l’ACME client sous forme de variables d’environnement. Consultez la documentation de votre fournisseur ou le WIKI DNS API de
acme.sh
pour obtenir les noms et valeurs corrects des variables. Important : n’ajoutez pas le motexport
devant les informations API. Par exemple, pour Cloudflare, vous saisirez :CF_Key=sdfsdfsdffgfdg\[email protected]
(notez l’utilisation de\n
pour séparer les variables). - Domain (Domaine) : Entrez le ou les domaines à certifier. Pour demander un certificat couvrant plusieurs domaines ou un certificat générique (wildcard, ex :
*.servbay.demo
), séparez-les par des virgules (ex :servbay.demo, www.servbay.demo, *.servbay.demo
). Attention : pour les certificats génériques, il faut obligatoirement valider par API DNS.
Note : l’exemple de Common Name dans la capture est « Test ». Il est conseillé d’utiliser un nom descriptif dans votre cas réel.
- Common Name (Nom usuel) : Saisissez un nom permettant d’identifier facilement ce certificat, par exemple
Soumettre la demande : Après avoir vérifié l’exactitude des informations, cliquez sur le bouton « Demander » (Request) en bas de la fenêtre.
Attendre la fin du processus : ServBay va lancer son client ACME qui utilisera vos données API DNS pour valider la propriété du domaine et demander le certificat à Let's Encrypt. Cela peut prendre quelques minutes, selon la propagation DNS et la rapidité des serveurs Let's Encrypt. Une fois terminé, le certificat sera ajouté à votre liste de certificats SSL.
Utiliser le certificat
Lorsque la demande a réussi et que le certificat apparaît dans la liste, vous pouvez l’appliquer à votre site local :
- Accéder à la gestion des sites web : Dans la barre latérale du panneau ServBay, cliquez sur l’option
Sites web
(Websites). - Modifier la configuration du site : Repérez le site concerné et cliquez sur le bouton d’édition (icône crayon à droite).
- Configurer HTTPS/SSL : Sur la page de configuration du site, trouvez les paramètres liés à SSL/HTTPS. Il y a généralement une option pour choisir la source du certificat SSL.
- Sélectionner le certificat ACME : Pour la source du certificat, choisissez
ACME
. Sélectionnez ensuite dans le menu déroulant le certificat fraîchement généré (identifié par le nom usuel que vous avez défini). - Enregistrer la configuration : Sauvegardez vos modifications. ServBay rechargera la configuration du site afin que le nouveau certificat SSL prenne effet. Votre site local sera désormais accessible en HTTPS.
La capture ci-dessus montre la sélection d’un certificat ACME dans la configuration d’un site.
Renouvellement du certificat
Les certificats Let's Encrypt sont valides 90 jours. ServBay intègre un système de renouvellement automatique. Quand votre certificat ACME approche de l’expiration (généralement dans les 30 jours précédant la date limite), ServBay tentera un renouvellement automatique avec les mêmes paramètres. Aucune intervention manuelle n’est requise. Assurez-vous simplement que votre clé API DNS reste valide. En cas de problème au renouvellement, Let's Encrypt enverra une notification à l’adresse e-mail fournie lors de la demande.
À propos du protocole ACME et de la validation DNS API
- Protocole ACME : ACME est une norme ouverte pour automatiser la validation des domaines et l’émission de certificats. Les CA comme Let's Encrypt utilisent ce protocole pour communiquer avec les clients (comme celui intégré à ServBay), ce qui permet de demander et gérer automatiquement les certificats.
- Validation par API DNS : Il s’agit d’une méthode où le client ACME ajoute un enregistrement TXT dans la zone DNS du domaine via l’API du fournisseur DNS. L’autorité de certification vérifie cet enregistrement pour confirmer votre contrôle du domaine. Cette méthode est idéale dans les cas suivants :
- Demande de certificats génériques (par ex. :
*.servbay.demo
). - Lorsque votre instance ServBay locale n’est pas directement accessible depuis Internet (ex. environnement interne, ou ports 80/443 bloqués par l’opérateur).
- Demande de certificats génériques (par ex. :
Choix de l’algorithme du certificat : ECC vs RSA
Au moment de la demande, ServBay vous laisse choisir entre les algorithmes ECC ou RSA.
- RSA : Algorithme de chiffrement à clé publique classique. Excellente compatibilité, supporté par tous les navigateurs et clients. Longueurs de clés courantes : 2048 ou 4096 bits.
- ECC : Algorithme basé sur les courbes elliptiques. Pour une sécurité équivalente, une clé ECC est plus courte (par ex. ECC 256 bits ≈ RSA 3072 bits), ce qui accélère la négociation TLS tout en réduisant la charge processeur côté serveur et client. La plupart des navigateurs modernes et systèmes d’exploitation prennent en charge ECC.
Recommandation : Pour les nouveaux certificats, privilégiez ECC avec clé 384 bits pour les meilleures performances et sécurité. Pour une compatibilité maximale (très vieux clients notamment), RSA peut être envisagé.
Points d’attention
- Propagation DNS : Après la soumission, la modification d’un enregistrement TXT DNS peut nécessiter un temps de propagation mondial (quelques minutes à plusieurs heures). En cas d’échec immédiat, patientez avant de réessayer.
- Sécurité des clés API : Votre clé API DNS donne un accès complet à la gestion DNS de votre domaine. Conservez-la à l’abri de divulgation.
- Limites de taux Let's Encrypt : Let's Encrypt impose des limites sur la fréquence des demandes. Si vous faites trop de requêtes ou de renouvellements sur un même domaine, vous pourriez être temporairement bloqué. Un usage normal via le mécanisme automatique de ServBay ne pose généralement pas de problème.
Foire aux questions (FAQ)
- Q : Mon domaine pointe vers une adresse IP locale, puis-je utiliser un certificat Let's Encrypt ?
- R : Oui, à condition d’utiliser la validation via API DNS. Let's Encrypt vérifie votre contrôle sur les enregistrements DNS du domaine, peu importe où il pointe.
- Q : Ma demande de certificat a échoué, que faire ?
- R : Vérifiez en priorité l’exactitude et les autorisations de vos clés API DNS. Assurez-vous d’avoir choisi le bon fournisseur DNS. Parfois, c’est une question de propagation DNS : attendez quelques minutes et réessayez. Consultez les journaux ServBay pour plus de détails.
- Q : Combien de temps avant l’expiration ServBay renouvelle-t-il le certificat ?
- R : ServBay tente le renouvellement automatique dans les 30 jours précédant l’expiration.
- Q : Puis-je demander un certificat pour un domaine
.local
pour le développement ?- R : Non. Let's Encrypt délivre exclusivement des certificats pour des domaines enregistrés publiquement. Pour
.local
ou une IP locale, utilisez les fonctions ServBay User CA ou ServBay Public CA pour générer des certificats autosignés ou simulés, adaptés aux tests locaux.
- R : Non. Let's Encrypt délivre exclusivement des certificats pour des domaines enregistrés publiquement. Pour
- Q : Mon fournisseur DNS n’est pas présent dans la liste ServBay, comment faire ?
- R : Le client ACME intégré prend en charge l’essentiel des fournisseurs DNS populaires. Pour un prestataire très rare, une configuration manuelle peut être nécessaire. Référez-vous au WIKI API DNS de
acme.sh
pour vérifier la compatibilité et la configuration. Si l’interface de ServBay ne l’inclut pas, contactez le support ServBay.
- R : Le client ACME intégré prend en charge l’essentiel des fournisseurs DNS populaires. Pour un prestataire très rare, une configuration manuelle peut être nécessaire. Référez-vous au WIKI API DNS de
Résumé
Grâce à l’intégration du protocole ACME, ServBay simplifie considérablement la gestion des certificats SSL Let's Encrypt dans votre environnement de développement local. En utilisant la validation par API DNS, vous pouvez obtenir facilement des certificats gratuits, valides pour vos domaines publics (génériques inclus), bénéficiant du renouvellement automatique, pour simuler fidèlement une architecture HTTPS de production en local. Suivez les étapes de ce guide pour sécuriser rapidement vos sites ServBay avec un accès HTTPS fiable.