Safari 阻止同一域上的 iframe 内容

问题描述 投票:0回答:0

我最近将服务器从 MediaTemple 移到了 Heroku,用于为创意机构预览横幅广告的应用程序。这可能是巧合,但在移动主机/域后,横幅不会仅在 Safari(桌面/iOS)中加载。

该站点位于一个子域上,该子域具有使用 Heroku 的 ACM(非通配符)管理的 SSL 证书。

为了预览横幅广告,我通过 JS 创建了一个 iframe,并将 src 设置为横幅的安全 url,该 url 托管在同一域的子目录中。在网络选项卡中,我看到摘要和请求是安全的: screenshot1

但在 Safari 中,iframe 内容被阻止(在 Chrome/FF/Edge 中工作正常)。奇怪的是警告说不允许显示来自非安全 url 的不安全内容: screenshot2

使用 https 正确设置了 iframe src: screenshot3

我试过的几件事:

  • 将 iframe src URL 从相对更改为绝对(使用 https)
  • <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    添加到客户站点的索引
  • 将 .htaccess 添加到客户端站点的根目录以强制 https `RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} =http [或]

RewriteCond %{HTTP:X-Forwarded-Proto} ="" RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] `

但我仍然收到相同的警告,只有 Safari 上的空白 iFrame。

ssl heroku iframe safari mixed-content
© www.soinside.com 2019 - 2024. All rights reserved.