【问题标题】:How to serve AWS S3 file with Access-Control-Allow-Origin: * header如何使用 Access-Control-Allow-Origin 提供 AWS S3 文件:* 标头
【发布时间】:2021-05-15 05:38:06
【问题描述】:

我在 S3 中有一个 JS 文件,它被 Cloudflare CDN 拾取,然后最终在前端提供服务。现在一些最终用户有 CORS 错误。所以我想将Access-Control-Allow-Origin: * 添加到这个文件中。据我所知,cloudflare 会自动传递它获取的标头,因此我试图找出一种方法来添加从 S3 中挑选的标头。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html#how-do-i-enable-cors

找到了这个指南,但我不确定如何在其中使用 JSON。

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "http://mydoman.com"
        ],
        "MaxAgeSeconds": 3000
    }
]

这看起来对吗?有没有人在从 s3 提供文件时添加过这样的自定义标头?有人可以建议正确的 JSON 吗?还是其他需要的东西?

【问题讨论】:

  • 你试过上面的JSON吗?
  • 还没有,该文件正在提供给许多客户。最初我正在尝试制作一个新文件,并尝试使用它但还没有运气,所以我想也许有人已经遇到过这个问题并且可以提出一些建议,也许我缺少一些东西。我认为也有一种方法可以使用 Cloudflare 工作者来做到这一点,但这似乎更复杂。

标签: amazon-web-services amazon-s3 cors cloudflare same-origin-policy


【解决方案1】:

假设其他设置正确,您希望:

[
  {
    "AllowedHeaders": [
        "*"
    ],
    "AllowedMethods": [
        "GET"
    ],
    "AllowedOrigins": [
        "*"
    ],
    "MaxAgeSeconds": 3000
  }
]

当添加到 S3 存储桶属性的“权限”选项卡最底部的 CORS 字段中时,这最终会生成 Access-Control-Allow-Origin: * 标头。

【讨论】:

  • 这不起作用。 s3 图像不发送任何标头。
猜你喜欢
  • 2016-07-21
  • 2013-07-08
  • 2016-01-11
  • 2018-07-27
  • 1970-01-01
  • 2016-09-25
  • 2019-02-07
  • 2021-10-01
相关资源
最近更新 更多