Я настроил сервер Keycloak с Apache на переднем плане, выступающим в качестве обратного прокси-сервера. Keycloak работает только в режиме http, весь SSL обрабатывается Apache. Я настроил всю систему в соответствии с официальной документацией Keycloak.
Проблема, с которой я столкнулся, заключается в том, что при доступе к консоли администратора Keycloak с компьютера, отличного от локального хоста, страница пуста (кроме панели навигации). При доступе с компьютера, на котором он размещен (localhost), он работает нормально, но при доступе с любого другого компьютера просто показывает пустую страницу. Сервер также не выдает никаких ошибок. Ниже я прикрепляю изображение пустой страницы администратора.
(источник: firefoxusercontent.com)
Еще одно замечание: другие страницы, например страница моей учетной записи, работают нормально. Проблема только с главной админкой. Кроме того, я заметил, что страница администратора — это приложение Angular, так что это может иметь значение.
Соответствующие конфигурации и настройки, которые я использую.
Настройки Keycloak (команды CLI).
embed-server --server-config=standalone.xml
/subsystem=undertow/server=default-server/http-listener=default/:write-attribute(name=proxy-address-forwarding,value=true)
/socket-binding-group=standard-sockets/socket-binding=proxy-https/:add(port=443)
/subsystem=undertow/server=default-server/http-listener=default/:write-attribute(name=redirect-socket,value=proxy-https)
Конфигурация Apache.
<VirtualHost *:80>
DocumentRoot /var/www/html
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Redirect permanent '/' https://%{HTTP_HOST}
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/html
ProxyPreserveHost On
ProxyRequests Off
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
ProxyPass /auth http://127.0.0.1:8080/auth
ProxyPassReverse /auth http://127.0.0.1:8080/auth
SSLEngine on
SSLCertificateFile /etc/ssl/certs/oauth-server.crt
SSLCertificateKeyFile /etc/ssl/private/oauth-server.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
увидел очень похожую проблему. вы когда-нибудь решали это?
попробуйте добавить
Header set X-Frame-Options SAMEORIGIN
в конфигурацию apache. См. coderhelper.com/questions/17092154/x-frame-options-on-apacheДля меня заголовок всегда сбрасывал параметры X-Frame-Options в виртуальном хосте Keycloak.
Вы когда-нибудь решали это?
@Kyle Никогда не решал эту проблему, также я отказался от этого проекта, поэтому не стал продолжать. Вы можете попробовать решения, упомянутые другими пользователями.