Chrome S3 Cloudfront:在初始请求时,没有“Access-Control-Allow-Origin”标头
我有一个网页( https://smartystreets.com/contact ),它使用jQuery从S3通过CloudFront CDN加载一些SVG文件。 在Chrome中,我将打开一个隐身窗口以及控制台。 然后我将加载页面。 在加载页面时,我通常会在控制台中看到6到8个类似于以下内容的消息: XMLHttpRequest cannot load https://d79i1fxsrar4t.cloudfront.net/assets/img/feature-icons/documentation.08e71af6.svg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://smartystreets.com' is therefore not allowed access. 如果我做了一个标准的页面重新载入,甚至多次,我仍然得到相同的错误。 如果我做了Command+Shift+R那么大多数,有时甚至所有的图像都会加载,而不会出现XMLHttpRequest错误。 有时甚至在图像加载之后,我将刷新,并且一个或多个图像将不会加载并再次返回XMLHttpRequest错误。 我已经检查,更改并重新检查了S3和Cloudfront上的设置。 在S3中,我的CORSconfiguration如下所示: <?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> (注意:最初只有<AllowedOrigin>*</AllowedOrigin> ,同样的问题。) 在CloudFront中,分配行为设置为允许HTTP方法: GET, HEAD, OPTIONS 。 caching的方法是一样的。 转发头设置为“白名单”,白名单包括“访问控制请求头,访问控制请求方法,来源”。 […]