Juste testé que @Home, et en fait plusieurs ajouts de configuration sont nécessaires:
1/Exécuter le conteneur keycloak avec env -e PROXY_ADDRESS_FORWARDING=true
comme expliqué dans la documentation, il est nécessaire d'une manière proxy d'accéder à keycloak :
docker run -it --rm -p 8087:8080 --name keycloak -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak:latest
a également expliqué dans ce SO question
2/Modifier la web contexte à l'intérieur du fichier de configuration de keycloak $JBOSS_HOME/standalone/configuration/standalone.xml
points de configuration par défaut keycloak à auth
<web-context>auth</web-context>
Ensuite, vous pouvez changer à keycloak/auth
<web-context>keycloak/auth</web-context>
Si vous avez besoin d'automatiser cela pour docker, il suffit de créer une nouvelle l'image keycloak:
FROM jboss/keycloak:latest
USER jboss
RUN sed -i -e 's/<web-context>auth<\/web-context>/<web-context>keycloak\/auth<\/web-context>/' $JBOSS_HOME/standalone/configuration/standalone.xml
3/Ajouter des informations proxy à nginx configuration (principalement pour http/https manipulation)
location /keycloak {
proxy_pass http://example.com:8087;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Si vous mandatement demandes de nginx à keycloak sur le même serveur, je recommande d'utiliser proxy_pass http://localhost:8087;
, et si essayez de ne pas utiliser un réseau privé pour éviter de passer par des requêtes Web externes.
Hope this helps
suggestion FrancoisMaturel: 'lieu/keycloak {proxy_pass http://example.com:8087/keycloak;}' @ FrançoisMaturel J'ai essayé ce que vous suggérez, mais cela n'a pas fonctionné –