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

how to update webpages of site hosted on aws s3?

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

是否有任何其他方法可以更新已托管在 s3 上的网站的网页?如果是这样,有人会请 post 在这里进行这些更新吗? TIA。

我注意到您的标签中有 CloudFront,所以这很可能是问题所在。当您将文件上传到 S3 时,CloudFront 不会立即知道它是否是现有文件。相反,它将默认设置为 24 小时,它会检查您的来源(在本例中为您的 S3 存储桶)以查看是否进行了任何更改以及是否需要更新缓存。有几种方法可以让它更新这些文件的缓存:

  • 使用名称中带有版本的文件,并更新链接。缺点是您必须进行比平常更多的更改才能使其正常工作。
  • Invalidating the cache. This is not what Amazon recommends, but is nonetheless a quick way to make the cache pickup new changes right away. Note that there can be charges if you do a lot of invalidations:

No additional charge for the first 1,000 paths requested for invalidation each month. Thereafter, [=10=].005 per path requested for invalidation

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

希望对您有所帮助。

如果您使用的不是云端,而是普通的静态 S3 网站:请检查您的浏览器是否正在缓存页面。

Chrome 至少是这样。因此,在清除浏览器缓存之前,更新 S3 中的页面可能不可见。

在chrome中你可以删除缓存如下:

  • 打开设置
  • 搜索 'cache'
  • 并删除图片和文件。