第 18 章 配置管理界面
管理接口允许通过与主 HTTP 服务器不同的 HTTP 服务器访问管理端点。它提供隐藏外部世界中的 /metrics
或 /health
等端点,从而强化安全性。Kubernetes 环境中可能会看到最重要的优势,因为特定的管理端口可能无法公开。
18.1. 管理界面配置
当其上公开内容时,将开启管理界面。启用指标和健康时,在默认的管理端口 9000
上公开管理端点,如 /metrics
和 /health
。管理界面提供了一组选项,并且是完全可配置的。
如果没有显式设置管理接口属性,则它们的值会自动从默认的 HTTP 服务器继承。
18.1.1. port
要更改管理界面的端口,您可以使用红帽 build of Keycloak 选项 http-management-port
。
18.1.2. 相对路径
您可以更改管理界面的相对路径,因为管理端点的前缀路径可能会有所不同。您可以通过红帽构建的 Keycloak 选项 http-management-relative-path
实现它。
例如,如果您设置了 CLI 选项 --http-management-relative-path=/management
,则指标和健康端点将在 /management/ metrics 和
路径上访问。
/management
/health
在指定相对路径时,用户会 自动重定向到 托管 Red Hat build of Keycloak 的路径。这意味着,当相对路径设置为 /management
,并且用户访问 localhost:9000/
时,该页面会被重定向到 localhost:9000/management
。
如果没有显式设置它的值,则使用 http-relative-path
属性中的值。例如,如果您设置了 CLI 选项 --http-relative-path=/auth
,这些端点可以在 /auth/metrics
和 /auth/health
路径上访问。
18.1.3. TLS 支持
当为默认红帽构建的 Keycloak 服务器设置了 TLS 时,管理界面也可以通过 HTTPS 访问。管理接口只能在 HTTP 或 HTTPS 上运行,不能同时在主服务器上运行。
为管理 HTTP 服务器设置不同的 TLS 参数提供了前缀 https-management
expectations 的特定红帽构建的 Keycloak 管理界面选项。它们的功能与主 HTTP 服务器的对应部分类似,请参阅 配置 TLS。如果没有显式设置这些选项,TLS 参数将继承到默认的 HTTP 服务器。
18.1.4. 禁用管理界面
当其上没有公开时,管理界面会自动关闭。目前,无论如何,都只会在管理界面上公开健康检查和指标。如果要在管理界面中禁用公开它们,请将红帽 Keycloak 属性的 build of legacy-observability-interface
设置为 true
。
出于安全原因,不建议在默认服务器上公开健康和指标端点,您应该始终使用管理界面。请注意,legacy-observability-interface
选项已弃用,并将在以后的发行版本中删除。它只允许您为迁移留出更多时间。