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 :
- Obtenir les certificats : Let's Encrypt ou certificat commercial.
- Creer le server block : configurez le bloc server pour HTTPS.
- Optimiser les parametres : appliquez les bonnes pratiques de securite.
- 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.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.