Set-OPS-Public/roles/serveur_nginx/defaults/main.yml
Daniel Allaire 6b6a56ab3f sondes filtrage et edge : elles verifient le service rendu ; l edge refuse les noms inconnus
filtrage soumet GTUBE ; edge interroge chaque exposition en local. Sans serveur
par defaut, un nom inconnu recevait Keycloak : 000-defaut.conf (444, rejet TLS).
Garde test_sondes_syntaxe : chaque gabarit de sonde se rend en bash valide.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 19:40:26 -04:00

65 lines
3 KiB
YAML

---
serveur_nginx_packages:
- nginx
- ssl-cert # fournit le certificat auto-signe (snakeoil)
serveur_nginx_service_name: "nginx"
# TLS : par defaut le certificat auto-signe Debian (snakeoil).
# A remplacer par des certificats de l'AC interne / ACME (step_ca) plus tard.
serveur_nginx_certificat: "/etc/ssl/certs/ssl-cert-snakeoil.pem"
serveur_nginx_cle: "/etc/ssl/private/ssl-cert-snakeoil.key"
# Durcissement de base.
serveur_nginx_server_tokens: "off"
serveur_nginx_ssl_protocols: "TLSv1.2 TLSv1.3"
serveur_nginx_taille_max_corps: "16m"
# Comportement des sites.
serveur_nginx_redirection_http: true # 80 -> 443
# LE SITE DEBIAN PAR DEFAUT CEDE LA PLACE AU SERVEUR PAR DEFAUT DE SET-OPS (2026-09-28) :
# voir `templates/defaut.conf.j2`. Il valait `false`, sans raison ecrite ; le site Debian
# restait donc actif sur le port 80, et le port 443 n'avait aucun defaut.
serveur_nginx_desactiver_defaut: true
serveur_nginx_serveur_defaut: true
# Sites de reverse proxy declares a la main. Vide par defaut.
# S'AJOUTENT aux vhosts derives automatiquement de instance/plan/domaines.yml.
serveur_nginx_sites: []
# - nom: forge
# domaine: forge.{{ domaine_interne }}
# amont: "http://10.0.15.11:3000"
# certificat: "/etc/ssl/.../forge.pem" # optionnel, sinon snakeoil
# cle: "/etc/ssl/.../forge.key"
# Groupe edge auquel ce role s'identifie (pour filtrer le champ "edge" de
# instance/plan/domaines.yml). Permet plusieurs edges distincts a terme.
serveur_nginx_groupe: "serveur_nginx"
# Deriver automatiquement des vhosts depuis instance/plan/domaines.yml (bloc "exposition").
# Pour chaque exposition de type "web" dont l'edge vise ce groupe, un vhost est
# genere : amont = entree "amont" explicite, sinon http://<IP interne de la
# cible>:<port>. Une exposition non resolvable (cible sans hote actif, ou sans
# port) est ignoree (binding declare mais pas encore cablable).
serveur_nginx_publier_expositions: true
# Tampons d'en-tetes de reponse cote proxy — voir templates/expositions.conf.j2.
# Dimensionnes pour un cookie de session OIDC (jeton d'identite decoupe en plusieurs
# `Set-Cookie`), que le defaut de 4 Ko ne peut pas contenir.
serveur_nginx_proxy_buffer_size: "16k"
serveur_nginx_proxy_buffers: "8 16k"
serveur_nginx_proxy_busy_buffers_size: "32k"
# --- Sonde de supervision -----------------------------------------------------------
# Les ports que l'edge DOIT servir. Variable, donc mise en defaut en nommant un port qui
# n'ecoute pas, sans toucher a nginx.
serveur_nginx_sonde_ports: "80 443"
# LES PORTS OU UN AMONT TERMINE DEJA LE TLS. `proxy_pass` doit alors parler `https://` :
# du clair vers un port qui attend une poignee de main rend `400 Bad Request`, et
# l'erreur parle de requete malformee, jamais de protocole.
serveur_nginx_ports_tls: [443, 8443]
# L'AC INTERNE, POUR VERIFIER L'AMONT. Meme racine que celle qui signe le certificat que
# l'edge presente : la confiance est la meme des deux cotes de la terminaison.
serveur_nginx_ca_interne: "/etc/step/certs/root_ca.crt"