Développement HTTPS local avec un certificat SSL auto-signé
Lors des phases de développement et de test web local, simuler une connexion HTTPS comme en production est essentiel. Bien que les certificats SSL auto-signés ne soient pas reconnus par les autorités de certification publiques (CA), ils fournissent une méthode pratique pour activer HTTPS dans un environnement local. Ce guide explique en détail comment générer, à l’aide de l’outil OpenSSL intégré de ServBay, un certificat SSL auto-signé sécurisé basé sur des courbes elliptiques (ECC), puis comment le configurer pour votre site local sous ServBay. L’exemple portera sur le domaine servbay.demo
.
Comprendre comment configurer HTTPS vous permettra de tester en local le comportement de votre site dans des conditions sécurisées, par exemple pour les alertes de contenu mixte ou les paramètres de sécurité des cookies.
Vue d’ensemble
Un certificat auto-signé est un certificat SSL que vous générez et signez vous-même, sans faire appel à une autorité de certification publique de confiance. Cela convient à des scénarios où la confiance publique n’est pas requise, tels que :
- Environnements de développement local
- Serveurs de test internes
- Applications internes ne manipulant pas de données sensibles
ServBay intègre directement OpenSSL, vous permettant de générer les fichiers de certificat dans votre terminal.
Prérequis
- ServBay est installé et en cours d’exécution.
- Maîtrise des commandes de base en ligne de commande.
Étape 1 : Générer un certificat SSL ECC auto-signé
Nous recommandons d’utiliser un certificat ECC : par rapport aux certificats RSA classiques, il offre la même sécurité, mais avec des clés plus petites, des opérations plus rapides (signature et vérification), et une consommation de ressources réduite.
Voici comment générer un certificat SSL ECC auto-signé étape par étape :
Générer la clé privée ECC
Ouvrez votre terminal et lancez la commande suivante pour créer un fichier clé privée ECC
servbay.demo.key
basé sur la courbeprime256v1
:shopenssl ecparam -genkey -name prime256v1 -out servbay.demo.key
1openssl
: lance l’outil OpenSSL.ecparam
: gestion des paramètres ECC.-genkey
: génère une clé.-name prime256v1
: nom de la courbe ECC utilisée,prime256v1
(NIST P-256) étant courante et recommandée.-out servbay.demo.key
: nom du fichier exporté de la clé privée.
Générer la requête de signature de certificat (CSR)
Utilisez la clé privée
servbay.demo.key
générée précédemment pour créer le fichier de requête de signature de certificatservbay.demo.csr
. Le CSR contient les informations que vous souhaitez inclure dans le certificat (nom de domaine, organisation, etc.) et est signé avec votre clé privée.shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1Cette commande lancera OpenSSL qui vous demandera de renseigner diverses informations à intégrer au CSR. Veuillez suivre les indications : l’élément le plus important est
Common Name (e.g. server FQDN or YOUR name)
, où vous devez entrer le nom de domaine de votre site local, par exempleservbay.demo
. Les autres champs peuvent être adaptés selon votre situation ou laissés comme dans l’exemple.Voici un exemple de saisie :
Country Name (2 letter code) [AU]:CN # Code pays, ici CN (Chine) State or Province Name (full name) [Some-State]:Hong Kong # Région ou province Locality Name (eg, city) []:Kowloon # Ville Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nom de l’organisation Organizational Unit Name (eg, section) []:Development # Service ou unité Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Important : entrez le nom de domaine local** Email Address []:[email protected] # Adresse mail de contact Please enter the following 'extra' attributes to be sent on in your certificate request A challenge password []: # Optionnel, peut rester vide An optional company name []: # Optionnel, peut rester vide
1
2
3
4
5
6
7
8
9
10
11Générer le certificat auto-signé
Enfin, à partir du CSR (
servbay.demo.csr
) et de la clé privée (servbay.demo.key
), générez un certificat SSL auto-signéservbay.demo.crt
, valable 365 jours :shopenssl x509 -req -days 365 -in servbay.demo.csr -signkey servbay.demo.key -out servbay.demo.crt
1openssl x509
: gestion des certificats au format X.509.-req
: indique que l’entrée est un CSR.-days 365
: durée de validité du certificat en jours.-in servbay.demo.csr
: fichier CSR source.-signkey servbay.demo.key
: clé privée utilisée pour signer (auto-signé).-out servbay.demo.crt
: fichier de certificat généré.
Une fois ces commandes exécutées, vous obtiendrez ces trois fichiers dans votre dossier courant :
servbay.demo.key
(clé privée),servbay.demo.csr
(requête CSR) etservbay.demo.crt
(certificat auto-signé).
(Illustration : Génération des fichiers certificat dans le terminal avec OpenSSL)
Étape 2 : Configurer le certificat auto-signé dans ServBay
Après avoir généré les fichiers, il faut les placer dans un répertoire accessible par ServBay, puis indiquer leur chemin dans la configuration de votre site ServBay. Il est recommandé de stocker tous vos fichiers SSL dans le dossier /Applications/ServBay/ssl
, avec un sous-dossier par domaine pour une meilleure organisation.
Déplacer les fichiers certificats au bon emplacement
Selon la structure recommandée, déplacez les fichiers créés dans
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
. Si ce dossier n’existe pas, créez-le :sh# Créez le dossier s’il n’existe pas mkdir -p /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Déplacez les fichiers mv servbay.demo.key /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ mv servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Le fichier CSR n’est pas indispensable, mais peut être conservé à titre d’archive mv servbay.demo.csr /Applications/ServBay/ssl/private/tls-certs/servbay.demo/
1
2
3
4
5
6
7
8/Applications/ServBay/ssl/
: dossier racine SSL par défaut sur ServBay.private/tls-certs/
: sous-répertoire recommandé pour vos certificats SSL privés.servbay.demo/
: créez un sous-dossier pour chaque nom de domaine.
Ouvrir l’interface d’administration ServBay
Lancez l’application ServBay puis accédez à son interface de gestion.
Ajouter ou modifier la configuration du site
Dans l’onglet Sites Web (Websites), ajoutez un nouveau site pour
servbay.demo
ou modifiez la configuration du site existant.Configurer le SSL/HTTPS
Dans les paramètres détaillés du site, localisez la rubrique SSL/HTTPS ou équivalent.
Sélectionner “Custom” comme source du certificat
Dans la méthode ou le type de signature du certificat, sélectionnez Custom (certificat personnalisé).
Indiquer les chemins des fichiers certificats
Saisissez dans les champs prévus les chemins complets vers vos fichiers :
- Certificate Key File (clé privée) :
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.key
- Certificate File (certificat) :
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.crt
- Certificate Key File (clé privée) :
Définir le nom de domaine
Assurez-vous que le champ Domain (domaine) corresponde à
servbay.demo
.Enregistrer et appliquer la configuration
Sauvegardez vos modifications. ServBay vous demandera d’appliquer les changements, ce qui peut entraîner le redémarrage du serveur web (Caddy, Nginx…). Acceptez pour que la configuration prenne effet.
(Illustration : Configuration du chemin du certificat SSL personnalisé dans ServBay)
Vérification de la configuration HTTPS
Après avoir configuré ServBay, ouvrez votre navigateur et accédez à https://servbay.demo/
pour vérifier l’installation du certificat.
Comme il s’agit d’un certificat auto-signé et non reconnu par une CA publique de confiance, votre navigateur affichera un avertissement de sécurité, indiquant que le certificat n’est pas approuvé ou que la connexion présente un risque potentiel. Ceci est attendu.
(Illustration : Avertissement affiché lors de la visite d’un site avec certificat auto-signé)
Vous pouvez ignorer l’avertissement (généralement via “Avancé” ou “Continuer…”) ou, pour ne plus voir l’alerte, intégrer ce certificat auto-signé à la liste de certificats approuvés de votre système d’exploitation.
(Illustration : Consultation des détails du certificat auto-signé dans le navigateur)
En consultant ces détails, vous pouvez vérifier que c’est bien le certificat servbay.demo
que vous avez configuré qui est chargé par le navigateur.
Points d’attention
- Sécurité de la clé privée : Le fichier
.key
est sensible — gardez-le sécurisé et ne le partagez pas. Sur un poste de développement, limitez les droits d’accès à l’utilisateur ServBay uniquement. - Chemin des fichiers : Assurez-vous que les chemins des fichiers certificats renseignés dans ServBay sont exacts et complets.
- Correspondance du nom de domaine : Le champ Common Name (CN) indiqué à la génération du certificat doit être le même que le domaine configuré dans ServBay, sinon le navigateur remontera une erreur de non-correspondance des domaines.
- Validité du certificat : La durée de validité dépend du paramètre
-days
à la génération. Pensez à régénérer et reconfigurer un certificat expiré.
Alternatives et sujets connexes
Bien que les certificats auto-signés soient adaptés au test HTTPS local, pour simuler une expérience plus semblable à celle offerte par une CA publique, ServBay propose d’autres options :
- ServBay User CA : ServBay embarque un outil de CA utilisateur. En ajoutant cette CA à la liste de certificats fiables de votre système, puis en signant vos certificats SSL locaux via cette CA, ceux-ci seront automatiquement reconnus comme valides par votre navigateur et système, supprimant ainsi les avertissements de certificat auto-signé. Idéal pour tester des OAuth callbacks, Webhooks ou tout scénario exigeant un certificat reconnu.
- ServBay Public CA : ServBay dispose aussi d’une fonction de CA publique permettant d’émettre des certificats pour vos domaines locaux et de les rendre automatiquement dignes de confiance sur le système.
Ces solutions sont beaucoup plus pratiques pour gérer de nombreux certificats et sites locaux. Consultez la documentation officielle ServBay pour plus de détails.
FAQ
- Q : Pourquoi mon navigateur affiche-t-il “non sécurisé” alors que j’ai généré un certificat ?
- R : Les certificats auto-signés ne sont pas approuvés par une CA publique, raison pour laquelle le navigateur affiche un avertissement de sécurité. C’est la norme. Pour faire cesser l’alerte, ajoutez le certificat (ou la CA qui l’a signé, ex : ServBay User CA) à la liste de confiance de votre OS.
- Q : Puis-je générer un certificat RSA à la place ?
- R : Oui, OpenSSL permet aussi de générer des certificats RSA. Par exemple, utilisez
openssl genrsa -out servbay.demo.key 2048
puis suivez le même processus pour créer le CSR et le certificat. Cependant, ECC est recommandée pour de meilleures performances.
- R : Oui, OpenSSL permet aussi de générer des certificats RSA. Par exemple, utilisez
- Q : Comment ajouter le certificat auto-signé au trousseau d’accès sous macOS ?
- R : Ouvrez l’application “Trousseaux d’accès” (Keychain Access), sélectionnez le trousseau “Système” ou “Session”. Faites glisser le fichier
.crt
dans la fenêtre. Double-cliquez le certificat importé, ouvrez la section “Confiance”, réglez “Utilisation lors de Secure Socket Layer (SSL)” sur “Toujours approuver”. Fermez la fenêtre (mot de passe demandé). Redémarrez ensuite votre navigateur.
- R : Ouvrez l’application “Trousseaux d’accès” (Keychain Access), sélectionnez le trousseau “Système” ou “Session”. Faites glisser le fichier
Conclusion
Grâce à ce guide, vous savez maintenant comment générer un certificat SSL ECC auto-signé via l’OpenSSL intégré à ServBay et comment le configurer sur un site local. Les certificats auto-signés sont parfaits pour comprendre le fonctionnement d’HTTPS et tester en sécurité en local. Pour une gestion simplifiée de la confiance locale, nous vous recommandons d’explorer également les fonctionnalités User CA et Public CA de ServBay. Bon développement web local !