Konfigurieren von reverse-proxy für Keycloak Andockfenster mit benutzerdefinierten Basis-URL
Wie kann ich die docker keycloak base url
als parameter ?
Habe ich die folgende nginx-reverse-proxy-Konfiguration:
server {
listen 80;
server_name example.com;
location /keycloak {
proxy_pass http://example.com:8087/;
}
}
Wenn ich versuche, auf http://example.com/keycloak/ bekam ich einen keycloak http-redirect zu http://example.com/auth/ statt http://example.com/keycloak/auth/
Irgendwelche Ideen?
- FrancoisMaturel Vorschlag:
location /keycloak { proxy_pass http://example.com:8087/keycloak;}
@FrançoisMaturel ich habe versucht, was Sie vorgeschlagen, aber es hat nicht funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gerade getestet, die @home, und tatsächlich mehrere Konfigurations-Ergänzungen sind notwendig:
1/Führen Sie die keycloak container mit env
-e PROXY_ADDRESS_FORWARDING=true
wie in den docs, dies ist erforderlich, einen proxy-Zugriff auf zu keycloak:Erklärte auch in diesem ALSO Frage
2/Änderung der web-Kontext innen keycloak Konfigurationsdatei
$JBOSS_HOME/standalone/configuration/standalone.xml
Standard keycloak Konfiguration verweist auf
auth
Dann könnte man es ändern, um
keycloak/auth
Wenn Sie brauchen, um zu automatisieren, für docker, erstellen Sie einfach eine neue keycloak Bild :
3/Hinzufügen einige proxy-Informationen zu nginx-Konfiguration (meist für die http - /https-handling)
Wenn Sie proxyanforderungen von nginx zu keycloak auf dem gleichen server, ich empfehle
proxy_pass http://localhost:8087;
, und wenn nicht versuchen, Sie zu verwenden, einem privaten Netzwerk zu vermeiden proxying durch externe web-Anfragen.Hoffe, das hilft
Gebäude auf @Francois Maturel Antwort: für die neueste Keycloak (momentan 4.8.x), ich musste hinzufügen einer zusätzlichen Zeile zu ersetzen, die
web-context
imstandalone-ha.xml
sowie:Der Grund dafür ist, dass die
docker-entrypoint.sh
startup-Skript verwendenstandalone-ha.xml
- Konfiguration zusätzlich zustandalone.xml
es sei denn, die-c
- flag übergeben wird. Siehe hier: https://github.com/jboss-dockerfiles/keycloak/blob/master/server/tools/docker-entrypoint.shDen redirekt von "/keycloak" zu "/keycloak/auth" nicht funktioniert.
Der Redirekt Route in index.html und die Basis-URL fehlt das "/keycloak" Teil.
Ich hatte Folgendes hinzufügen: