Utiliser HTTPS en local sur Apache
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 !