Si il était conseillé auparavant l’utilisation du protocole https est maintenant une nécessité.
Ce paramètre est même pris en compte par google pour l’indexation de votre site.

Pour ceux qui font tourner une boutique de taille raisonnable et qui ne souhaitent pas de garantie étendue ( ou qui n’ont tout simplement pas le budget ), il existe une possibilité d’obtenir des certificats https gratuitement via letsencrypt : https://letsencrypt.org/

Le seul point à prendre en compte est que le certificat est valide pour une durée de 3 mois, il sera donc nécessaire de le renouveler régulièrement.

L’installation et la génération des certificats sont très rapide et pratique , nous allons voir comment procéder pour installer ces certificats sur notre serveur dédié avec Ubuntu 14.04

(Un accès root ou sudo est nécessaire )

#Telechargement du robot de certification
wget https://dl.eff.org/certbot-auto
#Mise à jour des droits
chmod a+x certbot-auto

Pour un serveur avec apache2

#Execution avec la configuration apache
$ sudo ./certbot-auto --apache

Vous pouvez ensuite choisir les domaines pour lesquels vous souhaitez un certicat https

Certbot choisir domaine

Il faut ensuite choisir si vous souhaitez que https soit obligatoire ou optionnel ( laisser en optionnel par défaut )

Certbot apache mode
Les certificats sont ensuite générés, il vous suffit de recharger la configuration d’apache et tout fonctionne 😉

sudo service apache2 reload

Pour renouveler votre certificat vous pouvez par exemple mettre une tache cron tous les lundi comme ceci

0 10 * * 1 ./path/to/certbot-auto renew --quiet --no-self-upgrade

Pour un serveur avec nginx :

Pour nginx , c’est un peu plus « compliqué » car il n’existe pas d’installation automatique.
Mais ça reste tout de même très accessible.

Pour commencer il faut générer les certifications

$ sudo ./certbot-auto certonly --webroot -w /var/www/example -d example.com -d www.example.com

L’option -w correspond à l’emplacement du site sur le serveur
L’option -d correspond aux noms de domaines qui y sont associés ( 1 ou plusieurs )

Les certificats sont ensuite générés dans l’emplacement /etc/letsencrypt/live/example.com/

Il vous suffit ensuite de les rajouter dans la configuration nginx ( et de rajouter l’ecoute sur le port 443 )

server {
        listen 80;
        listen 443 ssl;
 
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 
        root /var/www/example;
 
      #Your configuration
       ...
}

Pour finir reloader la configuration nginx :

sudo service nginx reload

Vos sites seront ensuite accessibles via le protocole https 🙂