This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/roles/serveur_nginx/README.md
Daniel Allaire ca0f95da28 Mettre les noms de roles et playbooks au singulier
serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au
singulier (serveur_web_dorsal/frontal, client_metrique, client_journal).

Renommage par tokens exacts : repertoires de roles, playbooks de groupes,
group_vars, variables internes des roles (serveur_nginx_*, conformite
ansible-lint), groupes du plan, constantes de code, docs. Faux-amis
preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes
d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm).

Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation,
node --check, tous les registres. Ajout de .ansible-lint excluant docs/
(registres de donnees, pas du contenu Ansible).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:18:52 -04:00

37 lines
1.6 KiB
Markdown

# 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`).