5.2. 使用示例
以下是更多示例场景以及设置主机名的对应命令。
请注意,start
命令需要设置 TLS。例如,不会显示对应的选项。如需了解更多详细信息,请参阅配置 TLS。
5.2.1. 在 TLS 终止代理后面公开服务器
在这个示例中,服务器在 TLS 终止代理后面运行,并从 https://mykeycloak
公开。
配置:
bin/kc.[sh|bat] start --hostname=mykeycloak --http-enabled=true --proxy-headers=forwarded|xforwarded
5.2.2. 在没有代理的情况下公开服务器
在本例中,服务器在没有代理的情况下运行,并使用 HTTPS 使用 URL 公开。
红帽构建的 Keycloak 配置:
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak
出于安全性和可用性的原因,强烈建议在服务器前面使用 TLS 终止代理。如需了解更多详细信息 ,请参阅使用反向代理。
5.2.3. 强制后端端点使用服务器公开的相同 URL
在本例中,后端端点使用服务器使用的同一 URL 来公开,以便无论请求的来源如何,客户端始终获取相同的 URL。
红帽构建的 Keycloak 配置:
bin/kc.[sh|bat] start --hostname=mykeycloak --hostname-strict-backchannel=true
5.2.4. 使用默认端口以外的端口公开服务器
在本例中,服务器可以通过默认端口以外的端口访问。
红帽构建的 Keycloak 配置:
bin/kc.[sh|bat] start --hostname-url=https://mykeycloak:8989
5.2.5. 使用不同端口在 TLS 重新加密代理后公开红帽构建的 Keycloak
在本例中,服务器在代理后面运行,服务器和代理都使用自己的证书,因此红帽构建的 Keycloak 和代理之间的通信是加密的。反向代理使用 Forwarded
标头,且不会设置 X-Forwardedjpeg
标头。我们需要记住代理配置选项(以及主机名配置选项)不会更改服务器实际侦听的端口(它只更改 JavaScript 和 CSS 链接、OIDC 已知端点、重定向 URI 等)。因此,我们需要使用 HTTP 配置选项将红帽构建的 Keycloak 服务器更改为内部侦听不同的端口,如 8543。代理将侦听端口 8443 (通过浏览器访问控制台时可见的端口)。示例主机名 my-keycloak.org
将用于服务器,类似管理控制台将可通过 admin.my-keycloak.org
子域访问。
红帽构建的 Keycloak 配置:
bin/kc.[sh|bat] start --proxy-headers=forwarded --https-port=8543 --hostname-url=https://my-keycloak.org:8443 --hostname-admin-url=https://admin.my-keycloak.org:8443
使用 proxy-headers
选项分别依赖 Forwarded
和 X-Forwarded
mysql 标头,该标头必须被反向代理设置和覆盖。错误配置可能会使红帽构建的 Keycloak 暴露给安全问题。如需了解更多详细信息 ,请参阅使用反向代理。