使用 SSL 的负载均衡器后面的密钥斗篷给出"Mixed Content"错误



我已经在GCP计算引擎(VM(上设置了Key斗篷(docker容器(。在设置了sslRequired=none之后,我可以通过公共IP访问Key斗篷(例如。http://33.44.55.66:8080)并管理王国。

我已经配置了GCP CLassic(HTTPS(负载均衡器,并添加了两个前端,如下所述。负载均衡器将请求转发到虚拟机上的Keycloft实例。

  • HTTP:http://55.44.33.22/keycloak
  • HTTPS:https://my-domain.com/keycloak

在浏览器中,HTTP URL运行良好,我可以登录到Key斗篷并管理领域。然而,对于HTTPS URL,我得到以下错误

Mixed Content: The page at 'https://my-domain.com/auth/admin/master/console/' was loaded over HTTPS, but requested an insecure script 'http://my-domain.com/auth/js/keycloak.js?version=gyc8p'. This request has been blocked; the content must be served over HTTPS.

注意:我尝试过这个建议,但不起作用

有人能帮忙吗?

我永远不会在纯http协议上公开Key斗篷。Keyclok管理控制台本身通过OIDC协议进行安全保护,OIDC要求使用https协议。因此,默认sslRequired=EXTERNAL是供应商提供的安全且智能的配置选项。

SSL卸载必须正确配置:

  • 带有PROXY_ADDRESS_FORWARDING=true的Keycloft容器
  • 负载平衡器/反向代理(nginx,GCP Classic Load Balancer,AWS ALB,…(,具有正确的请求头X-Forwarded-*配置,因此Key斗篷容器将知道用户使用的正确协议和域

相关内容

最新更新