我希望 Amazon CloudFront 能够传递某些文件,而不是在边缘站点缓存这些文件。
解决方法
源上的配置
注意:如果您使用旧版缓存设置,请更新您的 CloudFront 分配的缓存行为,以将对象缓存设置为使用源缓存标头。如果您使用缓存策略,则默认情况下,CloudFront 会使用源 Cache-Control 设置。
在自定义源 Web 服务器应用程序上,向您不希望 CloudFront 缓存的对象添加 Cache-Control no-cache、no-store 或 private 指令。或者,向您不希望 CloudFront 缓存的对象中添加 Expires 指令。
对于 Amazon Simple Storage Service (Amazon S3) 源,使用对象元数据向 CloudFront 不应缓存的对象添加 Cache-Control no-store 指令。如果无法向每个对象添加对象元数据,请对源响应函数使用 AWS Lambda Lambda@Edge 函数。使用 Lambda@Edge 函数根据 content-type 标头或其他响应参数的值更新 Cache-Control 标头的值。
分配上的配置
您可以控制 CloudFront 在向源发送另一个请求之前将对象保留在缓存中的时间。在 CloudFront 分配的缓存行为中设置最小、最大和默认生存时间 (TTL) 值。可以在附加到缓存行为的缓存策略中或在旧版缓存设置中设置这些值。
要使用缓存策略编辑分配上的配置,请完成以下步骤:
- 打开 CloudFront 控制台。
- 选择要修改的分配。
- 选择 Behaviors(行为)选项卡。
- 如果已为您不希望 CloudFront 缓存的对象设置了缓存行为,请选择该缓存行为,然后选择编辑。要创建新的缓存行为,请选择 Create Behavior(创建行为)。
- 对于 Cache and origin request settings(缓存和源请求设置),选择 Cache policy and origin request policy(缓存策略和源请求策略)。
- 对于 Cache policy(缓存策略),选择 Managed - CachingDisabled(托管 - CachingDisabled)。
**注意:**如果您使用旧版缓存设置,请为 Object caching(对象缓存)选择 Customize(自定义),并将 minimum(最小值)、maximum(最大值)和 default TTL(默认 TTL)值设置为 0。
- 选择 Save changes(保存更改)。
注意:如果您未将 Amazon S3 存储桶用作源,则可以设置特定缓存行为以将所有标头转发到源。更新缓存行为,然后将基于选择的请求标头进行缓存设置为全部。
相关信息
指定 CloudFront 缓存对象的时间长度
添加、删除或替换 CloudFront 分配的内容