我配置了一个带有 S3 存储桶源的 CloudFront 发行版,通常可以正常工作。但是,我收到以下错误。我知道这是一个常见问题,但我已经查看了所有指南和几篇 StackOverflow 帖子,并相信我已经正确配置了所有内容,但仍然遇到问题。
访问 XMLHttpRequest 来自原点的“https://cdn.bodes.io/img/bodes.clear.light.small.png” “https://bodes.io”已被 CORS 政策阻止:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
按照各种 AWS 指南,我在 S3 存储桶上设置了以下 CORS 策略:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
我还在 CloudFront 中设置了以下行为:
允许的 HTTP 方法:
GET, HEAD, OPTIONS
缓存 HTTP 方法:
+OPTIONS
缓存策略和源请求策略 - 缓存策略:
CachingOptimized
原产地请求政策:
CORS-S3Origin
响应标头政策 -
SimpleCORS - Allows all origins for simple CORS requests
我还使整个 Cloudfront 发行版失效。
有什么建议吗?
哦!结果响应标头策略需要是:
CORS-With-Preflight
显然,
XMLHttpRequest
是预检标题的一部分。