在AWS S3和CloudFront中,当加载字体时遇到CORS(跨域资源共享)问题时,可以通过以下方法解决:
[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET"],
"AllowedOrigins": ["*"],
"ExposeHeaders": []
}
]
上述配置允许所有来源(AllowedOrigins
)的GET请求(AllowedMethods
)访问该S3桶中的字体文件。如果你只希望特定的来源可以访问字体文件,可以将AllowedOrigins
设置为相应的URL。
{
"AllowedMethods": [
"GET", "HEAD", "OPTIONS"
],
"CachedMethods": [
"GET", "HEAD", "OPTIONS"
],
"ForwardedValues": {
"QueryString": false,
"Cookies": {
"Forward": "none"
},
"Headers": {
"Quantity": 0
},
"QueryStringCacheKeys": {
"Quantity": 0
}
},
"MinTTL": 0,
"DefaultTTL": 86400,
"MaxTTL": 31536000,
"Compress": true
}
上述配置允许对字体文件的GET、HEAD和OPTIONS请求,并且禁用了查询字符串(QueryString
)和Cookie(Cookies
)的转发,确保请求的Header中没有包含任何自定义的Header(Headers
)。
https://[CloudFront域名]/[字体文件路径]
的链接。通过以上方法配置后,应该可以解决AWS S3和CloudFront中加载字体时的CORS问题。记得清除浏览器缓存,以便获取最新的字体文件。