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

上次更新时间:2021 年 9 月 16 日

我希望 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.    对于缓存密钥和源请求设置,选择缓存策略和源请求策略(推荐)

6.    对于缓存策略,选择托管式 - 禁用缓存

7.    选择保存更改以保存所做的更改。

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