这似乎是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: *");
无论我使用哪种浏览器,都会弹出这种情况。
答案 0 :(得分:0)
可能是预检OPTIONS请求正在通过授权过程。有没有办法禁用OPTIONS请求的授权(当然,如果您正在使用授权)?