Edge nginx + exposition (Phase 3 bindings) prouvés avec Keycloak

Sans changement de code : la machinerie d'exposition existait déjà
(serveur_nginx_publier_expositions lit expose + domaines.edge, génère le
vhost avec X-Forwarded-*). Prouvé : keycloak.lab.chezlepro.internal →
http://192.168.15.81:8080, issuer OIDC en https par nom via l'edge.

Limite connue : cert edge = snakeoil (avertissement). Raffinement
recommandé : FQDN d'exposition dans client_pki_sans de l'edge + pointer
serveur_nginx_certificat sur le cert client_pki.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-07-03 11:48:59 -04:00
parent 5e3e4e0a46
commit 72619a5be5

View file

@ -45,6 +45,19 @@
par le rôle : un utilisateur LDAP (`testmail`) obtient un token via le realm (HTTP 200), et le
redéploiement est **idempotent** (`changed=0`). Nouveau : `tasks/federation-ldap.yml`. Reste :
edge nginx (accès HTTPS par nom), mappers d'attributs/groupes fins.
- **Edge nginx + exposition (Phase 3 des bindings) — prouvés avec Keycloak.** Sans changement de
code : la machinerie `serveur_nginx_publier_expositions` **existait déjà** (lit `expose` des
applications + `edge` de `domaines.yml`, dérive `amont = http://<IP hôte>:<port>`, génère le
vhost avec `X-Forwarded-*`). Le bac à sable déclare `keycloak.expose:
[keycloak.lab.chezlepro.internal]` + le domaine interne `lab.chezlepro.internal` (edge
`serveur_nginx`). **Prouvé** : le vhost s'auto-génère (`keycloak.lab.chezlepro.internal →
http://192.168.15.81:8080`), et la découverte OIDC via l'edge renvoie
`"issuer":"https://keycloak.lab.chezlepro.internal/..."` (les `X-Forwarded` passent, Keycloak
se sait derrière HTTPS). **Limite connue** : le cert TLS de l'edge est encore le snakeoil
auto-signé (avertissement navigateur). **Raffinement recommandé** (réutilise l'existant, pas de
nouveau mécanisme) : ajouter les FQDN d'exposition aux `client_pki_sans` de l'edge (client_pki
demande + renouvelle déjà le cert d'hôte), puis pointer `serveur_nginx_certificat` sur le cert
client_pki (`/etc/step/certs/<edge>.crt`).
## 2026-07-02