AWS CloudFormation
用户指南 (API 版本 2010-05-15)

AWS::CloudFront::Distribution DefaultCacheBehavior

一个复杂类型,描述以下情况下的默认缓存行为:未指定 CacheBehavior 元素,或者文件未与 CacheBehavior 元素中的任何 PathPattern 值匹配。您必须创建一个且仅创建一个默认缓存行为。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "AllowedMethods" : [ String, ... ], "CachedMethods" : [ String, ... ], "Compress" : Boolean, "DefaultTTL" : Double, "FieldLevelEncryptionId" : String, "ForwardedValues" : ForwardedValues, "LambdaFunctionAssociations" : [ LambdaFunctionAssociation, ... ], "MaxTTL" : Double, "MinTTL" : Double, "SmoothStreaming" : Boolean, "TargetOriginId" : String, "TrustedSigners" : [ String, ... ], "ViewerProtocolPolicy" : String }

属性

AllowedMethods

一个复杂类型,用于控制 CloudFront 处理并转发到 Amazon S3 存储桶或自定义源的 HTTP 方法。提供了三个选项:

  • CloudFront 仅转发 GETHEAD 请求。

  • CloudFront 仅转发 GETHEADOPTIONS 请求。

  • CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。

如果您选择第三个选项,则可能需要限制对 Amazon S3 存储桶或自定义源的访问,以使用户无法执行您不希望他们执行的操作。例如,您可能不希望用户具有从您的源中删除对象的权限。

必需:否

类型:字符串列表

Update requires: No interruption

CachedMethods

一个复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。共有两个选项:

  • CloudFront 缓存对 GETHEAD 请求的响应。

  • CloudFront 缓存对 GETHEADOPTIONS 请求的响应。

如果您为 Amazon S3 源选择第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和源标头以便正确缓存响应。

必需:否

类型:字符串列表

Update requires: No interruption

Compress

指示您是否希望 CloudFront 自动压缩此缓存行为的某些文件。如果是,则指定 true;否则指定 false。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的提供压缩文件

必需:否

类型:布尔值

Update requires: No interruption

DefaultTTL

您希望对象在 CloudFront 缓存中保留的默认时间,在此时间之后,CloudFront 会向您的源转发另一个请求以确定此对象是否已更新。仅当来源未向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时才应用指定的值。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的管理内容在边缘缓存中保留的时长(过期时间)

必需:否

类型:双精度

Update requires: No interruption

FieldLevelEncryptionId

字段级加密配置的 ID 值,您希望 CloudFront 使用它加密特定数据字段以便实现某个缓存行为或分配中的默认缓存行为。

必需:否

类型:字符串

Update requires: No interruption

ForwardedValues

一个指定 CloudFront 如何处理查询字符串和 Cookie 的复杂类型。

必需:是

类型ForwardedValues

Update requires: No interruption

LambdaFunctionAssociations

一个复杂类型,包含缓存行为的零个或多个 Lambda 函数关联。

必需:否

类型LambdaFunctionAssociation 的列表

Update requires: No interruption

MaxTTL

您希望对象在 CloudFront 缓存中保留的最长时间,在此时间之后,CloudFront 会向您的源转发另一个请求以确定此对象是否已更新。仅当来源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时才应用指定的值。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的管理内容在边缘缓存中保留的时长(过期时间)

必需:否

类型:双精度

Update requires: No interruption

MinTTL

您希望对象在 CloudFront 缓存中保留的最短时间,在此时间之后,CloudFront 会向您的源转发另一个请求以确定此对象是否已更新。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的管理内容在边缘缓存中保留的时长(过期时间)

如果将 CloudFront 配置为将所有标头转发到源(在 Headers 下,如果为 Quantity 指定 1,为 Name 指定 *),则必须为 MinTTL 指定 0

必需:否

类型:双精度

Update requires: No interruption

SmoothStreaming

指示您是否希望使用与此缓存行为关联的源以 Microsoft 平滑流格式分配媒体文件。如果是,则指定 true;否则指定 false。如果为 true 指定 SmoothStreaming,则仍可以使用此缓存行为分配其他内容,只要该内容与 PathPattern 的值匹配。

必需:否

类型:布尔值

Update requires: No interruption

TargetOriginId

当请求与缓存行为或分配中的默认缓存行为的路径模式匹配时,您希望 CloudFront 将请求路由到的源的 ID 值。

必需:是

类型:字符串

Update requires: No interruption

TrustedSigners

复杂类型,用于指定您希望允许为私有内容创建签名 URL 的 AWS 账户(如果有)。

如果希望要求在与此缓存行为的 PathPattern 匹配的目标来源的对象请求中使用签名 URL,请为 Enabled 指定 true,并为 QuantityItems 指定适用的值。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的通过 CloudFront 提供私有内容

如果您不希望要求在与 PathPattern 匹配的对象请求中使用签名 URL,请为 Enabled 指定 false,并为 Quantity 指定 0。忽略 Items

要添加、更改或删除一个或多个可信签署人,请将 Enabled 更改为 true(如果当前为 false),将 Quantity 更改为适用的值,并指定希望包含在更新分配中的所有可信签署人。

必需:否

类型:字符串列表

Update requires: No interruption

ViewerProtocolPolicy

当请求与 TargetOriginId 中的路径模式匹配时,查看器可用于访问 PathPattern 指定的来源中的文件的协议。可以指定以下选项:

  • allow-all:查看器可以使用 HTTP 或 HTTPS。

  • redirect-to-https:如果查看器提交 HTTP 请求,则 CloudFront 将向查看器返回 HTTP 状态代码 301(永久移动)以及 HTTPS URL。然后,查看器会使用新的 URL 重新提交请求。

  • https-only:如果查看器发送 HTTP 请求,则 CloudFront 将返回 HTTP 状态代码 403(禁止)。

有关要求使用 HTTPS 协议的更多信息,请参阅 Amazon CloudFront 开发人员指南 中的使用 HTTPS 连接访问您的对象

注意

保证查看器使用 HTTPS 检索从源提取的对象的唯一方法是从不使用任何其他协议来提取对象。如果您最近从 HTTP 更改为 HTTPS,建议您清除对象缓存,因为缓存的对象不依赖于协议。这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘站点都会从缓存返回对象。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的管理内容在边缘缓存中保留的时长(过期时间)

必需:是

类型:字符串

允许的值allow-all | https-only | redirect-to-https

Update requires: No interruption

另请参阅

本页内容: