【问题标题】:Fonts served over Cloudfront from s3 are forbidden禁止使用 s3 通过 Cloudfront 提供的字体
【发布时间】:2013-05-09 10:46:47
【问题描述】:

我正在使用 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 in this answer。并且该请求在所有浏览器上都被禁止返回,而不仅仅是 Firefox。

任何帮助将不胜感激。

【问题讨论】:

  • 听起来有些文件不公开。
  • 我也是这么想的,但是所有其他文件都有类似的权限,包括这个。每个人的权限包括打开/下载。不过感谢您的回复。
  • @rurabe 你让它工作了吗?我在使用 Firefox 时遇到了这个问题,字体无法与 S3 或 cloudfront 一起使用

标签: amazon-s3 amazon amazon-cloudfront


【解决方案1】:

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

或等待 24 小时。随便哪一个。

【讨论】:

  • 我也希望是这样,但 24 小时后仍然无法正常工作。不过还是谢谢...
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 2015-12-22
    • 2013-12-02
    • 2011-07-23
    • 2015-05-21
    • 2014-05-11
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多