我最近将服务器从 MediaTemple 移到了 Heroku,用于为创意机构预览横幅广告的应用程序。这可能是巧合,但在移动主机/域后,横幅不会仅在 Safari(桌面/iOS)中加载。
该站点位于一个子域上,该子域具有使用 Heroku 的 ACM(非通配符)管理的 SSL 证书。
为了预览横幅广告,我通过 JS 创建了一个 iframe,并将 src 设置为横幅的安全 url,该 url 托管在同一域的子目录中。在网络选项卡中,我看到摘要和请求是安全的:
但在 Safari 中,iframe 内容被阻止(在 Chrome/FF/Edge 中工作正常)。奇怪的是警告说不允许显示来自非安全 url 的不安全内容:
我试过的几件事:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
添加到客户站点的索引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。