Déploiement
Déploiement • Chapitre 9 : Configuration HTTPS et sécurité

Redirection automatique vers HTTPS

Bannissez les connexions non chiffrées : configurez une redirection permanente HTTP 301 vers HTTPS et activez l'en-tête de sécurité strict HSTS pour immuniser vos utilisateurs contre les attaques de dégradation de protocole (SSL Stripping).

↪️
Code HTTP 301

Redirection permanente ordonnant aux moteurs de recherche et navigateurs d'utiliser HTTPS.

🛡️
En-tête HSTS

Strict-Transport-Security : interdit formellement au navigateur de retenter une connexion en HTTP.

🚫
Contre SSL Stripping

Neutralise les attaques interceptant la requête avant la première redirection.

🏆
Note SSL Labs A+

Configuration des paramètres de sécurité optimaux selon les standards de l'ANSSI.

nginx-hsts-redirect.conf
# 1. Bloc de redirection universelle port 80 (HTTP) -> 443 (HTTPS)
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    # Redirige toutes les requêtes HTTP vers l'équivalent HTTPS avec code 301
    return 301 https://$host$request_uri;
}

# 2. Bloc HTTPS avec en-têtes de sécurité HSTS renforcés
server {
    listen 443 ssl http2;
    server_name mon-site.com www.mon-site.com;

    ssl_certificate /etc/letsencrypt/live/mon-site.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mon-site.com/privkey.pem;

    # En-tête HSTS (Strict-Transport-Security) : 1 an de protection forcée
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;

    root /var/www/mon-site/dist;
    index index.html;
}

Guide Approfondi & Architecture Système

1. Pourquoi une Redirection 301 et pas 302 ?

La nuance est capitale :
  • 302 Found (Temporaire) : Le navigateur redemande en HTTP à chaque visite. Google ne met pas à jour son index.
  • 301 Moved Permanently (Définitif) : Le navigateur mémorise définitivement le passage en HTTPS. Vos scores SEO sont intégralement transmis à la version chiffrée.

2. La Menace 'SSL Stripping' et la Solution HSTS

Lorsqu'un visiteur tape mon-site.com dans un bar Wi-Fi, son navigateur envoie d'abord une requête HTTP normale sur le port 80. Un pirate sur le même Wi-Fi peut intercepter cette première requête et répondre lui-même, empêchant la redirection vers HTTPS d'arriver au client.
La protection HSTS : Grâce à l'en-tête Strict-Transport-Security, dès la première visite, le navigateur enregistre une règle inviolable : "Même si l'internaute tape http://, je transformerai automatiquement l'URL en https:// en interne avant d'émettre le moindre paquet sur le réseau !".

Tableau Comparatif : Redirection Simple vs Protection HSTS

Aspect SécuritéRedirection 301 SimpleRedirection 301 + En-tête HSTS
Première visiteRequête initiale en clair sur port 80Requête initiale en clair sur port 80
Visites ultérieuresÉmet un appel HTTP 80 avant d'être redirigéAppel converti en HTTPS 443 en local dans le navigateur
Protection contre SSL StrippingVulnérable aux attaques sur Wi-Fi publicTotalement immunisé
Éligibilité HSTS PreloadNonOui (soumission possible sur hstspreload.org)