今天我收到了一封来自谷歌的邮件:
https://example.com/上对 SharedArrayBuffers 的新要求
Google 系统最近检测到在https://example.com/上使用了SharedArrayBuffers (SAB) ,但不提供COOP和/或COEP标头。
出于网络兼容性的原因,Chrome 计划从 Chrome 91 (2021-25-05) 开始要求 COOP/COEP 才能使用 SAB。请在您的网站上实施“跨域隔离”行为。
今天下午我一直在读这个,但我完全迷路了!
我在我的网站上大量使用了以下内容:
- 来自 Freestar.io 的广告
- 托管在 AWS 存储桶中的静态内容(JS、CSS 和一些图像)
- iframe 中来自 Youtube 和 Vimeo 的内容
- 从各种 CDN 引导 CSS、JS 和 jQuery
我已经检查了来自 CDN 的标头,并且可以看到cross-origin-resource-policy
设置为cross-origin
,因此,如果我在我的网站上设置这些标头:
Cross-Origin-Embedder-Policy
=require-corp
Cross-Origin-Opener-Policy
=same-origin
cross-origin-resource-policy: cross-origin
然后,只要我在crossorigin
此处包含选项,就可以显示来自 CDN 的内容,其中提供的内容的标题包含标题:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" crossorigin>
但是,我查看了其他各种站点,但它们没有这些标题。这些网站包括以下内容:
- AWS
- Freestar.io 广告
- Youtube 和 Vimeo
我的问题是:
- 有谁知道是否可以配置 AWS 存储桶,以便存储桶提供的内容包含
cross-origin-resource-policy
标头?我已经搜索但找不到任何东西来解释如何做到这一点。 - 一旦 Chrome 更改为实施,广告和视频将不再显示
require COOP/COEP for the use of SABs
,如果是这样,这只是我被困住并且无能为力的事情,因为我无法让外部网站在他们的内容中包含该标题服务?