Amazon S3 - 不存在“Access-Control-Allow-Origin”标头

时间:2018-02-16 08:30:51

标签: amazon-s3 http-headers cors amazon

这似乎是StackOverflow上的一个热门话题,但我还没有找到解决问题的方法。我正在使用WavesurferJS从S3存储桶中获取音频并在播放曲目时生成波形。

现在,每当我按下一首曲目上的播放时,歌曲就开始播放,但波形不会开始生成,我得到臭名昭着的Failed to load http://s3bucket-url.com: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://production.env.com' is therefore not allowed access.

我试图摆弄S3存储桶上的CORS设置,目前看起来像这样

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>HEAD</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>Authorization</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

我也尝试在AllowedOrigin中添加生产环境的网址,但似乎没有效果。

在从存储桶中抓取流文件的PHP文件中,我还添加了header("Access-Control-Allow-Origin: *");

无论我使用哪种浏览器,都会弹出这种情况。

1 个答案:

答案 0 :(得分:0)

可能是预检OPTIONS请求正在通过授权过程。有没有办法禁用OPTIONS请求的授权(当然,如果您正在使用授权)?