gpt4 book ai didi

amazon-cloudfront - S3、云端和到期日期

转载 作者:行者123 更新时间:2023-12-04 07:49:22 26 4
gpt4 key购买 nike

我正在使用 s3 来托管静态网站。本网站放置在s3存储桶中,由cloudfront分发。一切正常,但是当我们需要更改特定文件时,我们遇到了问题。如果我们更改 s3 存储桶中的 index.html 文件,我们将不会从 cloudfront 获取最新文件。
我是否应该在 s3 上为这些静态文件设置到期时间,只有在到期时间之后,cloudfront 才会查找新版本的文件并分发新文件?

最佳答案

CloudFront 使用 Cache-ControlExpires源服务器发送的 header 来决定资源是否要存储在缓存中以及它被认为是新鲜的多长时间。如果您不通过响应 header 控制缓存,CF 会将每个资源在从源获取 24 小时后视为过时。或者,您可以将分发配置为忽略缓存控制 header 并为您指定的每个资源使用到期时间。

当您在源更新文件时,CF 不会尝试刷新其副本,直到它过期。您可以遵循不同的策略来让 CF 更新缓存副本。

1) 效率最低且不推荐使用 invalidation .您可以通过 AWS 控制台或 API 来完成。

2) 通过发送 Expires 告诉 CF 何时查找更新的内容标题。例如,如果您对将新内容/版本部署到您的网站有严格的政策,并且您知道几乎每周四都会推出部署,您可以发送 Expires将源中的每个资源设置为下一个计划部署日期的 header 。 (这可能不适用于 S3 起源。)

3)最有效和推荐的方式是使用versioned URLs .一个好的做法是在其访问 URI 中包含资源的最后修改时间。使用 EC2 或其他源能够提供动态内容,这相当容易,使用 S3 源,如果可能的话,它根本就不是那么简单。

因此,我建议使更新的资源无效。

关于amazon-cloudfront - S3、云端和到期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com