Ven*_*esh 6 amazon-s3 amazon-web-services amazon-cloudfront
' from origin ' http://example.com ' 已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头。因此不允许访问源“ http://example.com ”。
我正在为 CDN 使用 amazon cloudfront。有人可以告诉我为什么我仍然看不到 Access-Control-Allow-Origin:"*" 吗?
我的 S3 cors
ana*_*thi 18
我写这个答案是因为我被这个问题困扰了将近一天。
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
Run Code Online (Sandbox Code Playgroud)
我已经完成了上述更改,但仍然一次又一次面临同样的问题。我通过禁用 API 缓存解决了这个问题。我用来fetch调用 s3 URL。下面是它的代码。
fetch(
<s3 URL>,
{
method: 'GET',
headers: { "Cache-Control": 'no-cache' },
}
)
Run Code Online (Sandbox Code Playgroud)
这是我的设置,您需要在 S3 中以及在 CloudFront 中编辑 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>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
我不知道它是否是协议的一部分,但这是我为 CORS 调用设置的唯一方法
您还需要将Origin您的 CDN 行为列入白名单
喜欢:
| 归档时间: |
|
| 查看次数: |
6269 次 |
| 最近记录: |