2.4.4. 迁移主机名和代理配置
在 Red Hat build of Keycloak 中,您现在被义务来配置 Hostname SPI,以便在重定向用户或与其客户端通信时,服务器将如何创建前端和后端 URL。
例如,如果您有一个类似于 Red Hat Single Sign-On 7.6 安装中的配置:
<spi name="hostname">
<default-provider>default</default-provider>
<provider name="default" enabled="true">
<properties>
<property name="frontendUrl" value="myFrontendUrl"/>
<property name="forceBackendUrlToFrontendUrl" value="true"/>
</properties>
</provider>
</spi>
您可以在红帽构建的 Keycloak 中将其转换为以下配置选项:
kc.sh start
--hostname myFrontendUrl
hostname 配置选项允许您设置集群从集群前面的入口层公开到公共的基本 URL。您还可以通过设置 hostname-admin 配置选项来为管理资源设置 URL。
红帽构建的 Keycloak 允许您配置应反映哪些反向代理标头。您可以使用 Forwarded 标头或 X-ForwardedDebug 标头集合。例如:
kc.sh start --proxy-headers xforwarded
主机名和代理配置用于确定资源 URL (redirect URI、CSS 和 JavaScript 链接、OIDC 已知的端点等),而不是主动阻止传入的请求。没有 hostname/proxy 选项更改红帽构建的 Keycloak 服务器侦听的实际绑定地址或端口 - 这负责 HTTP/TLS 选项。在 Red Hat Single Sign-On 7.6 中,强烈建议设置主机名,但不强制设置。在 Red Hat build of Keycloak 中,现在需要使用 start 命令时,除非使用 --hostname-strict=false 选项明确禁用。