ProxyPass для перенаправления консоли администратора с скрытыми ключами

#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