Crypter un site web pour éviter que les données ne se baladent en clair sur le web était assez coûteux et assez chronophage. En effet, un certificat SSL coûte une petite centaine d’euros par an et demande un peu de temps et de connaissances pour le mettre en place.

On pouvait bien sûr s’en passer et autosigner le certificat en échange d’un méchant message d’avertissement du navigateur nous demandant si l’on voulait tout de même accéder à cette page malgré le danger.

Bref, rien qui n’incitait réellement de franchir le cap du https. J’emploie le passé, car depuis peu, les choses ont changé ! Des géants de l’internet tels que Mozilla, Cisco où encore Facebook soutiennent le projet Let’s Encrypt qui vise à populariser le chiffrement SSL des pages internet en le simplifiant et le rendant gratuit.

J’ai donc testé la version bêta publique sur mon serveur Apache et c’est en effet très efficace! Il suffit de cloner le répertoire github puis de lancer une commande. On est ensuite guidé pour configurer le serveur.

Concrètement, dans mon cas ça prend moins de 5 minutes et ça donne ça :

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --apache -d dogeo.fr -d www.dogeo.fr --rsa-key-size 4096
sudo service apache2 restart

C’est tout !

Par contre, il faut obligatoirement modifier les CDN HTTP en https, sous peine que ceux-ci soient rejetés par Chrome et que vos applications ne fonctionnent plus.

J’ai profité du temps gagné pour passer le site en HTTP/2 (remplaçant le HTTP/1.1 de 97), une version fraichement sortit pour Apache (>= 2.4.17) qui est censé accélérer internet en chargeant les dépendances des pages de manière asynchrone. Pour en savoir plus.