AWS - 对 XMLHttpRequest 的访问已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头

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

我配置了一个带有 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 发行版失效。

有什么建议吗?

amazon-s3 cors amazon-cloudfront
1个回答
0
投票

哦!结果响应标头策略需要是:

CORS-With-Preflight

显然,

XMLHttpRequest
是预检标题的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.