'来自原产地' http://example.com'被CORS政策阻止:No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://example.com'因此不允许访问。
我正在使用亚马逊cloudfront for CDN。有人可以告诉我为什么我仍然无法看到Access-Control-Allow-Origin:" *"?
MY S3 cors
答案 0 :(得分:2)
这是我的设置,你需要在S3中编辑CORS以及在CloudFront中编辑
<?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>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我不知道它是否是协议的一部分,但它是我设置CORS呼叫的唯一方法
您还需要将您的CDN行为Origin
列入白名单
像:
答案 1 :(得分:1)
我写这个答案是因为我被这个问题困了将近一天。
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
我已经完成了上述更改,但仍然一次又一次地面临同样的问题。我通过禁用 API 的缓存解决了这个问题。我使用 fetch
调用 s3 URL。下面是它的代码。
fetch(
<s3 URL>,
{
method: 'GET',
headers: { "Cache-Control": 'no-cache' },
}
)