Comment migrer son site en HTTPS

Passez son site en HTTPS à plusieurs avantages non-négligeables. Il donne une image de qualité aux visiteurs, il accroît la sécurité ce qui est très utile si vous transmettez des données sensibles comme des mots de passe ou information de paiement, il est quelque chose d’officiellement positif pour Google et permet d’utiliser la technologie HTTP2 qui réduit les temps de chargement.

Dans ce tuto, je vais vous expliquez comment le mettre en place sans rien oublier. Dans cet exemple, j’utilise une machine Ubuntu 16.04 installé comme expliqué ici et avec un achat de certificat chez Gandi.net.

Générer la clé SSL sur le serveur et valider les infos

Commençons par générer les fichiers requis sur notre serveur. Effectuez la commande suivante et répondez aux questions posées.

openssl req -nodes -newkey rsa:2048 -sha256 -keyout mon_domaine.key -out mon_domaine.csr
Génération des fichiers

Mettez l’url de votre site dans le champs Common Name

Cette commande a crée 2 fichiers : la clé publique en .csr et la clé privée en .key que nous devons garder et qu’il faudra utiliser. Lors de l’achat de sur Gandi.net, il faut transmettre la clé .CSR. Maintenant, il faut poursuivre l’achat et attendre que le registrar confirme l’activation du certificat.

Une fois le certificat activé, il faut maintenant copier ou déplacer les clés générées sur le serveur et télécharger la clé intermédiaire (.pem) depuis votre interface d’administration chez votre registrar. J’utilise les commandes suivantes pour les déplacer.

cp mon_domaine.csr /etc/ssl/certs/mon_domaine.csr 
cp mon_domaine.key /etc/ssl/private/mon_domaine.key

Vous devez actuellement avoir les fichier suivants sur votre serveur:

/etc/ssl/certs/mon_domaine.crt clé fournie par le registrar
/etc/ssl/certs/mon_domaine.csr la clé publique
/etc/ssl/private/mon_domaine.key la clé privée
/etc/ssl/certs/GandiStandardSSLCA2.pem le certificat intermédiaire pour rester compatible avec les vieux navigateurs fournie par le registrar

Ajouter le certificat SSL

Une fois tous les fichiers nécessaires en place, je modifie mon fichier etc\apache2\sites-enabled\mon_domaine.conf de la façon suivante. Je recopie tout le contenu de VirtualHost *:80 .. /VirtualHost et le renomme en VirtualHost *:443 … /VirtualHost et j’ajoute la position de mes fichiers crt, key et pem. Pour arriver à quelque chose qui ressemble à cela:

ServerName web-presence.ch
	DocumentRoot /home/web-presence/public_html
	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/web-presence.crt
	SSLCertificateKeyFile /etc/ssl/private/web-presence.key
	SSLCertificateChainFile  /etc/ssl/certs/GandiStandardSSLCA2.pem
	...

Je m’assure ensuite que le fichier etc\apache2\ports.conf contient la ligne suivante:

Listen 443

Je m’assure finalement que ssl est activé sur mon serveur et je redémarre.

sudo a2enmod ssl
/etc/init.d/apache2 restart

Votre site devrait maintenant être accessible avec les https. Pour s’assurer que tout est en ordre, vous pouvez par exemple le tester avec sslshopper. Allez voir l’article faire une redirection depuis le fichier htacces

Checklist pour passer sans erreur de HTTP en HTTPS

Assurez-vous que toutes les images et les liens sont maintenant en https.
Des outils comme ScreaminFrog permettent de faire cela très facilement.
Contrôler vos balises hreflang et canonical.
Créer une nouvelle propriété dans la Search Console de Google.
Copiez les fichiers de désaveux de liens si vous en avez.
Contrôler les fichiers sitemap
Contrôler les fichiers CSS
Modifier si nécessaire votre fichier robots.txt
Changer un maximum de backlink sur la nouvelle adresse