我们在我的网站上遇到了 Cloudfront 的 CORS 问题(仅限字体)。
从来源“http://example.com”访问“http://d2v777xrj.cloudfront.net/assets/simple-line-icons/fonts/Simple-Line-Icons-ff94ad94c3a9d04bd2f80cb3c87dcccb.woff”处的字体' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“http://example.com”。
参考资料(在查看参考资料后,发现这些参考资料对我有用。我没有在 S3 存储桶上添加任何 CORS。只有 Cloudfront 访问 S3)[根据您的情况,将
themes
更改为 assets
]
https://deliciousbrains.com/wp-offload-media/doc/font-cors/
http://thelazylog.com/ Correct-configuration-to-fix-cors-issue-with-cloudfront/
尝试了一切,但没有任何效果! 但解决方案非常简单,只需两步解决方案即可。
转到S3存储桶->权限->编辑:跨源资源共享(CORS)->粘贴以下配置。在大多数其他文章中,他们都犯了错误的标题错误。您必须将“Origin”放入AllowedHeaders中。
[
{
"AllowedHeaders": [
"Origin"
],
"AllowedMethods": [
"HEAD",
"GET"
],
"AllowedOrigins": [
"http://www.yourdomain.com",
"https://www.yourdomain.com",
"https://yourdomain.com",
"http://yourdomain.com"
],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
转到 Cloudfront->行为->默认(*)->编辑 将缓存和源请求设置更改为:使用旧缓存设置 将基于所选请求标头的缓存更改为:白名单 然后,将白名单标头添加到:Origin [仅]
2023 年 7 月更新:
应用以下更改后我的问题得到解决: