Keycloak和反向代理问题

时间:2020-01-29 18:54:58

标签: apache openshift keycloak keycloak-services keycloak-gatekeeper

我正在OpenShift项目上运行Keycloak,并且有4个Pod正在运行: keycloak(v8.0.1配置为使用TLS监听8443), keycloakdb(PostgreSQL DB), 代理(Apache 2.4反向代理),以及 门户(我们开发的用于处理与其他应用程序连接的应用程序)。

keycloak容器还包含两个我们“借用”的jar文件,这些文件在登录时实现了PKI身份验证。

在OpenShift中配置的路由是 apache:在apache pod上的tcp / 443到tcp / 8443 密钥斗篷:密钥斗篷吊舱上的tcp / 443到tcp / 8443,并且

当前状态: 与https://proxy.domain.com的连接被重定向到https://keycloak.domain.com进行身份验证 https://keycloak/domain.com要求我的证书进行2向TLS身份验证 然后重定向到https://keycloak.domain.com/auth/auth?response_type=code&scope=openid&client=potal&state=&redirect_uri = https://proxy.domain.com/redirect_uri&nonce= 浏览器将显示一个页面,其中提供了我的证书和我的用户帐户名称的详细信息,并带有一个继续按钮

点击继续按钮,POST到https://keycloak.domain.com 然后将浏览器重定向到https://proxy.domain.com:8443 由于没有到https://proxy.domain.com:8443的路由,因此连接超时。

问题是如何获取密钥斗篷以将浏览器重定向到tcp / 443上的https://proxy.domain.com

2 个答案:

答案 0 :(得分:0)

URL redirect in client setting

要在身份验证后重定向到特定URL,可以在客户端设置中使用URL重定向设置。

答案 1 :(得分:0)

问题是身份验证请求中的redirect_uri。它指向proxy.domain.com而不是门户。

redirect_uri由门户中的OAuth 2.0客户端代码设置。门户软件可能会认为其自己的URL以proxy.domain.com开头。

因此,请在门户网站中调查并修复OAuth 2.0代码(可能只是配置问题)。