expositions n etait resolu nulle part — ni par le pare-feu d hote, qui ne filtre pas l egress, ni par le devis de frontiere. Il n avait jamais eu besoin de l etre : chez un locataire le trafic edge vers amont ne traverse pas le boitier. Au site il le traverse. Une declaration peut dormir des mois avant que la premiere fabric ne la reveille. Une regle par amont, avec son port. Jamais une regle large : ouvrir l edge sur tout le site annulerait ce qu une zone de publication separee cherche a obtenir. La meme faute qu hier, avalee de la meme facon : U au lieu de underlay_mod, et un except Exception large a transforme le NameError en note plausible. Resserre a OSError/ValueError — une faute de frappe doit faire du bruit. Le schema de proxy_pass suit maintenant le port, et l amont TLS est VERIFIE contre l AC interne : relayer en TLS sans verifier ne fait que deplacer la confiance. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
61 lines
2.7 KiB
YAML
61 lines
2.7 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
|
|
serveur_nginx_desactiver_defaut: false # retirer le site Debian par defaut
|
|
|
|
# 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"
|