Keycloak KeyClope。众所周知的/openid配置没有响应“0”;https";端点协议
我们在负载平衡器F5后面部署了KeyClope。OIDC客户端位于公共网络中,所有通信都使用“https”。SSL在F5中终止,数据包被转发到KeyClope(比如在端口8080上)。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
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时遇到了同样的问题