Utiliser HTTPS en local sur Apache

Août 2013

HTTPS est la version cryptée du protocole HTTP, il permet de se connecter à un site internet de manière sécurisée car toutes les informations échangées avec le serveur sont cryptées. Le HTTPS fonctionne avec un certificat SSL, je vous recommande de lire ce tuto si vous ne savez pas ce qu'est un certificat SSL : Qu'est-ce qu'un certificat SSL (HTTPS) ?

Dans ce tutoriel, nous allons voir comment configurer un serveur Apache (EasyPHP, MAMP ou WAMP) pour pouvoir utiliser le protocole HTTPS en local sur localhost.

Générer un certificat SSL

Voici les commandes à exécuter (dans une invite de commande) pour créer un certicat SSL autosigné :

openssl req -config "C:\EasyPHP\apache\conf\openssl.cnf" -new -out site.csr
openssl rsa -in privkey.pem -out site.key
openssl x509 -in site.csr -out site.cert -req -signkey site.key -days 365
openssl x509 -in site.cert -out site.der.crt -outform "DER 9"

Vous trouverez le détail et les explications de toutes ces commandes dans le tuto Qu'est-ce qu'un certificat SSL (HTTPS), inutile de réécrire tout ça une seconde fois ici. Pensez aussi à bien modifier le chemin du fichier openssl.cnf qui n'est pas forcément le même chez vous que sur l'exemple (faites une recherche du nom du fichier sur votre disque dur si vous ignorez où il se trouve).

Dans un tout autre contexte, cet article est très intéressant : connaitre le jour de l'année dans une formule excel.

Configurer un virtualhost HTTPS dans httpd.conf

Une fois que vous avez votre certificat SSL, il faut configurer le serveur Apache pour lui indiquer les paramètres à utiliser pour gérer les communications sécurisées en HTTPS. Pour cela ouvrez le fichier de configuration du serveur Apache : httpd.conf, et ajoutez-y ces directives :

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLMutex default
SSLRandomSeed startup builtin
SSLSessionCache none

<VirtualHost 127.0.0.1:443>
	SSLEngine On
	SSLCertificateFile conf/ssl/site.cert
	SSLCertificateKeyFile conf/ssl/site.key
</VirtualHost>

C'est tout ! Normalement, votre site localhost devrait être accessible via cette URL : https://localhost/ (normalement votre navigateur va indiquer une alerte de sécurité à cause du certificat qui est un certificat auto-signé et donc non vérifié par une autorité externe, il faut donc donner votre accord pour valider le certificat).

Découvrez ce tutoriel photoshop : webdesign du site d'une application iphone à lire tout de suite !

3 commentaires :
commentaire n°3029 par abdennaceur
abdennaceur lundi 23 mars 2015, 12:08
openssl is not recognized as an internal or external command,operable program or batch file
commentaire n°3627 par Phil
Phil dimanche 25 février 2018, 12:15
Please remove this tutorial. It does not work.
commentaire n°3629 par dl11
dl11 jeudi 1 mars 2018, 19:32
Install openssl from website, and add path for acces openssl app to variable environnement windows. Sorry for my english

facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré