Configuration SSL Nginx

Securisez votre serveur Nginx avec SSL/TLS.

Nginx est connu pour ses performances et sa configuration SSL elegante. Une configuration bien optimisee vous donne securite et vitesse.

Ce guide vous donne une configuration production-ready avec les meilleures pratiques actuelles.

Nous couvrons les parametres pour obtenir un A+ sur SSL Labs tout en maintenant la compatibilite.

Directives Nginx SSL

Les directives cles pour SSL/TLS :

  • ssl_certificate : chemin vers le certificat (fullchain).
  • ssl_certificate_key : chemin vers la cle privee.
  • ssl_protocols : versions TLS autorisees.
  • ssl_ciphers : suites de chiffrement acceptees.

Avantages Nginx SSL

Pourquoi Nginx excelle en SSL :

  • Performance : gestion efficace des connexions TLS.
  • HTTP/2 natif : support HTTP/2 avec une simple directive.
  • Configuration claire : syntaxe simple et lisible.
  • Session resumption : cache de sessions TLS performant.

Configuration

Mise en place SSL sur Nginx :

  1. Obtenir les certificats : Let's Encrypt ou certificat commercial.
  2. Creer le server block : configurez le bloc server pour HTTPS.
  3. Optimiser les parametres : appliquez les bonnes pratiques de securite.
  4. Tester et recharger : nginx -t && systemctl reload nginx.

Configuration Optimisee

Server block HTTPS moderne :

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # Protocoles modernes
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # Session cache
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # HSTS
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
}

# Redirection HTTP
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

http2 active HTTP/2. ssl_session_tickets off pour PFS parfait.

Bonnes Pratiques

Optimisez votre Nginx :

  • Activez HTTP/2 : ajoutez http2 apres listen 443 ssl.
  • Session cache : ameliore les performances pour les visiteurs recurrents.
  • OCSP Stapling : reduit la latence et ameliore la privacy.
  • Desactivez TLS 1.0/1.1 : seuls TLS 1.2 et 1.3 sont securises.

Checklist Nginx SSL

  • Certificat fullchain configure
  • HTTP/2 active
  • TLS 1.2+ uniquement
  • Session cache configure
  • HSTS active
  • OCSP Stapling active

Questions Frequentes

Comment activer HTTP/2 ?

Ajoutez http2 dans la directive listen : listen 443 ssl http2;

Erreur "SSL: error" dans les logs ?

Verifiez le format du certificat et que la cle correspond.

Nginx ne demarre pas ?

Utilisez nginx -t pour voir l'erreur de syntaxe.

Comment supporter TLS 1.3 ?

Nginx 1.13+ et OpenSSL 1.1.1+ supportent TLS 1.3 nativement.

Difference entre ssl_session_cache et tickets ?

Le cache stocke cote serveur, les tickets cote client. Desactivez les tickets pour PFS.

Comment tester ma configuration ?

Utilisez SSL Labs (ssllabs.com/ssltest) ou testssl.sh.

Nginx Haute Securite

Nginx offre d'excellentes performances SSL avec une configuration bien optimisee.

Surveillez vos certificats avec MoniTao pour etre alerte avant toute expiration.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.