Amazon S3 静态站点提供旧内容

2023-11-25

我的 S3 存储桶托管一个静态网站。我没有设置cloudfront。

我最近更新了 S3 存储桶中的文件。当文件更新时,我在存储桶中手动确认。它仍然提供旧版本的文件。 S3 上托管的静态网站是否存在某种缓存或版本控制?

到目前为止我还没有找到任何解决方案。注意:Cloudfront 未启用。


解决方案在这里:

但你需要使用CloundFront。就像 @Frederic Henri 所说,您不能在 S3 存储桶本身中做太多事情,但是使用 CloudFront,您可以使其无效。

CloudFront 会在边缘站点上缓存该文件 24 小时,这是默认的 TTL(生存时间),并将继续返回该文件 24 小时。然后,24 小时结束后,如果对该文件发出请求,CloudFront 将检查源并查看该文件是否已在 S3 存储桶中更新。如果已更新,CloudFront 将提供该对象的新更新版本。如果尚未更新,则 CloudFront 将继续提供对象的原始版本。

但是,如果您在源中更新文件并希望立即通过您的网站提供该文件,则需要做的是 CloudFront 失效。失效会擦除 CloudFront 缓存中的文件,因此当向 CloudFront 发出请求时,它将发现缓存中没有文件,然后检查源并在源中提供新的更新文件。建议每次在源中更新文件时运行失效。

要运行失效:

  • 单击以下 CloudFront 控制台链接 --https://console.aws.amazon.com/cloudfront/home?region=eu-west-1#
  • 打开有问题的发行版
  • 单击所有选项卡右侧的“无效”选项卡
  • 点击“创建失效”
  • 在弹出窗口中,它会询问路径。您可以输入 /* 以使缓存中的每个对象失效,或输入文件的确切路径,例如 /images/picture.jpg
  • 最后点击“无效”
  • 这通常会在 2/3 分钟内完成
  • 然后,一旦失效完成,当您通过 CloudFront 再次请求该对象时,CloudFront 将检查源并返回更新的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon S3 静态站点提供旧内容 的相关文章

随机推荐

  • 日志文件中写入什么内容?

    我的问题很简单 将什么写入日志 有什么约定吗 我必须放入什么 由于我的应用程序必须发布 我希望有友好的日志 大多数人都可以阅读这些日志 而无需询问它是什么 我已经有了一些想法 比如时间戳 每个函数 方法的唯一标识符等 我想要几个日志级别 例
  • Android USB鼠标右键单击正确行为(ICS)

    插入 android ics 的 USB 鼠标的右键单击是否始终指定为 后退 按钮 我有一台平板电脑 但没有 我想删除状态栏 并且仍然能够通过 USB 鼠标使用平板电脑 有谁知道在哪里 如何配置 android 中的行为 迟到的答案 但答案
  • C++ 重写异常::what()

    我有一个自定义异常 class RenterLimitException public std exception public const char what 重写what 的正确方法是什么 现在 我在头文件中创建了这个自定义 并希望覆盖
  • 实体框架多租户共享数据架构:单列、多个外键

    我有以下数据结构 property Notification abstract class BindableBase base class for all tenant scoped objects abstract class Tenan
  • C++ 性能,for 与 while

    一般来说 或根据您的经验 for 和 while 循环之间的性能是否存在差异 如果它们是双重 三重嵌套怎么办 矢量化 SSE 是否受 g 或 Intel 编译器中的循环变体影响 谢谢 Here是一篇关于这个主题的好论文
  • 使用可变参数模板显式模板实例化

    我有几个模板类Impl 使用一些抽象方法 部分在 CPP 文件中实现 因此我需要显式实例化我的模板以便链接器找到它 如下所示 template class Impl
  • 使用 GROUP BY 连接单列字段

    有没有什么方法可以通过对字段进行分组来组合 连接一列中的字段 例如 col1 col2 1 aa 1 bb 1 cc 2 dd 2 ee 我想查询类似的内容 select col1 concat col2 from tableName gr
  • django 模板中的变量减法

    是可以写的 myval add 5 myval add value 乃至 myval add 5 但是 我不知道应该输入什么来添加值 1 之类的 myval add value 可悲的是 这不起作用 您需要使用双引号 myval add 5
  • 合并 XML 文档 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要 合并 两个 XML 文档 覆盖重叠的属性和元素 例如 如果我有文件1
  • ConfigurationManager 不保存设置

    这是我正在使用的代码 private void SaveConfiguration if txtUsername Text txtPassword Text ConfigurationManager AppSettings Username
  • Netbeans - 安装 SASS

    我曾多次尝试在 netbeans 上安装 SASS 我已遵循以下教程 http kgagliardo com blog netbeans sass windows 7 创建并尝试保存 SASS 文件时出现以下错误 并且未创建 CSS 文件
  • 自定义 UIControl 和手势识别器

    我正在尝试创建一个类似于滑块的自定义 UIControl 该控件是一个视图的子视图 该视图还附加了一个点击手势识别器 现在的问题是这个点击手势识别器取消了发送到我的控件的触摸 有没有办法可以从我的控件的代码中覆盖它 如果我查看 iOS 中的
  • 如何使 macOS 框架可在 Nix 环境中 clang?

    我在 macOS 10 13 5 上学习 Rust 编程 并使用 Nix 来控制我的开发环境 一些行动 例如包括jsonwebtoken库或安装cargo watch模块 导致构建需要似乎未安装的 macOS 框架 我收到此错误消息 not
  • 在 VideoView 中播放视频时 Android 后退按钮不起作用

    在 VideoView 中播放视频时 Android 后退按钮不起作用 但它在播放视频之前有效 我正在为 VideoView 使用自定义 MediaController 我尝试使用调度按键事件 它不起作用 使用 VideoView 的 Ac
  • 将 ggplot2 颜色条刻度线更改为黑色

    在我的一些图中 我发现很难看到颜色条中的刻度线 我还没有找到改变蜱虫颜色的记录方法 所有示例似乎都集中在更改标签或根本不绘制刻度线 是否可以 Data require ggplot2 require grid n lt 100 x lt y
  • 给定一个时间,如何找到一个月前的时间

    给定一个时间 如何查找一个月前的时间 strtotime 1 month timestamp http php net manual en function strtotime php
  • Android:java.net.DatagramSocket.bind:无效参数异常

    背景 我正在编写一个简单的 UDP 应用程序来 ping 一个测试版服务器 我每分钟左右管理一次 告诉我它仍在运行 对于那些想知道的人 我无法在服务器上启用 ping 我计划在手机上运行此命令 以便在服务器不再响应时向我发出警告 我正在尝试
  • 如何将 Windows 的 EOL 设置为 LF,以便 API 通过 \n 获取值。不是 \r\n

    我使用 monaco editor create 方法来创建模型 问题是 monaco 正在将多行代码解析为 Windows 操作系统中的 r n 格式 我尝试在 monaco editor create 的 editorOptions 中
  • C++ IO 流简介

    我得到了一段代码本文我很困惑它是如何工作的 该片段开头写道 您可以通过测试读取结果来检测特定读取或写入操作是否失败 例如 要检查是否从用户读取了有效的整数 您可以执行以下操作 int x if cin gt gt x cout lt lt
  • Amazon S3 静态站点提供旧内容

    我的 S3 存储桶托管一个静态网站 我没有设置cloudfront 我最近更新了 S3 存储桶中的文件 当文件更新时 我在存储桶中手动确认 它仍然提供旧版本的文件 S3 上托管的静态网站是否存在某种缓存或版本控制 到目前为止我还没有找到任何