Keycloak KeyClope。众所周知的/openid配置没有响应“0”;https";端点协议

Keycloak KeyClope。众所周知的/openid配置没有响应“0”;https";端点协议,keycloak,openid-connect,Keycloak,Openid Connect,我们在负载平衡器F5后面部署了KeyClope。OIDC客户端位于公共网络中,所有通信都使用“https”。SSL在F5中终止,数据包被转发到KeyClope(比如在端口8080上)。 OIDC客户端的设计方式是使用它在响应.众所周知的/openid配置请求时接收的端点(如/token等) 这里的问题是,。众所周知的配置使用协议为http的URL对所有端点进行响应,其中as客户端希望协议为https。由于此原因,客户端无法与这些URL建立安全连接 问题是-我们如何对进行响应。众所周知的/open

我们在负载平衡器F5后面部署了KeyClope。OIDC客户端位于公共网络中,所有通信都使用“https”。SSL在F5中终止,数据包被转发到KeyClope(比如在端口8080上)。
OIDC客户端的设计方式是使用它在响应
.众所周知的/openid配置
请求时接收的端点(如
/token
等)

这里的问题是,
。众所周知的
配置使用协议为
http
的URL对所有端点进行响应,其中as客户端希望协议为
https
。由于此原因,客户端无法与这些URL建立安全连接

问题是-我们如何对
进行响应。众所周知的/openid配置
使用协议
https
的端点请求返回;就像下面提到的

{
  "issuer":"https://<domain>/auth/realms/master",
  "authorization_endpoint":"https://<domain>/auth/realms/master/protocol/openid-connect/auth",
  "token_endpoint":"https://<domain>/auth/realms/master/protocol/openid-connect/token"
  .......
}
{
“发行人”:https:///auth/realms/master",
“授权\u终结点”:https:///auth/realms/master/protocol/openid-connect/auth",
“令牌\u终结点”:https:///auth/realms/master/protocol/openid-connect/token"
.......
}
我们遵循了报告中提到的步骤

也就是说,在F5中添加了
x-Forwarded-For
x-Forwarded-Proto
,并按照文档中的说明进行了相应的KeyClope配置更改。
是否有我可能缺少的配置或设置?

根据我收集的信息,可以在领域级别上完成(我没有亲自使用过)。虽然这是一个漫长的解释过程,但完全超出了本答案的范围。相反,我提供了指向文档的链接


我已经为同样的问题挣扎了好几天,最后终于解决了。问题在于,当在代理后运行时,keydape使用
X-Forwarded-Proto
HTTP头来确定传入的请求是否是通过HTTPS发出的。您的负载平衡器(在我的例子中是AWS ELB)需要正确设置此标头(请参阅)

使用ELB时,您需要确保:

  • 您的侦听器设置为
    HTTPS
  • 您的侦听器设置为
    TCP
    ,接收后端支持

  • 在我的例子中,我的侦听器被设置为
    TCP
    ,但后端没有相应地配置。我发现和Kubernetes都支持这个选项。

    您能解决这个问题吗?我在Kubernetes入口后面使用Keyclope时遇到了同样的问题