2.8 KiB
2.8 KiB
| type | status | owner | last_update |
|---|---|---|---|
| Journal | ACTIVE | Curator | 2026-03-06 |
Journal - 2026-03-06
📝 Zusammenfassung
Keycloak funktionierte lokal einwandfrei, aber auf dem Meldestellen-Host war das Admin-Dashboard (:8180) nicht erreichbar und der Login schlug fehl — obwohl der Health-Port (:9000) grün war. Root Cause: Das pre-built Registry-Image wurde mit start-dev gestartet (Konflikt) und KC_HOSTNAME=localhost war auf dem Server falsch.
🛠️ Änderungen
1. dc-infra.yaml — Keycloak-Service bereinigt
- Command:
start-dev --import-realm→start --optimized --import-realm(nutzt das pre-built Image korrekt). - Neu:
KC_HOSTNAME_STRICT=falseundKC_HOSTNAME_STRICT_HTTPS=false— erlaubt HTTP-Betrieb ohne TLS-Zwang. - Neu:
KC_HTTP_MANAGEMENT_PORT=9000— Management-Interface explizit konfiguriert. - Fix:
KC_DEBUG_PORT→KC_MANAGEMENT_PORTumbenannt (war falsch benannt). - Fix: Image-Pfad von
grandmo→mocode-softwarekorrigiert. - Neu: Healthcheck auf
http://localhost:9000/health/readyergänzt.
2. .env — Keycloak-Block erweitert
KC_HOSTNAME_STRICT=false,KC_HOSTNAME_STRICT_HTTPS=false,KC_MANAGEMENT_PORT=9000:9000hinzugefügt.- Erklärende Kommentare: LOKAL vs. SERVER für
KC_COMMANDundKC_HOSTNAME.
3. .env.example — Als Server-Vorlage optimiert
- Default
KC_COMMAND=start --optimized --import-realm(Server-Default). <PLACEHOLDER>-Werte für alle Secrets (KC_ADMIN_PASSWORD,KC_DB_PASSWORD) undKC_HOSTNAME.SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URImit<SERVER_IP_ODER_DOMAIN>-Platzhalter.- Klare LOKAL/SERVER-Kommentare bei allen kritischen Variablen.
📚 Gelerntes
kc.sh build+start-dev= Konflikt: Ein mitkc.sh buildoptimiertes Image muss mitstart --optimizedgestartet werden.start-devignoriert den Pre-Build und startet im Dev-Modus — das bricht das Registry-Image auf dem Server.KC_HOSTNAMEsteuert den HTTP-Port, nicht den Management-Port: Port9000(Health) ist immer auf0.0.0.0gebunden. Port8080/8180(HTTP) wird durchKC_HOSTNAMEgesteuert — daher war Health grün, aber Admin-Dashboard nicht erreichbar.KC_HOSTNAME_STRICT=falseist Pflicht für HTTP-only Server: Ohne dieses Flag lehnt Keycloak alle Requests ab, deren Host-Header nicht exakt mitKC_HOSTNAMEübereinstimmt.
🔜 Nächste Schritte
- Auf dem Meldestellen-Host die
.envanpassen:KC_HOSTNAME=<SERVER_IP>KC_COMMAND=start --optimized --import-realmSPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://<SERVER_IP>:8180/realms/meldestelle
- Container neu starten und Admin-Dashboard + Login verifizieren.
- Langfristig: TLS/HTTPS einrichten, dann
KC_HOSTNAME_STRICT_HTTPS=truesetzen.