如何使用反向代理修复 Keycloak 中的“我们很抱歉需要 HTTPS”?
Posted
技术标签:
【中文标题】如何使用反向代理修复 Keycloak 中的“我们很抱歉需要 HTTPS”?【英文标题】:How to fix "We're sorry HTTPS required" in Keycloak with reverse proxy? 【发布时间】:2019-09-10 11:52:06 【问题描述】:当我尝试使用 SSL/HTTPS 访问 Azure 网关(反向代理)后面的 Keycloak 6 时,我的浏览器中出现 “抱歉,需要 HTTPS” 错误。在我看到的 Keycloak 日志中
[org.keycloak.events](默认任务 2)type=LOGIN_ERROR,realmId=master,clientId=null,userId=null,ipAddress=x.x.x.x,error=ssl_required
我假设我在此过程中配置错误,但我无法弄清楚它是什么。
我按照以下说明在反向代理后面的 Keycloak 6 中设置 SSL:
https://www.keycloak.org/docs/latest/server_installation/index.html#setting-up-https-ssl
我没有创建/导入任何证书,因为指南说“如果您没有使用反向代理或负载平衡器来为您处理 HTTPS 流量,您需要为 Keycloak 服务器启用 HTTPS。这涉及 获取或生成包含 SSL/HTTP 流量的私钥和证书的密钥库 配置 Keycloak 服务器以使用此密钥对和证书。”
我的问题是,我是否需要创建/导入证书,即使我在反向代理后面?如果没有,还有其他想法吗?
请注意:我正在运行 Keycloak 独立服务器,而不是将其用作任何其他服务器容器(如 Wildfly)的覆盖层
【问题讨论】:
【参考方案1】:在这个帖子上找到了答案。
why is keycloak removing the SSL in the redirect uri?
底线,您不需要生成/安装证书并且有一个未记录的属性
proxy-address-forwarding="true"
【讨论】:
以上是关于如何使用反向代理修复 Keycloak 中的“我们很抱歉需要 HTTPS”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 中将 keycloak 与不同的上下文根和反向代理集成
使用 nginx 作为反向代理和 keycloak 作为上游服务器的组合失败
keycloak + spring 适配器 +spring security 反向代理重定向到root
使用自定义基本 URL 为 Keycloak docker 配置反向代理