如何阻止 CloudFront 缓存某些文件?
上次更新日期:2022 年 12 月 28 日
我希望 Amazon CloudFront 能够传递某些文件,而不是在边缘站点缓存这些文件。该如何操作?
解决方法
要阻止 CloudFront 缓存某些文件,仅选择以下任一配置:
有关源的配置
注意:如果您使用旧的缓存设置,请更新 CloudFront 分配的缓存行为,以将 Object caching(对象缓存)设置为 Use Origin Cache Headers(使用源缓存标头)。如果您使用缓存策略,则默认情况下,CloudFront 会考虑源 Cache-Control(缓存控制)设置。
在自定义源 Web 服务器应用程序上,向您不希望 CloudFront 缓存的对象添加 Cache-Control no-cache、no-store 或 private 指令。或者,向您不希望 CloudFront 缓存的对象中添加 Expires 指令。
如果您将 Amazon Simple Storage Service (Amazon S3) 用作源,可以使用对象元数据添加某些 Cache-Control 标头。
有关分配的配置
1. 打开 CloudFront 控制台。
2. 在 CloudFront 分配列表中,选择要修改的分配。
3. 选择 Behaviors(行为)选项卡。
4. 如果已为您不希望 CloudFront 缓存的对象设置了缓存行为,请选择该缓存行为,然后选择 Edit(编辑)。要创建新的缓存行为,请选择 Create Behavior(创建行为)。
5. 对于缓存密钥和源请求设置,选择缓存策略和源请求策略(推荐)。
6. 对于缓存策略,选择托管式 - 禁用缓存。
7. 选择 Save changes(保存更改)以保存所做的更改。
注意:如果您未将 Amazon S3 存储桶用作源,则可以设置特定缓存行为以将所有标头转发到源。要执行此操作,请更新缓存行为,以将 Cache Based on Selected Request Headers(基于选择的请求标头进行缓存)设置为 All(全部)。