禁止从s3在Cloudfront上提供的字体

时间:2013-05-15 01:21:38

标签: amazon-s3 amazon amazon-cloudfront

我正在使用Cloudfront来提供存储在s3中的资产。大多数文件工作正常,但有些文件没有,特别是我的字体。

我完全不知道为什么:

https://xxxxxx.cloudfront.net/assets/application-xxxxxxx.js

返回正常,但

https://xxxxxx.cloudfront.net/assets/fontawesome-webfont.woff?v=3.1.0

返回:

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>xxxxxx</RequestId>
  <HostId>xxxxxx</HostId>
</Error>

有谁知道这是为什么?我怀疑它与CORS有关,但我使用的是指定的in this answer CORS。并且请求在所有浏览器上都被禁止返回,而不仅仅是firefox。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

修复S3权限后,您需要使CloudFront缓存来自该URL的错误消息无效。

或等24小时。取其。

答案 1 :(得分:0)

当您使缓存无效时,您不能只更新资产。我不得不创建一个全新的云端分发包。

我建议这样做。创建一个新的Cloudfront资产包,将服务器指向该服务器并删除旧服务器。