配置 Ingress 和 TLS
本指南描述了如何通过启用 TLS 加密,借助 Kubernetes Ingress 将 Keycloak 实例对外暴露,这对于生产部署是必需的。
TLS 配置模式
Alauda Build of Keycloak 支持两种不同的 TLS 模式。请选择与您的基础设施相匹配的模式:
本指南演示的是 Ingress TLS 模式(推荐用于大多数 Kubernetes 环境)。
前提条件
- 一个正在运行的 Keycloak 实例(参见 Install)。
- 适用于目标主机名的有效 TLS 证书和私钥。
- 已部署到集群中的 Ingress controller(例如 NGINX)。
步骤 1:创建 TLS Secret
使用您的证书和私钥创建一个 Kubernetes TLS Secret:
验证 Secret 是否已创建:
步骤 2:更新 Keycloak CR
更新您的 Keycloak CR,以启用带 TLS 的 Ingress 并配置主机名:
应用更新后的 manifest:
步骤 3:验证 Ingress
检查是否已创建 Ingress 资源,并且是否具有正确的主机名:
预期输出:
步骤 4:验证 HTTPS 访问
访问 https://keycloak.example.com 上的 Keycloak Admin Console,并确认连接是安全的。
检查 Keycloak 是否已就绪:
配置参考
代理头配置
在使用反向代理或 Ingress controller 时,必须正确设置 spec.proxy.headers。错误的配置可能会因信任伪造的头部而使 Keycloak 暴露于安全漏洞之中。