如何阻止 CloudFront 缓存某些文件?

上次更新时间:2021 年 1 月 19 日

我希望 Amazon CloudFront 能够传递某些文件,而不是在边缘站点缓存这些文件。该如何操作?

解决方法

要阻止 CloudFront 缓存某些文件,请使用以下任一配置:

有关源的配置

注意:务必更新 CloudFront 分配的缓存行为,以将对象缓存设置为使用源缓存标头

在自定义源 Web 服务器应用程序上,向您不希望 CloudFront 缓存的对象添加 Cache-Control no-cacheno-storeprivate 指令。或者,向您不希望 CloudFront 缓存的对象中添加 Expires 指令。

如果您将 Amazon Simple Storage Service (Amazon S3) 用作源,可以使用对象元数据添加某些 Cache-Control 标头。

有关分配的配置

  1. 打开 CloudFront 控制台
  2. 在 CloudFront 分配列表中,选择要修改的分配。
  3. 选择 Behaviors(行为)选项卡。
  4. 如果已为您不希望 CloudFront 缓存的对象设置了缓存行为,请选择该缓存行为,然后选择 Edit(编辑)。要创建新的缓存行为,请选择 Create Behavior(创建行为)
  5. 对于 Cache and origin request settings(缓存和源请求设置),选择 Use legacy cache settings(使用旧缓存设置)
  6. 在缓存行为设置中,请输入以下内容以阻止缓存:
    Object Caching(对象缓存)中,选择 Customize(自定义)
    Minimum TTL(最小 TTL)中,输入 0
    Maximum TTL(最大 TTL)中,输入 0
  7. 选择 Yes, Edit(是,请修改)以保存所做的更改。

注意:如果您未将 Amazon S3 存储桶用作源,可以设置特定缓存行为以将所有标头转发到源。要执行此操作,请更新缓存行为,以将 Cache Based on Selected Request Headers(基于选择的请求标头进行缓存)设置为 All(全部)