Aks*_*pal 5 amazon-s3 amazon-web-services
我的 S3 存储桶托管一个静态网站。我没有设置 cloudfront。
我最近更新了 S3 存储桶中的文件。当文件得到更新时,我在存储桶中手动确认。它仍然提供旧版本的文件。在 S3 上托管的静态网站上是否存在某种缓存或版本控制?
到目前为止,我无法在 SO 上找到任何解决方案。注意:未启用 Cloudfront。
Yud*_*udi 11
解决方案在这里:
但你需要使用CloundFront。就像 @Frederic Henri 所说,您不能在 S3 存储桶本身中做太多事情,但是使用 CloudFront,您可以使其无效。
CloudFront 会在边缘站点上缓存该文件 24 小时,这是默认的 TTL(生存时间),并将继续返回该文件 24 小时。然后,24 小时结束后,如果对该文件发出请求,CloudFront 将检查源并查看该文件是否已在 S3 存储桶中更新。如果已更新,CloudFront 将提供该对象的新更新版本。如果尚未更新,则 CloudFront 将继续提供对象的原始版本。
但是,如果您在源中更新文件并希望立即通过您的网站提供该文件,则需要做的是 CloudFront 失效。失效会擦除 CloudFront 缓存中的文件,因此当向 CloudFront 发出请求时,它将发现缓存中没有文件,然后检查源并在源中提供新的更新文件。建议每次在源中更新文件时运行失效。
要运行失效:
在 S3 上托管的静态网站上是否存在某种缓存或版本控制?
Amazon S3 存储桶为新对象的 PUTS 提供先写后读一致性,并为覆盖 PUTS 和 DELETES 提供最终一致性
这是什么意思 ?
如果您在 s3 中创建一个新对象,您将能够立即访问您的对象 - 但是,如果您更新现有对象,您将“最终”从 s3 获得最新版本的对象,因此 s3 可能仍然为您提供对象的先前版本。
相信从前段时间开始,写后读一致性也可以在美国标准区域进行更新。
你需要等多久?好吧,这取决于,亚马逊没有提供太多相关信息。
你可以做什么 ?不多。如果您想确保您的 S3 存储桶传送文件没有任何问题,请在您的存储桶中上传一个新文件,您将能够立即访问它
| 归档时间: |
|
| 查看次数: |
4549 次 |
| 最近记录: |