【问题标题】:KeyCloak - ingress does not allow connecting over https serviceKeyCloak - 入口不允许通过 https 服务连接
【发布时间】:2021-03-09 12:50:28
【问题描述】:

我已经使用 helm 安装了 keycloak。 创建一个 Traefik 入口以允许公共访问

从 localhost:8080 创建管理员密码后,我只能在端口转发和本地访问时登录管理控制台。

当我使用公共 url 并单击管理控制台时,它会重定向到 https://website/auth/admin/master/console/ 并显示一个空白页面。

我发现了问题,但是当我更改 servicePort: https inside ingress 时,我得到一个内部服务器错误 状态码 500。

当我使用 http 端口时,我收到以下错误: 混合内容:“https://url/auth/admin/master/console/”页面通过 HTTPS 加载,但请求了不安全的脚本“http://url/auth/js/keycloak.js?version=mxda6 '。此请求已被阻止;内容必须通过 HTTPS 提供。

混合内容:“https://url.ca/auth/admin/master/console/”页面通过 HTTPS 加载,但请求了不安全的脚本“http://url/auth/js/keycloak. js?版本=mxda6'。此请求已被阻止;内容必须通过 HTTPS 提供。

我查看了 traefik 日志:

level=debug msg="'500 Internal Server Error' cause: x509: cannot validate certificate for x.x.x.x because it does not contain any IP SANs"

【问题讨论】:

    标签: keycloak keycloak-services keycloak-rest-api keycloak-connect


    【解决方案1】:

    我遇到了同样的问题。白屏没有帮助,但浏览器控制台有帮助。它正在阻止混合内容,即脚本http://url/auth/js/keycloak.js?version=mxda6

    Docker Hub 上的文档说:

    指定前端基本 URL

    要为前端请求设置一个固定的基本 URL,请使用以下环境值(强烈建议在生产环境中这样做):

    • KEYCLOAK_FRONTEND_URL:指定 Keycloak 的基本 URL(可选,默认从请求中检索)

    我在清单中提供了带有 https 方案的外部 url,并且有问题的脚本现在作为 https url 出现在 index.html 中。

    - name: KEYCLOAK_FRONTEND_URL
      value: "https://url/auth"
    

    既然是“强烈推荐”,我想如果没有这个变量集,会有更多的小问题,比如其他链接生成错误,例如在电子邮件中,虽然我还没有检查过。

    【讨论】:

      【解决方案2】:

      我找到了一个修复程序,但它仍然没有回答我的问题,为什么当入口指向 https 时,它不起作用。有答案吗?

      所以解决方法是在 statefulset keycloak 部署中的 ENV 下添加它。 在ingress中,服务端口是http

                  - name: PROXY_ADDRESS_FORWARDING
                    value: "true"
      

      我在https://github.com/eclipse/che/issues/9429找到它

      【讨论】:

        猜你喜欢
        • 2023-03-31
        • 2018-10-04
        • 2014-01-27
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        • 2017-05-06
        相关资源
        最近更新 更多