带有 https 的负载均衡器后面的 Keycloak Docker 失败

Keycloak Docker behind loadbalancer with https fails

我正在尝试在 A10 负载平衡器后面使用集群 keycloak docker。我正在尝试通过 https 从客户端应用程序访问所有请求。我的问题是,当我们尝试访问具有 HTTP 的密钥斗篷时,相同的设置正在运行,但同时当我们尝试访问具有 HTTPS 的密钥斗篷时,它不起作用。谁能帮我解决这个问题?请让我知道问题是在 keycloak 级别还是 A10 负载均衡器级别。

我不知道 A10,但你必须确保它设置了请求 headers X-Forwarded-ForX-Forwarded-Proto。 然后你必须配置 Keycloak(Wildfly,Undertow)与 SSL 终止反向代理(又名负载平衡器)一起工作。 有关详细说明,请参阅 http://www.keycloak.org/docs/latest/server_installation/index.html#_setting-up-a-load-balancer-or-proxy

我知道这是一个较旧的问题,但我在任何地方都找不到令人满意的答案,我想分享我的解决方案。这最终在带有 Application Load Balancer 的 AWS 环境中对我有用:

运行 带有环境变量 PROXY_ADDRESS_FORWARDING=true

的 keycloak docker 容器

如密钥斗篷中所示 docker documentation:

When running Keycloak behind a proxy, you will need to enable proxy address forwarding.