我想根据 HTTP 标头缓存 Amazon CloudFront 中的内容。我该如何操作?
简短描述
要配置您的分配以缓存基于 HTTP 标头的内容,请执行以下操作之一:
- 创建缓存策略并将其连接至分配中的行为
- 编辑分配中现有旧式缓存行为的设置
最佳实践是新建缓存策略来缓存内容。可以使用新的缓存策略来更多地自定义配置,而不是编辑旧式分配。
重要提示:无法将 CloudFront 配置为基于标头类型 Connection、Host(适用于 Amazon S3 源)、Proxy-Authorization、TE 或 Upgrade 的请求标头值进行缓存。有关更多信息,请参阅选择用作缓存基础的标头。
解决方案
创建缓存策略
- 使用 CloudFront 控制台创建缓存策略。
- 在 TTL 设置下,输入最小 TTL、最大 TTL 和默认 TTL 的值,以管理 CloudFront 缓存对象的时间。默认情况下,缓存的文件将在 24 小时后自动过期。
- 在缓存密钥设置下,为标头选择包括以下标头。
- 从添加标头下拉列表中选择标头,或选择添加自定义以添加自定义标头。
- 根据要将策略附加到的行为的要求,完成缓存策略的所有其他设置。然后,选择 Create(创建)。
- 创建缓存策略后,请按照以下步骤将策略附加到 CloudFront 分配的相关行为。
编辑现有行为的设置
- 打开 CloudFront 控制台,然后选择您的分配。
- 选择行为选项卡。然后,根据选定的 HTTP 标头选择要缓存内容的路径。
- 选择编辑。
- 在缓存键和源请求下,确认已选择旧缓存设备。
如果未选择旧缓存设置,请按照上一节中的步骤创建缓存策略。
-或者-
如果选择旧缓存设置,请完成以下步骤:
对于标头,选择包括以下标头。
从添加标头下拉列表中,选择要缓存的标头。
- 要管理 CloudFront 缓存的缓存持续时间,请在对象缓存下选择自定义。然后在最小 TTL、默认 TTL 和最大 TTL 字段中指定值。有关更多信息,请参阅对象缓存。
- 选择保存更改。
注意:要更改单个文件的缓存持续时间,请配置源以添加 Cache-Control max-age 指令、Cache-Control s-maxage 指令或 Expires 标头。有关更多信息,请参阅使用标头控制单个对象的缓存持续时间。
对于 Amazon Simple Storage Service (Amazon S3) 源,请为标头值添加元数据以管理单个对象的缓存过期时间。有关更多信息,请参阅使用 Amazon S3 控制台向对象添加标头。
相关信息
使用策略
根据请求标头缓存内容
管理内容保留在缓存中的时间长度(过期)