如何使用AWS S3和CloudFront解决CORS问题

时间:2019-06-17 09:35:21

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

因此,我尝试使用S3和CloudFront为客户端静态资产设置CDN,但是,当尝试在JS中提取存储在S3存储桶中的图像时,我们会收到CORS错误(为此,我们使用jsPDF ,然后使用图片生成.pdf文件)。我们正在使用自定义域名(assets.website.com)和AWS创建的SSL证书来从安全来源提供资产。

令人困惑的部分是,该配置有时会起作用-有时,资产在Chrome / Safari上以隐身模式或私有模式运行时,可以正确下载资源,但在此范围之外运行的资源很少。更新了CORS配置和最新的CloudFront行为设置之后,我尝试重新启动该站点所在的服务器,并对S3 / CloudFront中的每个文件运行无效,但是问题仍然存在。

有趣的是,将任何查询参数添加到URL都会通过CORS检查。

我一直在用https://test-cors.org进行测试,但似乎仍然遇到问题。

任何帮助实现此目的的方法将不胜感激,因为到目前为止我没有发现任何解决方法!

CORS配置:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>0</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Link to CloudFront Behaviour Configuration

0 个答案:

没有答案