我在S3 + Cloudfront +签名的Url上坚持使用CORS。AWS CloudFront访问控制 - 允许来源和签名Cookie/Url
我的使用情况是:
第一个故事(成功):
我有一个Amazon S3存储用的Cloudfront。文件由
DOMAIN1/file
链接我写了一个简单的测试,JS脚本从DOMAIN1获取文件,并把它放在
DOMAIN2/test.html
- 我能够得到文件成功访问。 CORS很好。
第二种情况(太成功):
- 我用标识的URL限制云锋分布。
- 起初我试过的是在DOMAIN1 下访问一个文件,没有签名。被拒绝访问。没关系,因为请求没有签名。
- 我创建了一个签名的URL,并且能够成功下载该文件。
第三种情况(失败)
- 我把标识的URL(从第二种情况)的
DOMAIN2/test.html
测试脚本 - 并始终得到了
No 'Access-Control-Allow-Origin' header
错误。
因此,Cloudfront在分发受限的情况下不会发送头。
CORS XML是:
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://*</AllowedOrigin>
<AllowedOrigin>https://*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>10</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
它必须在CloudFront的/ S3/IAM设置一些问题。我如何解决它?
如果您可以从失败的案例中捕获请求和响应头文件,那么您将更容易理解您要报告的内容。 –