#docker #apache #proxy #keycloak #proxypass
Вопрос:
В настоящее время Keycloak выполняется в контейнере Docker (8080: 8080) и доступен во внешнем интерфейсе и консоли администратора с помощью ProxyPass из Apache, все в порядке. Есть ли способ для Keycloak напрямую сопоставить консоль администратора с / ?
ProxyPreserveHost on
RequestHeader set "Host" "auth.myapp.com"
RequestHeader set "X-Forwarded-For" "auth.myapp.com"
RequestHeader set "X-Forwarded-Server" "auth.myapp.com"
RequestHeader set "X-Forwarded-Proto" "https"
RequestHeader set "X-Forwarded-Port" "443"
RequestHeader set "X-Forwarded-Host" "auth.myapp.com"
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Когда я просматриваю https://auth.myapp.com интерфейс Keycloak будет перенаправлять меня на https://auth.myapp.com/auth и я должен дополнительно нажать на «Консоль администратора».
Вход в консоль администратора https://auth.myapp.com/auth/admin (и будет автоматически перенаправлен на https://auth.myapp.com/auth/realms/master/protocol/openid-connect/auth?client_id=security-admin-console ) — но после этого я вижу вход в систему из консоли администратора. Пока все хорошо. Но есть ли способ автоматического перенаправления на страницу консоли?
ProxyPass / http://localhost:8080/auth/realms
ProxyPassReverse / http://localhost:8080/auth/realms
Не работает
ProxyPass / http://localhost:8080/auth/admin
ProxyPassReverse / http://localhost:8080/auth/admin
Не работает
Спасибо за вашу помощь.
Комментарии:
1. Сделайте это перенаправление
/
->/auth/admin
на уровне Apache сRedirectMatch/RewriteRule
помощью .
Ответ №1:
Спасибо за подсказку. Это решает мою проблему.
ProxyPassMatch ^/auth(/(index.html)?)?$ !
RedirectMatch ^/auth(/(index.html)?)?$ /auth/admin