无法访问我的Amazon S3存储桶中的跨域内容

时间:2019-01-29 16:08:45

标签: amazon-web-services amazon-s3 cors

因此,我有一个网站可以通过API调用从其他网站获取一些内容。我已在Amazon S3存储桶设置中启用了CORS配置,并添加了以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>https://mywebsite.com</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

但是,浏览器反馈提到我仍然不允许跨源。
在此配置中我忘记了什么?

1 个答案:

答案 0 :(得分:1)

我犯了一个愚蠢的错误,但以某种方式认为我可能不是唯一的一个。因此,我将分享遇到相同问题的人的经历。

如果您的 www.domain.com 需要获取一些文件或必须进行一些API调用来自 www.domain2.com ;那么domain2必须允许CORS,而不能相反。

www.domain.com <-----获取文件<----- www.domain2.com(具有Access-Control-Allow-Origin)

因为幸运的是第二个域在我的同样收费,我只是在.htaccess中添加了以下内容:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"