如何更新aws s3上托管的网站的网页?

时间:2017-07-02 09:44:49

标签: html amazon-web-services amazon-s3 amazon-cloudfront amazon-route53

在s3上托管网站后,我们如何在其网页中更改文字。我从存储桶中删除了旧的html文件,并使用相同的名称上传了新文件,并在代码中添加了更新的文本但刷新这些网页后没有反映出任何变化。

是否还有其他方法可以更新已在s3上托管的网站的网页?如果是这样,有人请在这里发布步骤进行更新? TIA。

1 个答案:

答案 0 :(得分:14)

我注意到您的代码中包含CloudFront,因此很可能是问题所在。当您将文件上传到S3时,如果CloudFront是现有文件,则不会立即知道它。相反,它设置为24小时的默认值,它会检查您的来源(在这种情况下是您的S3存储桶),以查看是否已进行任何更改以及是否需要更新缓存。有几种方法可以让它更新这些文件的缓存:

  • 使用名称中包含版本的文件,并更新链接。缺点是你必须做出比平时更多的改变才能使其发挥作用。
  • Invalidating the cache。这不是亚马逊推荐的,但仍然是一种快速获取缓存立即获取新变化的方法。请注意,可以charges if you do a lot of invalidations
  

每月要求失效的前1,000条路径不收取额外费用。此后,每条路径请求$ 0.005无效

Setting CloudFront behaviors

您可以在此处指定路径(单个文件,文件夹等)并调整某些属性。其中之一是相关路径的TTL(生存时间)。如果您将TTL设置为较小的值,CloudFront将更快地获取更改。但是,由于您有S3来源说明,您必须处理请求分配。此外,CloudFront还需要一些时间将这些更改分发到所有边缘服务器。

希望这有帮助。