【问题标题】:Updating objects for static site on AWS and not seeing the results appear in browser在 AWS 上更新静态站点的对象,但在浏览器中看不到结果
【发布时间】:2015-03-20 08:14:33
【问题描述】:

我在使用 AWS S3 和 AWS 云前端服务部署静态站点时遇到了两个问题。出现的第一个问题是当我查找 http://.point.plumbing 时,我没有看到我对 index.html 页面所做的更改。但是,如果我转到我的存储桶并访问 Object: index.html 并单击 link,您将看到所需的更改生效 https://s3-us-west-2.amazonaws.com/point.plumbing/index.html

我遇到的第二个问题是我似乎收到此错误Failed to load resource: the server responded with a status of 403 (Forbidden) http://www.point.plumbing/fontkit/avenir_55_oblique-webfont.woff2该错误告诉我服务器无法http://.point.plumbing上加载我想要的一些字体@

在服务页面上,如果您单击图标,您会看到我没有加载字体 avenirmedium, sans-serif

我花了相当多的时间来解决这些问题,而我最接近解决方案的是这个链接。 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ReplacingObjectsSameName.html

我收到错误并且没有看到所需更改到达http://.point.plumbing 的原因是因为我的对象缓存在 24 小时内没有刷新吗?

任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services deployment amazon-s3 web-deployment


    【解决方案1】:

    首先,我注意到您说您的端点是https://s3-us-west-2.amazonaws.com/point.plumbing。检查控制台,您的 Web 端点实际上是 point.plumbing.s3-website-us-west-2.amazonaws.com(我假设 point.plumbing 是具有有效顶级域的东西)。

    如果我的理解正确,您说当您通过 CloudFront 查看 HTML 时,您没有看到 HTML 的变化。这是因为 CloudFront 缓存了您的文件 - by default for 24 hours。为了查看更新,您需要通过对象元数据中的 HTTP 标头指定更短的 TTL,或者向Invalidate the objects 发出 API 命令。这需要 10 到 15 分钟才能传播,并且会在每月前 1000 个对象之后开始花费您的资金。

    关于字体,我不确定,但听起来可能是权限问题。确保对象具有public-read 的权限或在存储桶上设置公共get-object 权限。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 2021-11-04
      • 2012-08-26
      相关资源
      最近更新 更多