使用 SSL 的负载均衡器后面的 Keycloak 给出 "Mixed Content" 错误
Keycloak behind a Load Balancer with SSL gives a "Mixed Content" error
我已经在 GCP Compute Engine (VM) 上设置了 Keycloak(docker 容器)。设置 sslRequired=none
后,我可以通过 public IP(例如 http://33.44.55.66:8080)访问 Keycloak 并管理领域。
我已经配置了 GCP CLassic (HTTPS) 负载平衡器并添加了两个前端,如下所述。 Load Balancer 将请求转发到 VM 上的 Keycloak 实例。
在浏览器中,HTTP URL 工作正常,我能够登录到 Keycloak 并管理领域。但是,对于 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.
注意:我尝试了this建议,但没有用
有人可以帮忙吗?
我永远不会在纯 http 协议上公开 Keycloak。 Keyclok 管理控制台本身通过 OIDC 协议进行保护,OIDC 需要使用 https 协议。所以默认 sslRequired=EXTERNAL
是来自供应商的安全且智能的配置选项。
必须正确配置 SSL 卸载:
- 带有
PROXY_ADDRESS_FORWARDING=true
的 Keycloak 容器
- loadbalancer/reverse 代理(nginx、GCP Classic Load Balancer、AWS ALB,...)具有正确的请求 header
X-Forwarded-*
配置,因此 Keycloak 容器将知道正确的协议、域用于用户
我已经在 GCP Compute Engine (VM) 上设置了 Keycloak(docker 容器)。设置 sslRequired=none
后,我可以通过 public IP(例如 http://33.44.55.66:8080)访问 Keycloak 并管理领域。
我已经配置了 GCP CLassic (HTTPS) 负载平衡器并添加了两个前端,如下所述。 Load Balancer 将请求转发到 VM 上的 Keycloak 实例。
在浏览器中,HTTP URL 工作正常,我能够登录到 Keycloak 并管理领域。但是,对于 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.
注意:我尝试了this建议,但没有用
有人可以帮忙吗?
我永远不会在纯 http 协议上公开 Keycloak。 Keyclok 管理控制台本身通过 OIDC 协议进行保护,OIDC 需要使用 https 协议。所以默认 sslRequired=EXTERNAL
是来自供应商的安全且智能的配置选项。
必须正确配置 SSL 卸载:
- 带有
PROXY_ADDRESS_FORWARDING=true
的 Keycloak 容器
- loadbalancer/reverse 代理(nginx、GCP Classic Load Balancer、AWS ALB,...)具有正确的请求 header
X-Forwarded-*
配置,因此 Keycloak 容器将知道正确的协议、域用于用户