# serveur_nginx Installe et configure nginx comme **edge** interne : reverse proxy et terminaison TLS. ## Rôle - Installe `nginx` et `ssl-cert` (certificat auto-signé). - Durcissement de base via `conf.d/99-chezlepro.conf` (`server_tokens off`, TLS 1.2/1.3, taille de corps). - Publie des sites de reverse proxy déclarés dans `serveur_nginx_sites` (vide par défaut). - **Valide la configuration (`nginx -t`) avant de recharger** (handler `Valider et recharger nginx`). ## TLS - Par défaut, certificat auto-signé Debian (`snakeoil`) — l'edge répond en HTTPS dès l'installation. - `serveur_nginx_certificat` / `serveur_nginx_cle` (ou par site) permettent de basculer vers les certificats de l'AC interne / ACME quand `serveur_step_ca` existera. ## Variables principales | Variable | Défaut | Rôle | | --- | --- | --- | | `serveur_nginx_certificat` / `_cle` | snakeoil | Certificat TLS par défaut | | `serveur_nginx_ssl_protocols` | `TLSv1.2 TLSv1.3` | Protocoles TLS | | `serveur_nginx_server_tokens` | `off` | Masque la version | | `serveur_nginx_taille_max_corps` | `16m` | `client_max_body_size` | | `serveur_nginx_redirection_http` | `true` | Redirige 80 → 443 | | `serveur_nginx_desactiver_defaut` | `false` | Retire le site Debian par défaut | | `serveur_nginx_sites` | `[]` | Sites reverse proxy | ## Déclarer un site ```yaml serveur_nginx_sites: - nom: forge domaine: forge.chezlepro.internal amont: "http://10.1.15.11:3000" # certificat / cle optionnels (sinon snakeoil) ``` ## Hors périmètre - WAF (ModSecurity) — lift externe, à traiter dans une phase dédiée. - Émission automatique des certificats (dépend de `serveur_step_ca`).