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

Posted

技术标签:

【中文标题】带有 https 的负载均衡器后面的 Keycloak Docker 失败【英文标题】:Keycloak Docker behind loadbalancer with https fails 【发布时间】:2018-04-14 13:29:24 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

使用环境变量PROXY_ADDRESS_FORWARDING=true

运行keycloak docker容器

在keycloak docker中看到documentation:

在代理后运行 Keycloak 时,您需要启用代理地址转发。

【讨论】:

【参考方案2】:

我不知道 A10,但是你必须确保它设置了请求头 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。

【讨论】:

对这个***.com/questions/48513451/…有任何想法吗?

以上是关于带有 https 的负载均衡器后面的 Keycloak Docker 失败的主要内容,如果未能解决你的问题,请参考以下文章

AWS负载均衡器后面的ASP.NET Core 2.1 HTTPS重定向?

如何在负载均衡器后面强制 Spring Security 发出 https 重定向请求

在 Google 前端负载均衡器后面运行时如何正确从 Spring Boot 2.3 重定向到 HTTPS

如何在弹性平衡器等负载平衡器后面设置双 http 和 https 服务器

是否可以在没有负载均衡器的情况下使用带有 SSL (HTTPS) 的 Amazon Elastic Beanstalk?

Azure 回复 url 在 AWS 负载均衡器后面总是不安全