Chrome S3 Cloudfront:初始和加载请求中没有“Access-Control-Allow-Origin”标头

时间:2017-10-25 12:10:37

标签: php google-chrome amazon-s3 cors amazon-cloudfront

我有一个网页使用角度js通过CloudFront CDN从S3加载一些图像文件。

在Chrome中,我会打开一个隐身窗口以及控制台。他们显示了一些错误消息 无法加载

http://cloudfront.net/image.png请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点'yyy'访问。

但是在火箱中没有问题所有图像都被加载。但我只面对铬的问题

我已检查,更改并重新检查S3和Cloudfront上的设置。在S3中,我的CORS配置如下所示:

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

并尝试我的.htaccess文件,如

<ifModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
</IfModule>

但错误显示在Chrome浏览器中,请任何正文帮助解决问题

1 个答案:

答案 0 :(得分:0)

添加Cloudfront“Edge-To-Origin”Origin标头以强制每个请求(xhr或非xhr)上的CORS响应标头:

原点---&gt; http://sub.domain.com