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

Installation d'un certificat SSL/TLS

Comprenez l'infrastructure à clés publiques (PKI) : le rôle des autorités de certification (CA), la chaîne de confiance et l'intégration des fichiers fullchain.pem et privkey.pem dans Nginx.

🏛️
Autorité (CA)

Tiers de confiance mondial (Let's Encrypt, DigiCert) attestant cryptographiquement de votre légitimité.

📜
Fichier fullchain.pem

Certificat public de votre site + certificats intermédiaires prouvant la chaîne de confiance.

🔑
Fichier privkey.pem

Clé privée ultra-secrète du serveur : elle ne doit JAMAIS être partagée ou téléversée.

⚙️
Directives Nginx

Configuration de ssl_certificate et ssl_certificate_key dans le bloc d'écoute 443.

nginx-ssl-configuration.conf
# Configuration du bloc serveur HTTPS dans /etc/nginx/sites-available/mon-site
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mon-site.com www.mon-site.com;

    # 1. Chemins vers les certificats officiels
    ssl_certificate /etc/letsencrypt/live/mon-site.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mon-site.com/privkey.pem;

    # 2. Paramètres de chiffrement recommandés par Mozilla Security
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # 3. Racine et routage
    root /var/www/mon-site/dist;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

Guide Approfondi & Architecture Système

1. La Chaîne de Confiance : Pourquoi 'fullchain' et pas juste 'cert' ?

Votre navigateur contient une liste pré-installée d'environ 150 Autorités Racines (Root CAs) de confiance.

Les autorités comme Let's Encrypt ne signent pas directement votre site avec leur clé racine (trop risqué). Elles utilisent une Autorité Intermédiaire (ex: R3).

Le fichier fullchain.pem : Il contient à la fois votre certificat ET le certificat intermédiaire. Si vous configurez par erreur uniquement cert.pem au lieu de fullchain.pem, votre site fonctionnera sur Chrome mais affichera une erreur Certificate Unknown Issuer sur les téléphones Android anciens !

2. Les Permissions de la Clé Privée (privkey.pem)

La clé privée privkey.pem permet de déchiffrer toutes les communications de vos clients.

Sur Linux, ce fichier doit avoir des permissions strictes chmod 600 et n'appartenir qu'à l'utilisateur root. Ne commitez JAMAIS ce fichier dans Git.

Tableau des Fichiers Standards d'un Certificat SSL

FichierContenuDiffusion PubliqueRôle dans Nginx
privkey.pemClé privée RSA ou ECDSA du serveurNON (Ultra-secret)ssl_certificate_key
fullchain.pemCertificat du site + certificats intermédiairesOUI (Envoyé aux clients)ssl_certificate (Recommandé)
cert.pemCertificat du site uniquement (sans intermédiaire)OUIDéconseillé seul en production
chain.pemCertificats intermédiaires de l'autoritéOUIUtilisé pour la validation OCSP Stapling