ssl

Passage du blog en https

Après tous les articles récents publiés sur le https, il était temps de mettre la recommandation du passage en full https sur ce blog en application.
Pour le coup c’est plutôt facile à faire avec wordpress, et c’était en place en moins de 30 minutes 🙂

Voici les différentes étapes effectuées pour passer wordpress en https.

A savoir que le https est déjà géré et disponible sans configuration via les dns cloudflare que j’utilise ( c’est pareil pour tous les hébergements mutualisés via les dns ovh également )

Configuration de wordpress

Pour commencer , il suffit de changer les urls du site dans la configuration de wordpress en allant dans « Réglages / Généraux »

Correction du contenu mixte

Le site est à présent disponible en https, cependant si vous avez des images vous allez rapidement constater des avertissements de contenus mixtes.
C’est à dire que votre navigateur vous alerte que votre page charge des éléments non sécurisés ( protocole http ), sur une page sécurisée ( https )

Pour corriger cela il va être nécessaire de mettre à jour votre base de données pour remplacer les urls http par du https
(Attention à bien sauvegarder votre base avant )

Dans mon cas cela est passé par l’éxécution de la requête suivante

UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'http://www.h-hennes.fr'

Passage du blog en https Lire la suite »

Générer un certificat SSL autosigné

Afin de pouvoir utiliser le protocole https lors de vos développements locaux, il est nécessaire de générer un certificat https.

Voici une commande rapide qui vous permettra de générer un certificat auto-signé qui aura une validité d’un an.

 openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/ssl/ssl.crt -keyout /etc/ssl/ssl.key

Dans le cas d’un site live, il est recommandé d’utiliser un vrai certificat ssl ( qu’il soit payant ou généré via LetsEncrypt cf. https://www.h-hennes.fr/blog/2016/10/11/passer-au-https-avec-letsencrypt/ )

Vous pouvez ensuite ajouter ce certificat facilement à votre configuration nginx ou apache :

Nginx :

server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/ssl.crt
    ssl_certificate_key /etc/ssl/ssl.key;
 
    server_name local.dev;
    root /home/www;
}

 

Apache :

<VirtualHost *:443>
       
        ServerName local.dev
        DocumentRoot /home/www
        SSLEngine on
        SSLCertificateFile /etc/ssl/ssl.crt
        SSLCertificateKeyFile /etc/ssl/ssl.key

Générer un certificat SSL autosigné Lire la suite »