Amazon s3 如何解决;否';访问控制允许原点';标题出现在请求的资源上;错误?

Amazon s3 如何解决;否';访问控制允许原点';标题出现在请求的资源上;错误?,amazon-s3,cors,amazon-cloudfront,Amazon S3,Cors,Amazon Cloudfront,我有两个S3桶。一个是图像和pdf数据(通过CloudFront),另一个是静态托管在s3上。当我从URL调用图像时,它被加载,但当我调用pdf时,它显示以下错误:--> “从源“url”获取“pdf链接”的访问已被CORS策略阻止:请求的资源上不存在“Access Control Allow origin”标头。如果不透明响应满足您的需要,请将请求的模式设置为“No CORS”,以获取禁用CORS的资源。” 为了解决这个问题,我设置了S3 CORS策略 <?xml version="1.

我有两个S3桶。一个是图像和pdf数据(通过CloudFront),另一个是静态托管在s3上。当我从URL调用图像时,它被加载,但当我调用pdf时,它显示以下错误:-->

“从源“url”获取“pdf链接”的访问已被CORS策略阻止:请求的资源上不存在“Access Control Allow origin”标头。如果不透明响应满足您的需要,请将请求的模式设置为“No CORS”,以获取禁用CORS的资源。”

为了解决这个问题,我设置了S3 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>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

*
得到
头
邮递
放
*
我还设置了cloudfront,将“访问控制请求头”、“访问控制请求方法”、“来源”这些错误列为白名单,并选择GET、PUT和OPTIONS


建议我如何解决这个错误?

最后,我克服了这个问题。主要问题是将协议从“HTTP重定向到HTTPS”。 当我从HTTP发送请求时,CloudFront会在HTTPS上重定向它。通过此重定向,我的图像正在加载,但pdf没有加载,重定向过程中失败。 然后我将CloudFront的查看器控制协议更改为仅HTTPs,现在它可以工作了。 您还可以将其设置为HTTP和HTTPS