1

我正在使用 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 有关,但我正在使用此答案中指定的 CORS 。并且该请求在所有浏览器上都被禁止返回,而不仅仅是 Firefox。

任何帮助将不胜感激。

4

2 回答 2

0

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

或等待 24 小时。任何。

于 2013-05-15T05:18:08.440 回答
0

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

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

于 2013-05-21T01:57:39.317 回答