我正在从cors
启用的 cdn 加载我的所有项目资源,但是 html 导入在第一页加载时失败(然后在加载后成功)。
link(rel="import" id="htmlImports" href=`components.html` async)
产生以下错误:
s3 amazon No 'Access-Control-Allow-Origin' header is present on the requested resource.
我搜索了几乎所有相关页面并尝试了一百万个解决方案,例如:
- 在 s3 存储桶上添加 cors 标头,有人说范围解决了他们的问题,有人说暴露标头解决了他们的问题,我添加了所有并在它们之间切换,但同样的问题。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://*</AllowedOrigin>
<AllowedOrigin>https://*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<ExposeHeader>ETAG</ExposeHeader>
<ExposeHeader>Accept-Ranges</ExposeHeader>
<ExposeHeader>Content-Range</ExposeHeader>
<ExposeHeader>Content-Encoding</ExposeHeader>
<ExposeHeader>Content-Length</ExposeHeader>
<ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
<AllowedHeader>range</AllowedHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
在 cors 规范中,据说重复的 cors 标头会导致请求失败,所以我确保没有重复。
在服务器上启用预检请求并包含所有必需的配置(允许的标头等)。