您创建或更新分配时指定的值 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

您创建或更新分配时指定的值

使用CloudFront控制台创建新分配或更新现有分配时,需要指定以下值:

源设置

缓存行为设置

以下值适用于您创建分配时的默认缓存行为设置。它们也适用于您稍后创建的其它缓存行为。

以下值适用于 Lambda Function Associations (Lambda 函数关联)

分配设置

自定义错误页面和错误缓存

地理限制

有关使用 CloudFront 控制台创建或更新分配的更多信息,请参阅创建分配更新分配

源设置

当您使用 CloudFront 控制台创建或更新发行版时,您需要提供有关存储网页内容原始版本的一个或多个位置(称为来源)的信息。CloudFront 从您的来源获取您的网络内容,并通过全球边缘服务器网络将其提供给观众。

有关您可以为分配创建的源的当前最大数量或要请求提高限额,请参阅分配的一般配额

如果您想删除源,您首先必须编辑或删除与该源有关的缓存行为。

重要

如果您删除源,请确认该源先前提供的文件在另一源中可用,且您的缓存行为将这些文件的请求路由到新的源。

当您创建或更新分配时,您可为每个源指定以下值。

源域

源域是您要 CloudFront 从中获取此源对象的 Amazon S3 存储桶或 HTTP 服务器的 DNS 域名,例如:

  • Amazon S3 存储桶DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com

    注意

    如果您最近创建了 S3 存储桶,则 CloudFront 分配可能会返回最长 24 小时的HTTP 307 Temporary Redirect响应。S3 存储桶名称最长可能需要 24 小时才能传播到所有Amazon区域。在传播完成后,分配将自动停止发送这些重定向响应;您无需执行任何操作。有关更多信息,请参阅为什么我会从 Amazon S3 获得 HTTP 307 临时重定向响应?临时请求重定向

  • 配置为网站的 Amazon S3 存储桶DOC-EXAMPLE-BUCKET.s3-website.us-west-2.amazonaws.com

  • MediaStore 容器examplemediastore.data.mediastore.us-west-1.amazonaws.com

  • MediaPackage 端点examplemediapackage.mediapackage.us-west-1.amazonaws.com

  • Amazon EC2 实例ec2-203-0-113-25.compute-1.amazonaws.com

  • Elastic Load Balancing 负载均衡器example-load-balancer-1234567890.us-west-2.elb.amazonaws.com

  • 您自己的 Web 服务器https://www.example.com

源域字段中选择域名或键入域名。域名不区分大小写。

如果您的源是 Amazon S3 存储桶,请注意以下事项:

  • 如果将存储桶配置为网站,请输入存储桶的 Amazon S3 静态网站托管端点;不要从 Origin domain(源域)字段的列表中选择存储桶名称。该静态网站托管端点显示在 Amazon S3 控制台的 Properties(属性)页面中的 Static website hosting(静态网站托管)下。有关更多信息,请参阅 使用配置为网站端点的 Amazon S3 存储桶

  • 如果您已为存储桶配置 Amazon S3 Transfer Acceleration,请不要为 Origin domain(源域)指定 s3-accelerate 端点。

  • 如果您要从不同的 Amazon 账户使用存储桶,而且该存储桶没有配置为网站,请按以下格式输入名称:

    bucket-name.s3.region.amazonaws.com

    如果存储桶位于美国区域,并且您希望 Amazon S3 将请求路由到位于弗吉尼亚州北部的设施,请使用以下格式:

    bucket-name.s3.us-east-1.amazonaws.com

  • 除非您使用CloudFront 源站访问控制来保护您在 Amazon S3 中的内容,否则这些文件必须是公开可读的。有关访问控制的更多信息,请参阅限制对 Amazon S3 源的访问

重要

如果源是 Amazon S3 存储桶,存储桶名称必须符合 DNS 命名要求。有关更多信息,请转至《Amazon Simple Storage Service 用户指南》中的桶限制

当您更改源的 Origin 属性域的值时,会 CloudFront 立即开始将更改复制到 CloudFront 边缘位置。在给定边缘位置更新分发配置之前,会 CloudFront 继续将请求转发到之前的源。一旦在该边缘位置更新了分发配置,就会 CloudFront开始将请求转发到新的来源。

更改原点不需要使用 CloudFront 来自新原点的对象重新填充边缘缓存。只要应用程序中的查看者请求没有更改,就会 CloudFront 继续为边缘缓存中的对象提供服务,直到每个对象的 TTL 到期或很少被请求的对象被驱逐出为止。

源路径

如果 CloudFront 要从原始目录请求内容,请输入以斜杠 (/) 开头的目录路径。 CloudFront 将目录路径附加到 O rigin 域的值,cf-origin.example.com/production/images例如。请不要在路径的末尾添加斜杠 (/)。

例如,假设您已为分配指定以下值:

  • 源域 – 名为 DOC-EXAMPLE-BUCKET 的 Amazon S3 存储桶

  • 源路径/production

  • 备用域名 (CNAME)example.com

当用户进入example.com/index.html浏览器时, CloudFront会向 Amazon S3 发送请求DOC-EXAMPLE-BUCKET/production/index.html

当用户进入example.com/acme/index.html浏览器时,CloudFront 会向 Amazon S3 发送请求DOC-EXAMPLE-BUCKET/production/acme/index.html

名称

名称是唯一标识此分配中的这个源的字符串。如果除了默认的缓存行为之外还创建了缓存行为,则使用在此处指定的名称来标识当请求与该缓存行为的路径模式匹配时,您要 CloudFront 将请求路由到的源。

添加自定义标头

如果您想 CloudFront 在它向您的源发送请求时添加自定义标头,请指定标头名称及其值。有关更多信息,请参阅向源请求添加自定义标头

有关可添加的自定义标头的当前最大数量、自定义标头名称和值的最大长度,以及所有标头名称和值的最大总长度,请参阅限额

启用 Origin Shield

选择 “” 启用 CloudFront Origin Shield。有关 Origin Shield 的更多信息,请参阅使用亚马逊 O CloudFront rigin Shield

连接尝试次数

您可以设置 CloudFront 尝试连接到源站的次数。您可以指定 1、2 或 3 作为尝试次数。默认次数(如果您没有另行指定)为 3。

将此设置与 Connecti on timeout 一起使用,可以指定在尝试连接到辅助源或向查看者返回错误响应之前 CloudFront 等待多长时间。默认情况下, CloudFront 在尝试连接到辅助源或返回错误响应之前,会等待 30 秒(3 次尝试,每次尝试 10 秒)。您可以通过指定更少的尝试次数、更短的连接超时或两者来减少此时间。

如果指定的连接尝试次数失败, CloudFront 则执行以下操作之一:

  • 如果源是源组的一部分,则 CloudFront 会尝试连接到次要起源。如果指定次数的辅助源连接尝试失败,则会向查看者 CloudFront 返回错误响应。

  • 如果源不是源组的一部分,则会向查看者 CloudFront 返回错误响应。

对于自定义源(包括配置了静态网站托管的 Amazon S3 存储桶),此设置还指定 CloudFront 尝试从源获取响应的次数。有关更多信息,请参阅响应超时(仅自定义源)

连接超时

连接超时是指尝试与源建立连接时 CloudFront 等待的秒数。您可以指定 1 到 10 之间(含)的秒数。默认超时(如果您没有另行指定)为 10 秒。

将此设置与 Connecti on 尝试一起使用,可以指定 CloudFront 在尝试连接到辅助源之前或向查看者返回错误响应之前等待多长时间。默认情况下, CloudFront 在尝试连接到辅助源或返回错误响应之前等待长达 30 秒(3 次尝试,每次 10 秒)。您可以通过指定更少的尝试次数、更短的连接超时或两者来减少此时间。

CloudFront 如果在指定的秒数内未与源建立连接, CloudFront 则执行以下任一操作:

  • 如果指定的连接尝试次数大于 1,则再次 CloudFront 尝试建立连接。 CloudFront 最多尝试 3 次,具体取决于连接尝试次数的值。

  • 如果所有连接尝试都失败并且源是源组的一部分,则 CloudFront 会尝试连接到辅助源。如果指定次数的辅助源连接尝试失败,则会向查看者 CloudFront 返回错误响应。

  • 如果所有连接尝试都失败并且源不是源组的一部分,则会向查看者 CloudFront 返回错误响应。

响应超时(仅自定义源)

注意

这仅适用于自定义源。

来源响应超时(也称为来源读取超时来源请求超时)适用于以下两个值:

  • 将请求转发到源站后 CloudFront 等待响应的时间(以秒为单位)。

  • 在收到来自源端的响应数据包之后到收到下一个数据包之前要 CloudFront 等待多长时间(以秒为单位)。

默认超时时间为 30 秒。您可以将此值更改为 1 到 60 秒的值。如果您需要超出该范围的超时值,请在中创建一个案例Amazon Support Center Console

提示

如果您由于查看器遇到了 HTTP 504 状态代码错误而希望增加超时值,请考虑探索其他方法来在更改超时值之前消除这些错误。请参阅 HTTP 504 状态代码 (Gateway Timeout) 中的故障排除建议。

CloudFront 行为取决于查看器请求中的 HTTP 方法:

  • GETan HEAD d requests — 如果源站在响应超时期间没有响应或停止响应, CloudFront 则断开连接。 CloudFront 再次尝试根据的值进行连接连接尝试次数

  • DELETEOPTIONSPATCHPUT、和POST请求 — 如果源在读取超时期间没有响应, CloudFront则断开连接并且不会再次尝试联系源。如有必要,客户端可以重新提交请求。

源保持连接超时(仅自定义源)

注意

这仅适用于自定义源。

keep-alive 超时是指它在收到最后一个响应数据包后 CloudFront 尝试与您的自定义源保持连接的时间(以秒为单位)。保持持久性连接可节省重新建立 TCP 连接和执行后续请求的另一个 TLS 握手所需的时间。增加保持活动状态的超时时间有助于改善分布的 request-per-connection指标。

注意

为了让源保持连接超时值生效,源必须配置为允许持久性连接。

默认超时时间为 5 秒。您可以将此值更改为 1 到 60 秒内的值。如果您需要长于 60 秒的保持活动状态超时,请在中创建一个案例。Amazon Support Center Console

源访问(仅限 Amazon S3 源)

注意

这仅适用于 Amazon S3 存储桶源(使用 S3 静态网站端点的那些源)。

如果您想将对 Amazon S3 存储桶来源的访问权限限制为仅限特定 CloudFront 分配,请选择 Origin 访问控制设置(推荐)

如果 Amazon S3 存储桶源可公开访问,请选择 Public(公有)。

有关更多信息,请参阅限制对 Amazon S3 源的访问

有关如何要求用户仅使用 CloudFront URL 访问自定义源上的对象的信息,请参阅 在自定义源上限制对文件的访问

协议(仅自定义源)

注意

这仅适用于自定义源。

从源站获取对象时 CloudFront 要使用的协议策略。

选择以下任一值:

  • 仅限 HTTP:仅 CloudFront 使用 HTTP 访问来源。

    重要

    当源是 Amazon S3 静态网站托管端点时,仅 HTTP是默认设置,因为 Amazon S3 不支持对静态网站托管端点使用 HTTPS 连接。 CloudFront 控制台不支持更改 Amazon S3 静态网站托管终端节点的此设置。

  • 仅限 HTTPS:仅 CloudFront 使用 HTTPS 访问源。

  • 匹配查看器:使用 HTTP 或 HTTPS CloudFront 与您的来源通信,具体取决于查看者请求的协议。 CloudFront 即使查看者同时使用 HTTP 和 HTTPS 协议发出请求,也只能缓存对象一次。

    重要

    CloudFront 对于转发到此来源的 HTTPS 查看器请求,您的源服务器上 SSL/TLS 证书中的一个域名必须与您为 Origin 域指定的域名相匹配。否则,使用HTTP状态代码502(错误的网关)来 CloudFront 响应查看者的请求,而不是返回请求的对象。有关更多信息,请参阅使用 SSL/TLS 证书的要求 CloudFront

HTTP 端口

注意

这仅适用于自定义源。

(可选)您可以指定自定义源进行侦听的 HTTP 端口。有效值包括端口 80、443 和 1024 至 65535。默认值为端口 80。

重要

当源是 Amazon S3 静态网站托管端点时,端口 80 是默认设置,因为 Amazon S3 仅对静态网站托管端点支持端口 80。 CloudFront 控制台不支持更改 Amazon S3 静态网站托管终端节点的此设置。

HTTPS 端口

注意

这仅适用于自定义源。

(可选)您可以指定自定义源进行侦听的 HTTPS 端口。有效值包括端口 80、443 和 1024 至 65535。默认值为端口 443。当协议设置为仅 HTTP 时,不能为 HTTPS 端口指定值。

最低限度源 SSL 协议

注意

这仅适用于自定义源。

选择在与您的源建立 HTTPS 连接时 CloudFront 可以使用的最低 TLS/SSL 协议。降低 TLS 协议级别会降低安全性,因此建议您选择您的源支持的最新 TLS 协议。当协议设置为仅 HTTP 时,不能为最低限度源 SSL 协议指定值。

如果您使用 CloudFront API 来设置要使用的 TLS/SSL 协议,则无法设置最低协议。 CloudFront 相反,您可以指定所有 CloudFront 可用于您的来源的 TLS/SSL 协议。有关更多信息,请参阅 Amazon CloudFront API 参考OriginSslProtocols中的。

缓存行为设置

通过设置缓存行为,您可以为网站上文件的给定 URL 路径模式配置各种 CloudFront 功能。例如,一个缓存行为可能适用于用作 CloudFront 源服务器的 Web 服务器上的 images 目录中的所有 .jpg 文件。您可为每个缓存行为配置的功能包括:

  • 路径模式

  • 如果您为 CloudFront 分配配置了多个来源,则需要将请求转发 CloudFront 到哪个来源

  • 是否将查询字符串转发到源

  • 访问指定文件是否需要签名的 URL

  • 是否要求用户使用 HTTPS 访问这些文件

  • 无论您的源文件添加到文件中的任何Cache-Control标头的值如何,这些文件在 CloudFront 缓存中停留的最短时间

当您创建新分配时,您为默认缓存行为指定设置,这将自动把所有请求转发到您创建分配时指定的源中。创建分配后,您可以创建其他缓存行为,这些行为定义当它收到与路径模式匹配的对象的请求时如何 CloudFront 响应,例如,*.jpg。如果您创建其他缓存行为,默认缓存行为始终是最后一个被处理的。其他缓存行为是按照它们在 CloudFront 控制台中列出的顺序进行处理的,或者如果你使用的是 CloudFront API,则按照它们在分配DistributionConfig元素中的列出顺序进行处理。有关更多信息,请参阅路径模式

创建缓存行为时,需要指定 CloudFront 要从中获取对象的来源。因此,如果 CloudFront 要分发来自所有来源的对象,则必须至少具有与源一样多的缓存行为(包括默认缓存行为)。例如,如果您有两个源并且只有默认的缓存行为,则默认的缓存行为会 CloudFront 导致从其中一个源获取对象,但永远不会使用另一个源。

有关您可以添加到分配的当前最大缓存行为数,或要请求提高配额(以前称为限制),请参阅分配的一般配额

路径模式

路径模式(例如,images/*.jpg)指定您希望该缓存行为所适用的请求。 CloudFront 收到最终用户请求时,将按缓存行为在分配中列出的顺序将请求的路径与路径模式进行比较。第一个匹配者决定了哪个缓存行为适用于该请求。例如,假设您具有以下三个路径模式的三个缓存行为,顺序如下:

  • images/*.jpg

  • images/*

  • *.gif

注意

例如,您可以选择在路径模式的开头加入斜杠 (/)。/images/*.jpg CloudFront 带或不带前导 /的行为都是一样的。如果您没有在路径的开头指定/,则会自动隐含此字符;无论有没有前导/,都将路径 CloudFront 视为相同。例如, CloudFront 对待等/*product.jpg同于 *product.jpg

文件 images/sample.gif 的请求不符合第一个路径模式,因此,相关的缓存行为不适用于该请求。文件符合第二路径模式,因此,与第二个路径模式有关的缓存行为适用,即使该请求与第三个路径模式也匹配。

注意

在创建新的分配时,默认缓存行为的路径模式的值将设置为 *(所有文件)且无法更改。此值会 CloudFront 导致将对您的对象的所有请求转发到您在源域字段中指定的源。如果对某个对象的请求与任何其他缓存行为的路径模式不匹配, CloudFront 则应用您在默认缓存行为中指定的行为。

重要

请谨慎定义路径模式及其顺序,否则您可能会向用户提供非预期的内容访问权限。例如,假设请求匹配两个缓存行为的路径模式。第一个缓存行为不要求签名 URL,而第二个缓存行为要求签名 URL。用户无需使用签名 URL 即可访问对象,因为会 CloudFront 处理与第一个匹配项关联的缓存行为。

如果您使用的是 MediaPackage 频道,则必须包括为源端点类型定义的缓存行为的特定路径模式。例如,对于 DASH 端点,为路径模式键入 *.mpd。有关更多信息和具体说明,请参阅提供使用 AWS Elemental MediaPackage 格式化的实时视频

您指定的路径适用于对指定目录和指定目录下子目录下所有文件的请求。 CloudFront 在评估路径模式时不考虑查询字符串或 Cookie。例如,如果 images 目录包含 product1product2 子目录,此路径模式 images/*.jpg 适用于 imagesimages/product1images/product2 目录中任何 .jpg 文件的请求。如果您希望将不同的缓存行为应用于 images/product1 目录中的文件而非 imagesimages/product2 目录中文件,为 images/product1 创建单独的缓存行为,并将该缓存行为移到 images 目录中缓存行为上方 (前面) 的位置。

您可在路径模式中使用以下通配符:

  • * 匹配 0 或多个字符。

  • ? 精准匹配 1 个字符。

以下示例展示了通配符如何工作:

路径模式 与路径模式匹配的文件

*.jpg

所有 .jpg 文件。

images/*.jpg

images 目录及该 images 目录下子目录中的所有 .jpg 文件。

a*.jpg

  • 文件名以 a 开头的所有 .jpg 文件,例如,apple.jpgappalachian_trail_2012_05_21.jpg

  • 文件路径以 a 开头的所有 .jpg 文件,例如,abra/cadabra/magic.jpg

a??.jpg

文件名以 a 开头且随后紧跟两个其它字符的所有 .jpg 文件,例如,ant.jpgabe.jpg

*.doc*

文件扩展名以 .doc 开头的所有文件,例如,.doc.docx.docm 文件。在这种情况下,您不能使用路径模式 *.doc?,因为该路径模式不适用于 .doc 文件的请求;? 通配符精确替换一个字符。

路径模式的长度上限是 255 个字符。该值可包含以下任何字符:

  • A-Z, a-z

    路径模式区分大小写,因此,路径模式 *.jpg 不适用于文件 LOGO.JPG

  • 0-9

  • _ - . * $ / ~ " ' @ : +

  • &,作为 & 传递和返回

源或源组

输入现有源或源组的值。当请求(例如 https://example.com/logo.jpg)与缓存行为(例如*.jpg)或默认缓存行为(*)的路径模式匹配时,它会标识您要 CloudFront 将请求路由到的源或源组。

查看器协议策略

选择您希望查看者在 CloudFront 边缘位置访问您的内容时使用的协议策略:

  • HTTP 和 HTTPS:查看器可使用两种协议。

  • Redirect HTTP to HTTPS (将 HTTP 重定向到 HTTPS):查看器可使用两种协议,但 HTTP 请求将自动重定向到 HTTP 请求。

  • 仅 HTTPS:如果查看器使用了 HTTPS,则只能访问您的内容。

有关更多信息,请参阅需要使用 HTTPS 才能在观看者之间进行通信 CloudFront

允许的 HTTP 方法

指定要处理并转发 CloudFront 到源的 HTTP 方法:

  • GET,HEAD:你 CloudFront 只能使用从你的原点获取对象或获取对象标题。

  • GET、HEAD、OPTIONS:您只能使用 CloudFront 从源中获取对象,获取对象标头或检索源服务器支持的选项列表。

  • GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE:您可以使用 CloudFront 获取、添加、更新和删除对象以及获取对象标题。此外,您可以执行其他 POST 操作,例如从 Web 表格提交数据。

    注意

    CloudFront 缓存对GETHEAD请求的响应以及请求(可选)。OPTIONSOPTIONS请求的响应与对请求的响应GETHEAD请求的响应分开缓存(该OPTIONS方法包含在OPTIONS请求的缓存密钥中)。 CloudFront 不缓存对使用其他方法的请求的响应。

重要

如果您选择 GET, HEAD, OPTIONSGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE,则可能需要限制对 Amazon S3 存储桶或自定义源的访问,以阻止用户执行您不希望他们执行的操作。以下示例说明了如何限制访问:

  • 如果您使用 Amazon S3 作为分配的来源:创建 CloudFront 源访问控制以限制对您的 Amazon S3 内容的访问,并向源访问控制授予权限。例如,如果您因为要使用而配置 CloudFront 为接受和转发这些方法PUT,则仍必须配置 Amazon S3 存储桶策略以适当地处理DELETE请求。有关更多信息,请参阅限制对 Amazon S3 源的访问

  • 如果您使用自定义源:配置源服务器以处理所有方法。例如,如果您因为 CloudFront 要使用而配置为接受和转发这些方法POST,则仍必须将源服务器配置为适当地处理DELETE请求。

字段级加密 Config

如果您要对特定数据字段强制实施字段级加密,请在下拉列表中选择一个字段级加密配置。

有关更多信息,请参阅使用字段级加密帮助保护敏感数据

缓存的 HTTP 方法

指定是否 CloudFront 要在查看者提交OPTIONS请求时缓存来自您的来源的响应。 CloudFront 总是缓存对GETHEAD请求的响应。

基于选择的请求标头进行缓存

指定是否 CloudFront 要根据指定标头的值缓存对象:

  • 无(改进了缓存)— CloudFront 不根据标题值缓存对象。

  • Allowlist — 仅根据指定标题的值 CloudFront 缓存对象。使用 Allowlist Head ers 来选择 CloudFront 要作为缓存基础的标头。

  • 全部 — CloudFront 不缓存与此缓存行为关联的对象。而是 CloudFront 将所有请求发送到源。(不建议用于 Amazon S3 源。)

无论您选择哪种选项,都会将某些标题 CloudFront 转发到您的来源,并根据您转发的标题采取特定的操作。有关如何 CloudFront 处理标头转发的更多信息,请参阅HTTP 请求标头和 CloudFront 行为(自定义来源和 Amazon S3 来源)

有关如何使用请求标头在中配置缓存 CloudFront 的更多信息,请参阅根据请求标头缓存内容

允许列表标头

指定缓存对象时 CloudFront 要考虑的标题。从可用标头列表中选择标头,然后选择添加。要转发自定义标头,请在字段中输入标头的名称,然后选择添加自定义标头

有关您可以为每个缓存行为列入允许列表的当前最大标头数,或者要请求提高配额(以前称为限制),请参阅标头的配额

对象缓存

如果您的源服务器正在向对象添加Cache-Control标题以控制对象在 CloudFront 缓存中保留多长时间,并且您不想更改该Cache-Control值,请选择 Use O rigin Cache Headers

要指定无论标题如何,您的对象在 CloudFront缓存中停留的最短和最长时间,以及当对象中缺少Cache-ControlCache-Control题时,对象在 CloudFront 缓存中停留的默认时间,请选择 “自定义”。然后,在最小 TTL默认 TTL最大 TTL 字段中指定值。

有关更多信息,请参阅管理内容保留在缓存中的时间长度(过期)

最小 TTL

指定在向源 CloudFront 发送另一个请求以确定对象是否已更新之前,您希望对象在 CloudFront 缓存中停留的最短时间(以秒为单位)。

有关更多信息,请参阅管理内容保留在缓存中的时间长度(过期)

最大 TTL

指定在 CloudFront 查询源以查看对象是否已更新之前,您希望对象在 CloudFront 缓存中停留的最长时间(以秒为单位)。您为最大 TTL 指定的值仅在源向对象添加 HTTP 标头 (例如 Cache-Control max-ageCache-Control s-maxageExpires) 时适用。有关更多信息,请参阅管理内容保留在缓存中的时间长度(过期)

要指定 Maximum TTL 的值,您必须为 Object Caching 设置选择 Customize 选项。

Maximum TTL 的默认值为 31536000 秒 (一年)。如果您将 Minimum TTLDefault TTL 的值更改为一个大于 31536000 秒的值,则 Maximum TTL 的默认值将变为 Default TTL 的值。

默认 TTL

指定在将另一个请求 CloudFront 转发到您的源以确定对象是否已更新之前,您希望对象在 CloudFront 缓存中停留的默认时间(以秒为单位)。您为默认 TTL 指定的值仅在源不向对象添加 HTTP 标头(例如 Cache-Control max-ageCache-Control s-maxageExpires)时才适用。有关更多信息,请参阅管理内容保留在缓存中的时间长度(过期)

要指定默认 TTL 的值,您必须为对象缓存设置选择自定义选项。

默认 TTL 的默认值为 86400 秒 (一天)。如果您将最短 TTL 的值更改为一个大于 86400 秒的值,则默认 TTL 的默认值将更改为最短 TTL 的值。

转发 Cookie

注意

对于 Amazon S3 源,此选项仅适用于配置为网站端点的存储桶。

指定是否 CloudFront 要将 Cookie 转发到您的源服务器,如果是,请指定哪些服务器。如果您选择仅转发选定的 Cookie(Cookie 允许列表),请在允许列表 Cookie 字段中输入 Cookie 名称。如果您选择所有,不管您的应用程序使用多少 Cookie, CloudFront 都会转发所有 Cookie。

Amazon S3 不处理 Cookie,且将 Cookie 转发到来源会降低缓存能力。对于将请求转发到 Amazon S3 源的缓存行为,请对转发 Cookie 选择

有关转发 cookie 到源的更多信息,请转至 根据 Cookie 缓存内容

允许列表 Cookie

注意

对于 Amazon S3 源,此选项仅适用于配置为网站端点的存储桶。

如果您在 “转发 Cookie列表中选择了 “允许名单”,则在 “允许名单 Cookie” 字段中,输入您要针对此缓存行为转发 CloudFront到源服务器的 Cookie 的名称。在新一行中输入每个 Cookie 的名称。

可以使用以下通配符来指定 Cookie 名称:

  • * 匹配 Cookie 名称中的 0 个或多个字符

  • ? 与 Cookie 名称中的 1 个字符完全匹配

例如,假设对象的查看器请求包含一个带以下名称的 Cookie:

userid_member-number

其中,您的每个用户均具有一个唯一的 member-number 值。你 CloudFront 想为每个成员缓存一个单独的对象版本。您可以通过将所有 Cookie 转发到您的来源来实现此目的,但查看者请求中包含一些您不 CloudFront 想缓存的 Cookie。或者,您可以将以下值指定为 Cookie 名称,这样可以将所有 CloudFront 以以下开头的 Cookie 转发到原始地址userid_

userid_*

有关您可以为每个缓存行为列入允许列表的当前最大 cookie 名称数,或者要请求提高配额(以前称为限制),请参阅Cookies 的配额(旧缓存设置)

查询字符串转发和缓存

CloudFront 可以根据查询字符串参数的值缓存内容的不同版本。请选择以下任一选项:

None (Improves Caching)

如果无论查询字符串参数的值如何,源都返回相同版本的对象,请选择该选项。这增加了从缓存中处理请求的可能性,从而提高了性能并减少了源站的负载。 CloudFront

全部转发,基于允许列表进行缓存

如果源服务器根据一个或多个查询字符串参数返回不同版本的对象,请选择该选项。然后指定 CloudFront 要用作查询字符串允许列表现场缓存基础的参数。

Forward all, cache based on all

如果源服务器为所有查询字符串参数返回不同版本的对象,请选择该选项。

有关基于查询字符串参数进行缓存的更多信息(包括如何改进性能),请参阅根据查询字符串参数缓存内容

查询字符串允许列表

如果选择 “全部转发,基于许可名单进行缓存查询字符串转发和缓存,请指定 CloudFront 要用作缓存基础的查询字符串参数。

平滑流

如果您希望以 Microsoft Smooth Streaming 格式分发媒体文件并且您没有 IIS 服务器,则选择

如果您有 Microsoft IIS 服务器并且要将其用作以 Microsoft Smooth Streaming 格式分发媒体文件的源,或者您不打算分发平滑流媒体文件,则选择 No (否)

注意

如果您指定 Yes (是),您仍可以使用该缓存行为分配其他内容,只要该内容与 Path Pattern (路径模式) 值匹配。

有关更多信息,请参阅为 Microsoft Smooth Streaming 配置点播视频

限制查看器访问(使用签名 URL 或签名 Cookie)

如果您希望与该缓存行为的 PathPattern 匹配的对象请求使用公共 URL,请选择 No

如果您希望与该缓存行为的 PathPattern 匹配的对象请求使用签名 URL,请选择 Yes。然后指定您希望用于创建签名 URL 的 Amazon 账户;这些账户被称为可信签署人。

有关可信签署人的更多信息,请参阅指定可以创建签名 URL 和签名 Cookie 的签署人

可信签署人

选择您希望用作此缓存行为的可信签署人的 Amazon 账户:

  • 本身:将您当前登录到 Amazon Web Services Management Console的账户作为可信签署人。如果您目前作为 IAM 用户登录,添加相关的 Amazon 账户作为可信签署人。

  • 指定账户:Amazon 账号字段中输入可信签署人的账户号码。

要创建签名 URL,一个Amazon账户必须至少有一个有效的 CloudFront密钥 pair。

重要

如果您更新您已经用于分发内容的分配,则在准备开始产生对象的签名 URL 时只添加可信签署人。在您把可信签署人添加到分配为后,用户必须使用签名 URL 访问与该缓存行为 PathPattern 匹配的对象。

Amazon Web Services 账户 数字

除当前账户之外或替代当前账户,如果您想使用 Amazon Web Services 账户 创建签名 URL,请在该字段每一行输入一个 Amazon Web Services 账户 号。请注意以下几点:

  • 您指定的账户必须至少具有一个有效的 CloudFront 密钥对。有关更多信息,请参阅为签署人创建密钥对

  • 您无法为 IAM 用户创建 CloudFront 密钥对,因此不能将 IAM 用户用作可信签署人。

  • 有关如何获得账户的 Amazon Web Services 账户账号的信息,请参阅《Amazon Web Services 一般参考》中的您的 Amazon Web Services 账户标识符

  • 如果您输入当前账户的账号,则 CloudFront会自动选中 “自我” 复选框并从 “账号” 列表中删除该Amazon账号

自动压缩对象

如果 CloudFront 要在查看器支持压缩内容时自动压缩某些类型的文件,请选择 “”。当 CloudFront 压缩内容时,由于文件更小,因此下载速度更快,并会更快地为用户呈现网页。有关更多信息,请参阅提供压缩文件

CloudFront 事件

您可以选择在CloudFront 发生以下一个或多个事件时运行 Lambda 函数:

  • 当 CloudFront 收到观众的请求时(观看者请求)

  • 在将请求 CloudFront 转发到源站之前(源请求)

  • 当 CloudFront 收到来自来源的响应(源站响应)时

  • Before 向查看者 CloudFront 返回响应(查看者响应)

有关更多信息,请参阅如何决定使用哪个 CloudFront 事件来触发 Lambda @Edge 函数

Lambda 函数 ARN

指定要为其添加触发器的 Lambda 函数的 Amazon Resource Name (ARN)。要了解如何获取函数的 ARN,请参阅使用控制台添加触发器过程的步骤 1。 CloudFront

分配设置

以下值适用于整个分配。

价格级别

选择与您要为 CloudFront 服务支付的最高价格相对应的价格等级。默认情况下,从所有 CloudFront 区域的边缘位置 CloudFront 提供对象。

有关价格等级以及您选择的价格等级如何影响分销 CloudFront 绩效的更多信息,请参阅为 CloudFront 分配选择价格等级。有关CloudFront 定价的信息,包括价格等级如何映射到 CloudFront 区域,请访问 Amazon CloudFront 定价

Amazon WAF Web ACL

您可以使用 Web 应用程序防火墙保护您的 CloudFront 分发,该防火墙允许您保护 Web 应用程序和 API,以便在请求到达服务器之前将其阻止。Amazon WAF为新分配启用 Amazon WAF在创建或编辑 CloudFront 分配时可以。

或者,您可以稍后在 Amazon WAF 控制台(https://console.aws.amazon.com/wafv2/)中为特定于您的应用程序的其他威胁配置额外的安全保护。

有关 Amazon WAF 的更多信息,请参阅《Amazon WAF 开发人员指南》https://docs.amazonaws.cn/waf/latest/developerguide/

备用域名 (CNAME)

可选。指定一个或多个要用作对象网址的域名,而不是创建分配时 CloudFront 分配的域名。您必须拥有该域名,或有权使用它,您可以通过添加 SSL/TLS 证书来验证这一点。

例如,如果您希望对象的 URL:

/images/image.jpg

像这样:

https://www.example.com/images/image.jpg

而不是这样:

https://d111111abcdef8.cloudfront.net/images/image.jpg

www.example.com 添加 CNAME。

重要

如果将 www.example.com 的 CNAME 添加到您的分配中,还必须执行以下操作:

  • 创建(或更新)一条 CNAME 记录,让您的 DNS 服务将对 www.example.com 的查询路由到 d111111abcdef8.cloudfront.net

  • 向添加 CloudFront 来自可信证书颁发机构 (CA) 的证书,该证书涵盖您添加到分配中的域名 (CNAME),以验证您使用该域名的授权。

您必须具有权限才能创建 CNAME 记录,并指定域的 DNS 服务提供商。通常,这意味着您拥有该域,或者您正在为域所有者开发应用程序。

有关您可以添加到分配的当前最大备用域名数,或者要请求提高配额(以前称为限制),请参阅分配的一般配额

更多有关备用域名的信息,请参阅 通过添加备用域名 (CNAME) 使用自定义 URL。有关 CloudFront URL 的更多信息,请参阅自定义中文件的 URL 格式 CloudFront

SSL 证书

如果指定一个备用域名来与您的分配结合使用,请选择自定义 SSL 证书,然后,要想验证您是否获得授权使用该备用域名,请选择一个涵盖它的证书。如果您希望查看器使用 HTTPS 访问您的对象,请选择支持此操作的设置。

注意

在您可以指定自定义 SSL 证书之前,您必须指定一个有效的备用域名。有关更多信息,请参阅 使用备用域名的要求使用备用域名和 HTTPS

  • 默认 CloudFront 证书 (*.cloudfront.net)-如果您想在对象的 URL 中使用 CloudFront 域名,请选择此选项,例如。https://d111111abcdef8.cloudfront.net/image1.jpg

  • 自定义 SSL 证书 – 如果要将对象的 URL 中的您自己的域名作为备用域名,例如 https://example.com/image1.jpg,则选择该选项。然后,选择一个涵盖该备用域名的证书。证书列表中可以包括以下任一证书:

    • Amazon Certificate Manager 提供的证书

    • 您从第三方证书颁发机构购买并上传到 ACM 的证书

    • 您从第三方证书颁发机构购买并上传到 IAM 证书存储的证书

    如果选择此设置,则建议您只在对象 URL 中使用一个备用域名 (https://example.com/logo.jpg)。如果您使用 CloudFront 分发域名 (https://d111111abcdef8.cloudfront.net/logo.jpg),而客户端使用不支持 SNI 的旧版查看器,则查看器的响应方式取决于您为 “支持的客户端” 选择的值:

    • 所有客户端:查看器会显示一条警告,因为 CloudFront 域名与您的 SSL/TLS 证书中的域名不匹配。

    • 仅支持 Server Name 指示 (SNI) 的客户 CloudFront 端:在不返回对象的情况下断开与查看者的连接。

自定义 SSL 客户端支持

如果您为分配指定了一个或多个备用域名和自定义 SSL 证书,请选择 CloudFront 要如何处理 HTTPS 请求:

  • Clients that Support Server Name Indication (SNI) - (Recommended) (支持服务器名称指示 (SNI) 的客户端 - (推荐)) – 使用此设置,几乎所有新式 Web 浏览器和客户端都可以连接到分配,因为它们支持 SNI。但是,某些查看者可能会使用较旧的 Web 浏览器或不支持 SNI 的客户端,这意味着他们无法连接到分配。

    要使用 CloudFront API 应用此设置,请在SSLSupportMethod字段sni-only中指定。在 Amazon CloudFormation 中,此字段命名为 SslSupportMethod(注意不同的大写)。

  • Legacy Clients Support (旧版客户端支持) – 使用此设置,旧版 Web 浏览器和不支持 SNI 的客户端可以连接到分配。但是,此设置会产生额外的月度费用。要了解确切的价格,请前往 Amazon CloudFront 定价页面,在页面上搜索专用 IP 自定义 SSL

    要使用 CloudFront API 应用此设置,请在SSLSupportMethod字段vip中指定。在 Amazon CloudFormation 中,此字段命名为 SslSupportMethod(注意不同的大写)。

有关更多信息,请参阅选择如何处理 HT CloudFront TPS 请求

安全策略

指定 CloudFront 要用于与查看者(客户端)的 HTTPS 连接的安全策略。安全策略确定两个设置:

  • CloudFront 用于与观看者通信的最低 SSL/TLS 协议。

  • CloudFront 可用于加密返回给查看者的内容的密码。

有关安全策略(包括每个策略包含的协议和密码)的更多信息,请参阅查看器与之间支持的协议和密码 CloudFront

可用的安全策略取决于您为 SSL 证书和自定义 SSL Client Supp ort(在 CloudFront API SSLSupportMethod 中称为CloudFrontDefaultCertificate和)指定的值:

  • SSL 证书为默认CloudFront 证书 (*.cloudfront.net)(在 API true 中时)时, CloudFront 会自动将安全策略设置CloudFrontDefaultCertificate为 TLSv1。

  • SSL 证书自定义 SSL 证书 (example.com) 并且 自定义 SSL 客户端支持支持服务器名称指示 (SNI) 的客户端 -(推荐)时(在 API 中 CloudFrontDefaultCertificatefalse 并且 SSLSupportMethodsni-only 时),您可以从以下安全策略中进行选择:

    • TLSv1.2_2021

    • TLSv1.2_2019

    • TLSv1.2_2018

    • TLSv1.1_2016

    • TLSv1_2016

    • TLSv1

  • SSL 证书自定义 SSL 证书 (example.com) 并且 自定义 SSL 客户端支持旧版客户端支持时(在 API 中 CloudFrontDefaultCertificatefalse 并且 SSLSupportMethodvip 时),您可以从以下安全策略中进行选择:

    • TLSv1

    • SSLv3

    在这种配置中,tlsv1.2_2021、tlsv1.2_2019、tlsv1.2_2018、tlsv1.1_2016 和 tlsv1_2016 安全策略在控制台或 API 中不可用。 CloudFront 如果要使用这些安全策略之一,您可以选择以下选项:

    • 评估您的分配是否需要具有专用 IP 地址的旧版客户端支持。如果查看器支持服务器名称指示 (SNI),建议您将分配的自定义 SSL 客户端支持设置更新为 支持服务器名称指示 (SNI) 的客户端(在 API 中将 SSLSupportMethod 设置为 sni-only)。这使您能够使用任何可用的 TLS 安全策略,还可以减少 CloudFront费用。

    • 如果您必须保留具有专用 IP 地址的旧版客户端支持,则可以通过在 Amazon 支持中心创建案例来请求其他 TLS 安全策略(TLSv1.2_2021、TLSv1.2_2019、TLSv1.2_2018、TLSv1.1_2016 或 TLSv1_2016)之一。

      注意

      在联系 Amazon Support 以请求此更改之前,请考虑以下事项:

      • 当您将其中一个安全策略(TLSv1.2_2021、TLSv1.2_2019、TLSv1.2_2018、TLSv1.1_2016 或 TLSv1_2016)添加到某个旧版客户端支持分配时,安全策略将应用于您的Amazon账户中所有旧版客户端支持分配的所有非 SNI 查看器请求。但是,当查看器将 SNI 请求发送到具有旧版客户端支持的分配时,该分配的安全策略适用。要确保将您所需的安全策略应用于发送到 Amazon 账户中所有旧版客户端支持分配的所有查看器请求,请将所需安全策略分别添加到每个分配。

      • 根据定义,新安全策略不支持与旧安全策略相同的密码和协议。例如,如果您选择将分配的安全策略从 TLSV1 升级到 TLSV1.1_2016,则该分配将不再支持 DES-CBC3-SHA 密码。有关每个安全策略支持的密码和协议的更多信息,请参阅查看器与之间支持的协议和密码 CloudFront

支持的 HTTP 版本

选择观看者与之通信时您希望您的发行版支持的 HTTP 版本 CloudFront。

对于查看者来说, CloudFront 要使用 HTTP/2,观看者必须支持 TLSv1.2 或更高版本以及服务器名称指示 (SNI)。 CloudFront 不提供基于 HTTP/2 的 gRPC 的原生支持。

对于查看者来说, CloudFront 要使用 HTTP/3,观看者必须支持 TLSv1.3 和服务器名称指示 (SNI)。 CloudFront 支持 HTTP/3 连接迁移,允许查看者在不丢失连接的情况下切换网络。有关连接迁移的更多信息,请参阅 RFC 9000 中的连接迁移

注意

有关受支持的 TLSv1.3 密码的更多信息,请参阅查看器与之间支持的协议和密码 CloudFront

默认根对象

可选。当查看者请求 CloudFront 分配的根 URL (index.html) 而不是分配中的对象 (https://www.example.com/) 时,您要从您的来源请求的对象(例如https://www.example.com/product-description.html)。指定一个默认根对象,以避免公开分配的内容。

名称的长度上限是 255 个字符。该名称可包含以下任何字符:

  • A-Z, a-z

  • 0-9

  • _ - . * $ / ~ " '

  • &,作为 & 传递和返回

当您指定默认根对象时,请仅输入对象名称,例如 index.html。不要在对象名称前添加 /

有关更多信息,请参阅 指定默认根对象

日志记录

您是否 CloudFront 要记录有关每个对象请求的信息并将日志文件存储在 Amazon S3 存储桶中。您可以随时启用或禁用日志记录。启用日志记录无额外的费用,但存储和访问 Amazon S3 存储桶中的文件会产生常规的 Amazon S3 费用。您可以随时删除日志文件。有关 CloudFront 访问日志的更多信息,请参阅配置和使用标准日志(访问日志)

日志存储桶

如果您选择开启作为日志记录,则您 CloudFront 要在其中存储访问日志的 Amazon S3 存储桶,例如myLogs-DOC-EXAMPLE-BUCKET.s3.amazonaws.com

重要

请勿在以下任何区域选择 Amazon S3 存储桶,因为 CloudFront 不会向这些区域的存储桶传输标准日志:

  • 非洲(开普敦)

  • 亚太地区(香港)

  • 亚太地区(海得拉巴)

  • 亚太地区(雅加达)

  • 亚太地区(墨尔本)

  • Canada(Central)

  • 欧洲地区(米兰)

  • 欧洲(西班牙)

  • 欧洲(苏黎世)

  • 以色列(特拉维夫)

  • 中东(巴林)

  • 中东(阿联酋)

如果您启用日志 CloudFront 记录,则会记录有关每个最终用户请求对象的信息,并将文件存储在指定的 Amazon S3 存储桶中。您可以随时启用或禁用日志记录。有关 CloudFront 访问日志的更多信息,请参阅配置和使用标准日志(访问日志)

注意

您必须拥有必需的权限才能获取和更新 Amazon S3 存储桶 ACL,并且存储桶的 S3 ACL 必须向您授予 FULL_CONTROL。这允许 CloudFront 向awslogsdelivery账户授予在存储桶中保存日志文件的权限。有关更多信息,请参阅配置标准日志记录和访问您的日志文件所需的权限

日志前缀

可选。如果您为 Lo g ging 选择了 On,请指定CloudFront 要作为此分配访问日志文件名前缀的字符串(如果有),例如exampleprefix/尾随斜杠 (/) 是可选的,但建议简化浏览您的日志文件。有关 CloudFront 访问日志的更多信息,请参阅配置和使用标准日志(访问日志)

Cookie 日志记录

如果您 CloudFront 想在访问日志中包含 Cookie,请选择 On。如果您选择将 Cookie 包含在日志中, CloudFront 则记录所有 Cookie,而不管您如何配置该分配的缓存行为:转发所有 Cookie,不转发 Cookie,或将指定的 Cookie 列表转发到源。

Amazon S3 不处理 cookie,因此除非您的分配也包括 Amazon EC2 或其它自定义源,否则建议您为 Cookie 日志记录的值选择关闭

有关 cookie 的更多信息,请转至 根据 Cookie 缓存内容

启用 IPv6

IPv6 是新版本的 IP 协议。它是 IPv4 的最终替代品,并且使用更大的地址空间。 CloudFront 始终响应 IPv4 请求。如果 CloudFront 要响应来自 IPv4 IP 地址(例如 192.0.2.44)的请求和来自 IPv6 地址(例如 2001:0 db 8:85 a3:: 8a2e: 0370:7334)的请求,请选择启用 IPv6。

通常,如果您有 IPv6 网络上的用户需要访问您的内容,则应启用 IPv6。不过,如果您使用签名 URL 或签名的 Cookie 来限制对您的内容的访问,并且您使用自定义策略(该策略包含 IpAddress 参数以限制可访问您的内容的 IP 地址),请不要启用 IPv6。如果您希望按 IP 地址限制对某些内容的访问,而不限制对其他内容的访问 (或限制访问,但不按 IP 地址实施限制),则您可创建两个分配。有关使用自定义策略创建签名 URL 的信息,请参阅使用自定义策略创建签名 URL。有关使用自定义策略创建签名 Cookie 的信息,请参阅使用自定义策略设置签名 Cookie

如果您使用 Route 53 别名资源记录集将流量路由到您的CloudFront 分配,则需要在满足以下两个条件时创建第二个别名资源记录集:

  • 您为分发启用 IPv6

  • 您在对象的 URL 中使用备用域名

有关更多信息,请参阅 Amazon Route 53 开发者指南中的使用您的域名将流量路由到亚马逊 CloudFront 分配

如果您已使用 Route 53 或其他 DNS 服务创建 CNAME 资源记录集,则无需进行任何更改。CNAME 记录会将流量路由到您的分配,无论查看器请求的 IP 地址格式如何。

如果您启用了 IPv6 和 CloudFront 访问日志,则该c-ip列将包含 IPv4 和 IPv6 格式的值。有关更多信息,请参阅配置和使用标准日志(访问日志)

注意

为了保持较高的客户可用性,如果我们的数据表明 IPv4 将提供更好的用户体验,则使用 IPv4 来 CloudFront 响应观众的请求。要了解通过 IPv6 处理的请求 CloudFront 的百分比,请为您的分配启用 CloudFront 日志记录并解析该c-ip列,该列包含发出请求的查看者的 IP 地址。此百分比将随时间增大,但仍只占据流量的一小部分,因为 IPv6 并未在全球范围内得到所有查看器网络的支持。一些查看器网络具有很好的 IPv6 支持,但其他查看器网络根本不支持 IPv6。(查看器网络类似于您的家庭 Internet 或无线运营商。)

有关我们对 IPv6 的支持的更多信息,请参阅 CloudFront 常见问题。有关启用访问日志的信息,请参阅字段 日志记录日志存储桶日志前缀

注释

可选。在创建分配时,您最多可以包含 128 字符的注释。您可以随时更新注释。

分配状态

表明您是否希望分配在一经部署时就被启用或禁用:

  • 已启用是指,只要分配一经全面部署,您就可部署使用分配域名的链接,并且用户可检索内容。每当启用分发时,都会 CloudFront 接受和处理任何最终用户对使用与该分发关联的域名的内容的请求。

    创建、修改或删除 CloudFront 分配时,您的更改需要一段时间才能传播到 CloudFront 数据库。即刻发起的对分配相关信息的请求可能不会显示出该更改。传播通常在几分钟内完成,但高系统负载或网络分区可能会延长该时间。

  • 已禁用是指,即使分配可能已经部署且准备好使用,用户也不能使用它。无论何时禁用分配,都 CloudFront 不会接受任何使用与该分配关联的域名的最终用户请求。除非您将分配从禁用切换到启用(通过更新分配的配置),否则任何人都不能使用它。

您可根据您想要的频率在禁用和启用之间转换分配。遵照更新分配配置的过程。有关更多信息,请参阅更新分配

自定义错误页面和错误缓存

当你的 Amazon S3 或自定义源向 CloudFront 返回一个 HTTP 4xx 或 5xx 状态代码时,你可以让查看者返回一个对象(例如 HTML 文件)。 CloudFront您还可以指定来自您的来源或自定义错误页面的错误响应在 CloudFront 边缘缓存中缓存多长时间。有关更多信息,请参阅为特定 HTTP 状态代码创建自定义错误页面

注意

以下值不包含在“创建分配”向导中,所以您只能在更新分配时配置自定义错误页面。

HTTP 错误代码

要 CloudFront 为其返回自定义错误页面的 HTTP 状态码。您可以配置为不 CloudFront 返回任何 CloudFront 缓存的 HTTP 状态代码、部分或全部 HTTP 状态代码的自定义错误页面。

错误缓存最小 TTL(秒)

您想要缓存来自源服务器 CloudFront 的错误响应的最短时间。

响应页面路径

您希望源返回您为 /4xx-errors/403-forbidden.htmlError Code CloudFront 指定的 HTTP 状态代码 (例如 403) 时, 返回给查看器的自定义错误页面的路径 (例如 )。如果您希望将您的对象和自定义错误页面存储在不同的位置,您的分配必须包含满足以下条件时的缓存行为:

  • Path Pattern 的值与您的自定义错误消息的路径匹配。例如,假设您在 Amazon S3 存储桶中名为 /4xx-errors 的目录下为 4xx 错误保存了自定义错误页面。您的分配必须包含缓存行为,其路径模式将对自定义错误页面的请求路由至该位置,例如 /4xx-errors/*

  • 值指定包含您的自定义错误页面的源的源 ID 值。

HTTP 响应代码

您要返回 CloudFront 给查看者的 HTTP 状态代码以及自定义错误页面。

地理限制

如果您需要阻止选定国家/地区的用户访问您的内容,则可以使用允许名单或屏蔽列表来配置您的 CloudFront 分发。配置地理限制不收取额外费用。有关更多信息,请参阅限制您的内容的地理分配