amazon-cloudfront - 跨域资源共享策略字体

标签 amazon-cloudfront

我正在将 W3 Total Cache 与 Amazon cloudfront 一起使用。我的 htaccess 文件中有:

# BEGIN W3TC CDN
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
# END W3TC CDN 

但是还是报错:

来自源“https://example.cloudfront.net”的字体已被跨源资源共享策略阻止加载:请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问源“https://www.example.com”。

为什么会这样?

最佳答案

在此链接中找到解决方案: https://www.naschenweng.info/2014/09/23/wordpress-w3-total-cache-cloudfront-font-cors-issue/

您需要更改 CloudFront 分配的行为设置:

  • 将“转发标题”从“无”更改为“白名单”
  • 将“Origin”添加到“Whitelist Headers”
  • 确保选中“Use Origin Cache Headers”

  • 然后使缓存的字体无效。

    关于amazon-cloudfront - 跨域资源共享策略字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39247055/

    相关文章:

    amazon-web-services - Cloudfront 将 url 重写为 S3

    amazon-web-services - 是否可以将 CloudFront 限制在特定区域?

    ruby-on-rails - rails : Serve compressed static assets from Cloudfront

    amazon-web-services - Cloudfront 等 CDN 对发行版中可存储的最大缓存量有限制吗?

    amazon-web-services - 为什么 CloudFront 会根据 Accept-Encoding 改变 CORS header 响应?

    php - 使用 openssl sha1 -sign 和 PHP 的 openssl_sign 时,CloudFront 签名 URL 的签名不同

    amazon-web-services - AWS CloudFront 最大 TTL 和默认 TTL 缓存行为的差异

    带有 Django 管道的 Django/Amazon s3/Cloudfront : versioning assets

    amazon-s3 - 云锋 : How to clear cache

    amazon-s3 - Cloudfront 和 Lambda@Edge - 根据用户代理从自定义来源获取