La migration de votre site web vers HTTPS est une étape essentielle pour la sécurité et la confiance des utilisateurs. Si votre serveur web basé sur Linux permet toujours l’accès via HTTP, vous mettez vos visiteurs et vos données en danger. Que vous utilisiez Apache ou Nginx, le processus est simple et essentiel pour maintenir un environnement sécurisé et propice au référencement.

Pourquoi rediriger vers HTTPS ?

Le passage à HTTPS (SSL/TLS) garantit :

  • Une communication cryptée entre les utilisateurs et votre serveur
  • Un meilleur classement SEO (Google favorise le HTTPS)
  • Des indicateurs de confiance tels que l’icône du cadenas dans le navigateur
  • Le respect des normes web modernes

Une fois que vous avez installé un certificat SSL, l’étape suivante consiste à forcer tout le trafic à passer par le protocole sécurisé HTTPS.

Apache : Rediriger HTTP vers HTTPS

Si votre serveur utilise Apache, voici comment configurer la redirection.

Étape 1 : Activer le module de réécriture

Assurez-vous que mod_rewrite est activé :

sudo a2enmod rewrite
sudo systemctl restart apache2

Étape 2 : Mettre à jour la configuration de votre hôte virtuel

Ouvrez votre fichier de configuration de l’hôte virtuel HTTP(port 80) :

sudo nano /etc/apache2/sites-available/000-default.conf

Insérez ensuite ceci dans le bloc :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Sauvegardez et quittez le fichier, puis redémarrez Apache :

sudo systemctl restart apache2

Nginx : Redirection de HTTP vers HTTPS

Si votre serveur utilise Nginx, la redirection est gérée dans le bloc serveur du site.

Étape 1 : Modifier le fichier de configuration de Nginx

sudo nano /etc/nginx/sites-available/default

Étape 2 : Ajouter un bloc de redirection

Au dessus de votre bloc server pour HTTPS, ajoutez ceci :

server {
    listen 80 ;
    server_name yourdomain.com www.yourdomain.com ;

    return 301 https://$host$request_uri ;
}

Remplacez yourdomain.com par votre véritable nom de domaine. Puis testez et rechargez :

sudo nginx -t
sudo systemctl reload nginx

Facultatif : Rediriger www vers non-www (ou vice versa)

Vous pouvez également combiner l’application de HTTPS avec la canonisation de domaine.

Exemple : Redirection de www vers non-www (avec HTTPS) dans Nginx :

server {
    listen 80 ;
    nom_du_serveur www.yourdomain.com ;

    return 301 https://yourdomain.com$request_uri ;
}

Test de la redirection

Une fois les modifications apportées, testez-les :

  • Visitez http://yourdomain.com – il devrait être redirigé vers https://yourdomain.com.
  • Utilisez https://www.redirect-checker.org pour confirmer que la redirection 301 est correcte.

Notes finales

  • Assurez-vous que votre certificat SSL est valide et installé avant de forcer le HTTPS.
  • Utilisez toujours des redirections 301 (permanentes) pour éviter les problèmes de référencement.
  • Utilisez la logique de redirection au niveau du serveur web, et non via PHP ou JavaScript.