从 CloudFront 到服务器的字体 CORS 问题

问题描述 投票:0回答:5

我们在我的网站上遇到了 Cloudfront 的 CORS 问题(仅限字体)。

从来源“http://example.com”访问“http://d2v777xrj.cloudfront.net/assets/simple-line-icons/fonts/Simple-Line-Icons-ff94ad94c3a9d04bd2f80cb3c87dcccb.woff”处的字体' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“http://example.com”。

amazon-ec2 amazon-cloudfront
5个回答
10
投票

参考资料(在查看参考资料后,发现这些参考资料对我有用。我没有在 S3 存储桶上添加任何 CORS。只有 Cloudfront 访问 S3)[根据您的情况,将

themes
更改为
assets
]

https://deliciousbrains.com/wp-offload-media/doc/font-cors/

http://thelazylog.com/ Correct-configuration-to-fix-cors-issue-with-cloudfront/

enter image description here

enter image description here


10
投票

尝试了一切,但没有任何效果! 但解决方案非常简单,只需两步解决方案即可。

  1. 转到S3存储桶->权限->编辑:跨源资源共享(CORS)->粘贴以下配置。在大多数其他文章中,他们都犯了错误的标题错误。您必须将“Origin”放入AllowedHeaders中。

     [
         {
             "AllowedHeaders": [
                 "Origin"
             ],
             "AllowedMethods": [
                 "HEAD",
                 "GET"
             ],
             "AllowedOrigins": [
                 "http://www.yourdomain.com",
                 "https://www.yourdomain.com",
                 "https://yourdomain.com",
                 "http://yourdomain.com"
             ],
             "ExposeHeaders": [],
             "MaxAgeSeconds": 3000
         }
     ]
    
  2. 转到 Cloudfront->行为->默认(*)->编辑 将缓存和源请求设置更改为:使用旧缓存设置 将基于所选请求标头的缓存更改为:白名单 然后,将白名单标头添加到:Origin [仅]


4
投票

云前端近期新增了Origin策略。一旦 S3 配置正确,将原始策略更新为 s3origin 对我来说如下所示。

cache and origin policy config


2
投票

2023 年 7 月更新

应用以下更改后我的问题得到解决:

  1. 更改S3上存储桶的权限:
    • 转到 s3.console.aws.amazon.com/s3 并选择存储桶。
    • 选择存储桶后,单击
      Permissions
      选项卡: s3 bucket menu
    • 向下滚动到跨源资源共享 (CORS) 部分并添加以下内容:
      [
         {
             "AllowedHeaders": [
                 "*"
             ],
             "AllowedMethods": [
                 "GET",
                 "HEAD"
             ],
             "AllowedOrigins": [
                 "http://example.com",
             ],
             "ExposeHeaders": []
         }
      ]
      
  2. 更改分布的行为:
    • 选择行为并单击编辑图标: behavior content
    • 确保您已为查看器部分添加了 OPTIONS 方法: Add options
    • 更改
      Origin request policy
      权限。 enter image description here

0
投票
  1. 前往CloudFront
  2. 选择分布
  3. 编辑行为
  4. 关于响应标头策略:CORS-with-preflight-and-SecurityHeadersPolicy
  5. 保存更改
© www.soinside.com 2019 - 2024. All rights reserved.