dev-nginx-configurator
Nginx Configurator
Workflow
-
Identifier l'architecture cible — Déterminer le rôle de Nginx dans l'infrastructure : serveur web statique, reverse proxy, load balancer, API gateway, ou combinaison de ces rôles. Recenser les services backend à exposer.
-
Configurer le bloc serveur de base — Créer la configuration
serveraveclisten,server_name,root, etindex. Configurer leslocationblocks pour le routage des requêtes vers les fichiers statiques et les services backend. -
Mettre en place le reverse proxy — Configurer
proxy_passvers les services backend, définir les headers de proxy (X-Real-IP,X-Forwarded-For,X-Forwarded-Proto,Host), gérer les timeouts (proxy_connect_timeout,proxy_read_timeout) et le buffering. -
Configurer SSL/TLS — Mettre en place HTTPS avec Let's Encrypt ou des certificats custom, configurer les protocoles TLS (1.2, 1.3), les cipher suites sécurisées, OCSP stapling, HSTS, et la redirection automatique HTTP vers HTTPS.
-
Implémenter le load balancing — Configurer le bloc
upstreamavec les algorithmes de répartition (round-robin,least_conn,ip_hash,random), les health checks, les poids des serveurs, et la gestion des serveursbackupetdown. -
Configurer le caching — Mettre en place
proxy_cacheavec des zones de cache nommées, définir les règles de validité (proxy_cache_valid), les clés de cache (proxy_cache_key), le bypass conditionnel et la purge de cache. -
Appliquer les headers de sécurité — Configurer
Content-Security-Policy,X-Frame-Options,X-Content-Type-Options,Referrer-Policy,Permissions-Policy, et le rate limiting aveclimit_req_zoneetlimit_conn_zone. -
Tester et déployer — Valider la configuration avec
nginx -t, tester les performances avec des outils de charge (ab, wrk, k6), configurer la rotation des logs, et mettre en place le reload sans downtime (nginx -s reload).