【问题标题】:Keycloak and reverse proxy issuesKeycloak 和反向代理问题
【发布时间】:2020-01-29 18:54:58
【问题描述】:

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

keycloak pod 还包含两个我们“借用”的 jar 文件,它们将 PKI 身份验证作为登录的一部分。

OpenShift 中配置的路由是 apache:apache pod 上的 tcp/443 到 tcp/8443 keycloak:keycloak pod 上的 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= 浏览器显示一个页面,其中提供了我的证书和我的用户帐户名称的详细信息,并带有一个继续按钮

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

问题是如何让 keycloak 将浏览器重定向到 tcp/443 上的https://proxy.domain.com

【问题讨论】:

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


    【解决方案1】:

    为了在认证后重定向到特定的 URL,您可以在客户端设置中使用 URL 重定向设置。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-05-20
        • 2019-10-01
        • 2012-10-12
        • 2019-07-05
        • 2017-07-09
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多