oauth2-proxy fonctionne devant Icinga Web 2 : 302 vers Keycloak, qui federe LDAP. Quatre defauts leves, dont trois du meme motif — un nom construit par convention d'un cote, declare de l'autre. 1. Le secret de cookie etait en base64 STANDARD. oauth2-proxy decode en url-safe : le decodage echoue, il retombe sur la chaine brute et se plaint de sa LONGUEUR, jamais de l'encodage. Garde ajoutee qui refuse + et /. 2. L'issuer etait fabrique (`keycloak.<domaine>`), un nom que rien ne publie. Le plan expose `auth.<domaine>` — c'est ce nom que le DNS resout et que nginx sert. Derive desormais du champ `expose`. 3. Keycloak s'annoncait sous ce meme nom invente : « issuer did not match ». Meme correctif a la source. 4. Le pare-feu est-ouest bloquait l'edge : nginx ne declarait son 443 qu'avec `pair: externe`, que le devis est-ouest saute (il releve de la frontiere). Le flux existait d'un seul cote et la matrice etait satisfaite. nginx declare maintenant aussi son 443 depuis la flotte. obs-01 et mon-01 deployees. 7 cibles Prometheus up, scrutees en TLS a travers cinq zones du VRF. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
1.7 KiB
YAML
39 lines
1.7 KiB
YAML
---
|
|
# Flux réseau de l'edge nginx (propriété du rôle). Voir docs/flux-conception.md.
|
|
# Cas « edge » : ingress depuis l'extérieur (frontière publique) + egress vers les backends,
|
|
# ces derniers dérivés des `expose:` des applications (pair: expositions).
|
|
flux:
|
|
- sens: ingress
|
|
port: 80
|
|
protocole: tcp
|
|
pair: externe
|
|
chiffrement: clair
|
|
raison: "HTTP entrant — redirection permanente vers HTTPS."
|
|
- sens: ingress
|
|
port: 443
|
|
protocole: tcp
|
|
pair: externe
|
|
chiffrement: tls-requis
|
|
raison: "HTTPS entrant — services exposés (terminaison TLS à l'edge)."
|
|
# L'edge sert AUSSI les hôtes du tenant : les FQDN publiés (`expose`) n'existent qu'ici,
|
|
# et un service interne qui doit joindre un autre service passe par son nom publié — pas
|
|
# par une adresse. C'est le cas de toute découverte OIDC : oauth2-proxy interroge
|
|
# `https://auth.<domaine>/.well-known/…`, servi par l'edge.
|
|
#
|
|
# Sans cette déclaration, le flux existait d'un seul côté : `serveur_oauth2_proxy`
|
|
# déclarait `egress 443 → edge`, la matrice était satisfaite (nginx déclare bien 443),
|
|
# mais le devis est-ouest SAUTE `pair: externe` — il relève de la frontière. Aucune règle
|
|
# d'hyperviseur n'était donc émise, et oauth2-proxy expirait sur `10.27.16.11:443`.
|
|
# Constaté le 2026-08-07.
|
|
- sens: ingress
|
|
port: 443
|
|
protocole: tcp
|
|
pair: flotte
|
|
chiffrement: tls-requis
|
|
raison: "HTTPS depuis le tenant : les FQDN publiés vivent à l'edge (découverte OIDC, appels inter-services par nom)."
|
|
- sens: egress
|
|
port: derive
|
|
protocole: tcp
|
|
pair: expositions
|
|
chiffrement: tls-cible
|
|
raison: "Proxy vers les backends exposés (host:port dérivés des expose ; TLS interne = roadmap edge→backends)."
|