你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.AwsConnector cloudFrontDistributions 2024-12-01

Bicep 资源定义

可以使用目标操作部署 cloudFrontDistributions 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.AwsConnector/cloudFrontDistributions 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.AwsConnector/cloudFrontDistributions@2024-12-01' = {
  location: 'string'
  name: 'string'
  properties: {
    arn: 'string'
    awsAccountId: 'string'
    awsProperties: {
      distributionConfig: {
        aliases: [
          'string'
        ]
        cacheBehaviors: [
          {
            allowedMethods: [
              'string'
            ]
            cachedMethods: [
              'string'
            ]
            cachePolicyId: 'string'
            compress: bool
            defaultTTL: int
            fieldLevelEncryptionId: 'string'
            forwardedValues: {
              cookies: {
                forward: 'string'
                whitelistedNames: [
                  'string'
                ]
              }
              headers: [
                'string'
              ]
              queryString: bool
              queryStringCacheKeys: [
                'string'
              ]
            }
            functionAssociations: [
              {
                eventType: 'string'
                functionARN: 'string'
              }
            ]
            lambdaFunctionAssociations: [
              {
                eventType: 'string'
                includeBody: bool
                lambdaFunctionARN: 'string'
              }
            ]
            maxTTL: int
            minTTL: int
            originRequestPolicyId: 'string'
            pathPattern: 'string'
            realtimeLogConfigArn: 'string'
            responseHeadersPolicyId: 'string'
            smoothStreaming: bool
            targetOriginId: 'string'
            trustedKeyGroups: [
              'string'
            ]
            trustedSigners: [
              'string'
            ]
            viewerProtocolPolicy: 'string'
          }
        ]
        cnamEs: [
          'string'
        ]
        comment: 'string'
        continuousDeploymentPolicyId: 'string'
        customErrorResponses: [
          {
            errorCachingMinTTL: int
            errorCode: int
            responseCode: int
            responsePagePath: 'string'
          }
        ]
        customOrigin: {
          dnsName: 'string'
          httpPort: int
          httpsPort: int
          originProtocolPolicy: 'string'
          originSSLProtocols: [
            'string'
          ]
        }
        defaultCacheBehavior: {
          allowedMethods: [
            'string'
          ]
          cachedMethods: [
            'string'
          ]
          cachePolicyId: 'string'
          compress: bool
          defaultTTL: int
          fieldLevelEncryptionId: 'string'
          forwardedValues: {
            cookies: {
              forward: 'string'
              whitelistedNames: [
                'string'
              ]
            }
            headers: [
              'string'
            ]
            queryString: bool
            queryStringCacheKeys: [
              'string'
            ]
          }
          functionAssociations: [
            {
              eventType: 'string'
              functionARN: 'string'
            }
          ]
          lambdaFunctionAssociations: [
            {
              eventType: 'string'
              includeBody: bool
              lambdaFunctionARN: 'string'
            }
          ]
          maxTTL: int
          minTTL: int
          originRequestPolicyId: 'string'
          realtimeLogConfigArn: 'string'
          responseHeadersPolicyId: 'string'
          smoothStreaming: bool
          targetOriginId: 'string'
          trustedKeyGroups: [
            'string'
          ]
          trustedSigners: [
            'string'
          ]
          viewerProtocolPolicy: 'string'
        }
        defaultRootObject: 'string'
        enabled: bool
        httpVersion: 'string'
        ipV6Enabled: bool
        logging: {
          bucket: 'string'
          includeCookies: bool
          prefix: 'string'
        }
        originGroups: {
          items: [
            {
              failoverCriteria: {
                statusCodes: {
                  items: [
                    int
                  ]
                  quantity: int
                }
              }
              id: 'string'
              members: {
                items: [
                  {
                    originId: 'string'
                  }
                ]
                quantity: int
              }
            }
          ]
          quantity: int
        }
        origins: [
          {
            connectionAttempts: int
            connectionTimeout: int
            customOriginConfig: {
              httpPort: int
              httpsPort: int
              originKeepaliveTimeout: int
              originProtocolPolicy: 'string'
              originReadTimeout: int
              originSSLProtocols: [
                'string'
              ]
            }
            domainName: 'string'
            id: 'string'
            originAccessControlId: 'string'
            originCustomHeaders: [
              {
                headerName: 'string'
                headerValue: 'string'
              }
            ]
            originPath: 'string'
            originShield: {
              enabled: bool
              originShieldRegion: 'string'
            }
            s3OriginConfig: {
              originAccessIdentity: 'string'
            }
          }
        ]
        priceClass: 'string'
        restrictions: {
          geoRestriction: {
            locations: [
              'string'
            ]
            restrictionType: 'string'
          }
        }
        s3Origin: {
          dnsName: 'string'
          originAccessIdentity: 'string'
        }
        staging: bool
        viewerCertificate: {
          acmCertificateArn: 'string'
          cloudFrontDefaultCertificate: bool
          iamCertificateId: 'string'
          minimumProtocolVersion: 'string'
          sslSupportMethod: 'string'
        }
        webACLId: 'string'
      }
      domainName: 'string'
      id: 'string'
      tags: [
        {
          key: 'string'
          value: 'string'
        }
      ]
    }
    awsRegion: 'string'
    awsSourceSchema: 'string'
    awsTags: {
      {customized property}: 'string'
    }
    publicCloudConnectorsResourceId: 'string'
    publicCloudResourceName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

Microsoft.AwsConnector/cloudFrontDistributions

名字 描述 价值
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需)
性能 此资源的资源特定属性。 CloudFrontDistributionProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

AwsCloudFrontDistributionProperties

名字 描述 价值
distributionConfig 的 分发的配置。 分发配置。 DistributionConfig 的
域名 属性 domainName 字符串
身份证 属性 ID 字符串
标签 包含零个或多个 Tag 元素的复杂类型。 标签自动生成5[]

缓存行为

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到此缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果未指定,则指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密此缓存行为特定数据字段的字段级加密配置 ID 的值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到此缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
路径模式 模式(例如,images/*.jpg),指定要向其应用行为的请求。 当 CloudFront 收到查看器请求时,请求的路径与路径模式进行比较,其顺序是缓存行为在分发中列出。 可以选择在路径模式的开头包含斜杠(/)。 例如,/images/*.jpg。 CloudFront 行为与前导 /相同。 默认缓存行为的路径模式 *,无法更改。 如果对象请求与任何缓存行为的路径模式不匹配,CloudFront 将应用默认缓存行为中的行为。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 路径模式 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在匹配此缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

CloudFrontDistributionProperties

名字 描述 价值
阿恩 Amazon 资源名称 (ARN) 字符串
awsAccountId AWS 帐户 ID 字符串
awsProperties AWS 属性 AwsCloudFrontDistributionProperties
awsRegion AWS 区域 字符串
awsSourceSchema AWS 源架构 字符串
aws标签 AWS 标记 CloudFrontDistributionPropertiesAwsTags
publicCloudConnectorsResourceId 公有云连接器资源 ID 字符串
publicCloudResourceName (公共云资源名称) 公有云资源名称 字符串

CloudFrontDistributionPropertiesAwsTags

名字 描述 价值

饼干

名字 描述 价值
向前 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指定要转发到此缓存行为的源的 Cookie:所有、无或 WhitelistedNames 复杂类型中指定的 Cookie 列表。 Amazon S3 不处理 Cookie。 当缓存行为将请求转发到 Amazon S3 源时,请为 Forward 元素指定任何请求。 字符串
whitelistedNames (白名单名称) 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略 字符串[]

CustomErrorResponse

名字 描述 价值
errorCachingMinTTL 错误 希望 CloudFront 缓存在 ErrorCode中指定的 HTTP 状态代码的最短时间(以秒为单位)。 此时间段过后,CloudFront 会查询源以查看导致错误的问题是否已解决,并且请求的对象现已可用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 整数 (int)
错误代码 要为其指定自定义错误页和/或缓存持续时间的 HTTP 状态代码。 整数 (int)
responseCode 希望 CloudFront 返回给查看器以及自定义错误页的 HTTP 状态代码。 你可能希望 CloudFront 返回的状态代码与源返回到 CloudFront 的状态代码不同,例如:+ 某些 Internet 设备(例如,某些防火墙和企业代理)截获 HTTP 4xx 和 5xx,并阻止响应返回到查看器。 如果替换 200,则通常不会截获响应。 + 如果你不关心区分不同的客户端错误或服务器错误,可以将 400500 指定为所有 4xx 或 5xx 错误的 ResponseCode。 + 你可能想要返回 200 状态代码(正常)和静态网站,以便客户不知道您的网站已关闭。 如果为 ResponseCode指定值,则还必须指定 ResponsePagePath的值。 整数 (int)
responsePagePath 当源返回由 ErrorCode指定的 HTTP 状态代码(例如 /4xx-errors/403-forbidden.html)时,希望 CloudFront 返回到查看器的自定义错误页的路径。 如果要将对象和自定义错误页存储在不同的位置,则分发版必须包含一个缓存行为,其值为 true:+ PathPattern 的值与自定义错误消息的路径匹配。 例如,假设你在名为 /4xx-errors的目录中的 Amazon S3 存储桶中保存了 4xx 错误的自定义错误页。 分发必须包含缓存行为,路径模式会将自定义错误页的请求路由到该位置,例如 /4xx-errors/*。 + TargetOriginId 的值指定包含自定义错误页的源的 ID 元素的值。 如果为 ResponsePagePath指定值,则还必须指定 ResponseCode的值。 建议将自定义错误页存储在 Amazon S3 存储桶中。 如果在 HTTP 服务器上存储自定义错误页,并且服务器开始返回 5xx 错误,CloudFront 无法获取要返回查看者的文件,因为源服务器不可用。 字符串

CustomOriginConfig

名字 描述 价值
httpPort 端口 CloudFront 用来连接到源的 HTTP 端口。 指定源侦听的 HTTP 端口。 整数 (int)
https端口 CloudFront 用来连接到源的 HTTPS 端口。 指定源侦听的 HTTPS 端口。 整数 (int)
originKeepaliveTimeout 指定 CloudFront 与源的连接持续多长时间(以秒为单位)。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 5 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源保持活动超时 整数 (int)
originProtocolPolicy 的 指定 CloudFront 用于连接到源的协议(HTTP 或 HTTPS)。 有效值为:+ http-only – CloudFront 始终使用 HTTP 连接到源。 + match-viewer – CloudFront 使用与查看器用于连接到 CloudFront 的协议相同的协议连接到源。 + https-only – CloudFront 始终使用 HTTPS 连接到源。 字符串
originReadTimeout (源读取超时) 指定 CloudFront 等待来自源的响应的时长(以秒为单位)。 这也称为 源响应超时。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 30 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源响应超时 整数 (int)
originSSLProtocols 协议 指定 CloudFront 通过 HTTPS 连接到源时使用的最低 SSL/TLS 协议。 有效值包括 SSLv3TLSv1TLSv1.1TLSv1.2。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 最小源 SSL 协议 字符串[]

DefaultCacheBehavior

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到默认缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果不是,请指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密默认缓存行为特定数据字段的字段级加密配置的 ID 值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到默认缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在使用默认缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任的签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

DistributionConfig 的

名字 描述 价值
别名 包含有关 CNAME(备用域名)的信息(如果有)的复杂类型。对于此分发。 字符串[]
cacheBehaviors 包含零个或多个 CacheBehavior 元素的复杂类型。 CacheBehavior[]
cnamEs 属性 cnamEs 字符串[]
评论 描述分发的注释。 批注长度不能超过 128 个字符。 字符串
continuousDeploymentPolicyId 持续部署策略的标识符。 有关详细信息,请参阅 CreateContinuousDeploymentPolicy 字符串
customErrorResponses 控制以下内容的复杂类型:+ CloudFront 是否将 4xx 和 5xx 范围内的 HTTP 状态代码替换为自定义错误消息,然后再将响应返回到查看器。 + CloudFront 缓存 4xx 和 5xx 范围内的 HTTP 状态代码的时间。 有关自定义错误页的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 CustomErrorResponse[]
customOrigin 属性 customOrigin LegacyCustomOrigin
defaultCacheBehavior 一种复杂类型,用于描述默认缓存行为(如果未指定 CacheBehavior 元素或文件与 PathPattern 元素中的任何 CacheBehavior 值不匹配)。 必须创建一个默认缓存行为。 如果未指定 CacheBehavior 元素或请求 URL 与 PathPattern 元素中的任何 CacheBehavior 值不匹配,则描述默认缓存行为的复杂类型。 必须创建一个默认缓存行为。 DefaultCacheBehavior
defaultRootObject 对象 当查看器请求分发(index.html)而不是分发(https://www.example.com)中的对象时,你希望 CloudFront 从源(例如,https://www.example.com/product-description.html)请求的对象。 指定默认根对象可避免公开分发的内容。 仅指定对象名称,例如,index.html。 不要在对象名称之前添加 /。 如果不想在创建分布时指定默认根对象,请包含一个空 DefaultRootObject 元素。 若要从现有分发中删除默认根对象,请更新分发配置,并包括一个空 DefaultRootObject 元素。 若要替换默认根对象,请更新分发配置并指定新对象。 有关默认根对象的详细信息,请参阅 Amazon CloudFront 开发人员指南创建默认根对象 字符串
启用 在此字段中,可以启用或禁用所选分发。 布尔
HTTP版本 (可选)指定希望查看者用来与 CF 通信的最大 HTTP 版本。 新分发版的默认值为 http1.1。 对于查看者和 CF 使用 HTTP/2,查看者必须支持 TLSv1.2 或更高版本,并且必须支持服务器名称指示(SNI)。 对于查看者和 CF 使用 HTTP/3,查看者必须支持 TLSv1.3 和服务器名称指示(SNI)。 CF 支持 HTTP/3 连接迁移,以允许查看器在不丢失连接的情况下切换网络。 有关连接迁移的详细信息,请参阅 RFC 9000 连接迁移。 有关支持的 TLSv1.3 密码的详细信息,请参阅查看者与 CloudFront之间 支持的协议和密码。 字符串
ipV6已启用 如果希望 CloudFront 使用分发的 IPv6 地址响应 IPv6 DNS 请求,请指定 true。 如果指定 false,CloudFront 将使用 DNS 响应代码 NOERROR 且没有 IP 地址响应 IPv6 DNS 请求。 这允许查看者为分发的 IPv4 地址提交第二个请求。 一般情况下,如果你有想要访问内容的 IPv6 网络上的用户,则应启用 IPv6。 但是,如果使用已签名 URL 或已签名的 Cookie 来限制对内容的访问,并且使用的是包含 IpAddress 参数的自定义策略来限制可以访问内容的 IP 地址,请不要启用 IPv6。 如果要通过 IP 地址限制对某些内容的访问,而不要限制对其他内容的访问(或限制访问,但不能通过 IP 地址访问),可以创建两个分发版。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 使用自定义策略 创建签名 URL。 如果使用 R53AWSIntlong 别名资源记录集将流量路由到 CloudFront 分发,则需要在满足以下两项条件时创建第二个别名资源记录集:+ 为分发启用 IPv6 + 在对象的 URL 中使用备用域名有关详细信息,请参阅 使用域名将流量路由到 Amazon CloudFront Web 分发开发人员指南。 如果使用 R53AWSIntlong 或其他 DNS 服务创建了 CNAME 资源记录集,则无需进行任何更改。 无论查看器请求的 IP 地址格式如何,CNAME 记录都会将流量路由到分发。 布尔
伐木 一种复杂类型,用于控制是否为分发编写访问日志。 有关日志记录的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 访问日志。 一种复杂类型,用于控制是否为分发编写访问日志。 日志记录
origin组 包含有关此分发的源组的信息的复杂类型。 为分布指定的源组的复杂数据类型。 源组
起源 包含有关此分布的源的信息的复杂类型。 OriginAutoGenerated[]
价格类 与要为 CloudFront 服务付费的最高价格相对应的价格类。 如果指定 PriceClass_All,CloudFront 将响应来自所有 CloudFront 边缘位置的对象请求。 如果指定非 PriceClass_All的价格类,CloudFront 会从 CloudFront 边缘位置为对象提供服务,该位置在价格类的边缘位置之间延迟最低。 在指定价格类中排除的区域或附近区域的查看者可能会遇到性能较慢的问题。 有关价格类的详细信息,请参阅 Amazon CloudFront 开发人员指南中选择 CloudFront 分发 的价格类。 有关 CloudFront 定价的信息(包括价格类 100)如何映射到 CloudFront 区域,请参阅 Amazon CloudFront 定价 字符串
限制 一种复杂类型,用于标识要限制内容分发的方式。 一种复杂类型,用于标识要限制内容分发的方式。 限制
s3起源 属性 s3Origin LegacyS3Origin
分期 一个布尔值,指示这是否为过渡分发。 当此值 true时,这是过渡分发。 当此值 false时,这不是过渡分发。 布尔
viewerCertificate 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 如果分发不使用 Aliases(也称为备用域名或 CNAME),即,如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将 CloudFrontDefaultCertificate 设置为 true 并将所有其他字段留空。 如果分发使用 Aliases(备用域名或 CNAME),请使用此类型的字段来指定以下设置:+ 分发接受 HTTPS 连接的查看器:仅支持 服务器名称指示(SNI)(推荐)或所有查看者(包括不支持 SNI 的查看者)。 + 若要仅接受支持 SNI 的查看器的 HTTPS 连接,请将 SSLSupportMethod 设置为 sni-only。 建议这样做。 大多数浏览器和客户端都支持 SNI。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 若要接受来自所有查看器(包括不支持 SNI 的查看器)的 HTTPS 连接,请将 SSLSupportMethod 设置为 vip。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 分发可用于与查看者通信的最低 SSL/TLS 协议版本。 若要指定最低版本,请选择 MinimumProtocolVersion的值。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略。 + SSL/TLS 证书的位置、(ACM)(推荐)或 (IAM)。 通过在以下字段之一(不是两个字段)中设置值来指定位置:+ ACMCertificateArn(在 CloudFormation 中,此字段名称 AcmCertificateArn。请注意不同的大写。+ IAMCertificateId (在 CloudFormation 中,此字段名称 IamCertificateId。请注意不同的大写。所有分发版都支持来自查看者的 HTTPS 连接。 若要要求查看者仅使用 HTTPS,或将其从 HTTP 重定向到 HTTPS,请在 ViewerProtocolPolicyCacheBehavior中使用 DefaultCacheBehavior。 若要指定 CloudFront 应如何使用 SSL/TLS 与自定义源通信,请使用 CustomOriginConfig。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 将 HTTPS 与 CloudFront 配合使用,以及 使用备用域名和 HTTPS 查看器证书
webACLId 一个唯一标识符,用于指定要与此分发关联的 WAF Web ACL(如果有)。 若要指定使用最新版本的 WAF 创建的 Web ACL,请使用 ACL ARN,例如 arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a。 若要指定使用 WAF 经典创建的 Web ACL,请使用 ACL ID,例如 473e64fd-f30b-4765-81a0-62ad96dd167a。 WAF 是一种 Web 应用程序防火墙,可用于监视转发到 CloudFront 的 HTTP 和 HTTPS 请求,并允许你控制对内容的访问。 根据指定的条件(例如请求源自的 IP 地址或查询字符串的值),CloudFront 会响应请求内容或 HTTP 403 状态代码(禁止)的请求。 还可以将 CloudFront 配置为在阻止请求时返回自定义错误页。 有关 WAF 的详细信息,请参阅 开发人员指南 字符串

转发值

名字 描述 价值
饼干 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie Cookie
此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含标头,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将标头发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定希望 CloudFront 转发到此缓存行为的源(允许列表标头)Headers(如果有)。 对于指定的标头,CloudFront 还会缓存基于查看器请求中的标头值的指定对象的单独版本。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 基于请求标头 缓存内容。 字符串[]
queryString 查询字符串 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指示是否希望 CloudFront 将查询字符串转发到与此缓存行为关联的源,以及基于查询字符串参数进行缓存。 CloudFront 行为取决于 QueryString 的值以及为 QueryStringCacheKeys指定的值(如果有):如果为 QueryString 指定 true,并且未为 QueryStringCacheKeys指定任何值,CloudFront 会根据所有查询字符串参数将所有查询字符串参数转发到源和缓存。 根据你拥有的查询字符串参数和值数量,这可能会影响性能,因为 CloudFront 必须将更多请求转发到源。 如果为 QueryString 指定 true,并且为 QueryStringCacheKeys指定一个或多个值,则 CloudFront 会将所有查询字符串参数转发到源,但仅缓存基于指定的查询字符串参数。 如果为 QueryString指定 false,CloudFront 不会将任何查询字符串参数转发到源,也不会基于查询字符串参数进行缓存。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 配置 CloudFront 到缓存的查询字符串参数 布尔
queryStringCacheKeys 查询字符串缓存键 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 包含有关希望 CloudFront 用于缓存此缓存行为的查询字符串参数的信息的复杂类型。 字符串[]

函数关联

名字 描述 价值
事件类型 函数的事件类型,viewer-requestviewer-response。 不能将面向源的事件类型(origin-requestorigin-response)与 CloudFront 函数一起使用。 字符串
函数ARN 函数的 Amazon 资源名称(ARN)。 字符串

地理限制

名字 描述 价值
地点 一种复杂类型,其中包含希望 CloudFront 分发内容或不分发内容的每个国家/地区 Location 元素。 字符串[]
限制类型 要用于按国家/地区限制内容分发的方法。 字符串

LambdaFunction关联

名字 描述 价值
事件类型 指定触发Lambda@Edge函数调用的事件类型。 可以指定以下值:+ viewer-request:当 CloudFront 从查看器收到请求,并在检查请求的对象是否位于边缘缓存之前执行。 + origin-request:仅当 CloudFront 向源发送请求时,该函数才会执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + origin-response:函数在 CloudFront 收到来自源的响应之后执行,并在该函数缓存响应中的对象之前执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + viewer-response:函数在 CloudFront 将请求的对象返回到查看器之前执行。 无论对象是否已在边缘缓存中,该函数都会执行。 如果源返回 HTTP 200 以外的 HTTP 状态代码(正常),则函数不会执行。 字符串
includeBody 一个标志,允许Lambda@Edge函数对正文内容具有读取访问权限。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的“包括正文选项” 来 访问请求正文。 布尔
lambdaFunctionARN Lambda@Edge函数的 ARN。 必须指定函数版本的 ARN;不能指定别名或$LATEST。 字符串

LegacyCustomOrigin

名字 描述 价值
dns名称 属性 dnsName 字符串
httpPort 端口 属性 httpPort 整数 (int)
https端口 属性 httpsPort 整数 (int)
originProtocolPolicy 的 属性 originProtocolPolicy 字符串
originSSLProtocols 协议 属性 originSSLProtocols 字符串[]

LegacyS3Origin

名字 描述 价值
dns名称 属性 dnsName 字符串
originAccessIdentity 属性 originAccessIdentity 字符串

伐木

名字 描述 价值
用于存储访问日志的 Amazon S3 存储桶,例如 myawslogbucket.s3.amazonaws.com 字符串
includeCookies 指定是否希望 CloudFront 在访问日志中包含 Cookie,请为 true指定 IncludeCookies。 如果选择在日志中包含 Cookie,则 CloudFront 会记录所有 Cookie,而不考虑为此分发配置缓存行为的方式。 如果不想在创建分发时包含 Cookie,或者想要为现有分发禁用包含 Cookie,请为 false指定 IncludeCookies 布尔
前缀 希望 CloudFront 为此分发的访问日志 filenames 添加前缀的可选字符串,例如 myprefix/。 如果要启用日志记录,但不想指定前缀,仍必须在 Prefix 元素中包含空 Logging 元素。 字符串

Origin自动生成

名字 描述 价值
connectionAttempts CloudFront 尝试连接到源的次数。 最小数字为 1,最大值为 3,默认值(如果未指定)为 3。 对于自定义源(包括配置了静态网站托管的 Amazon S3 存储桶),此值还指定了 CloudFront 尝试从源获取响应的次数,以防 源响应超时。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接尝试 整数 (int)
connectionTimeout 尝试建立与源的连接时 CloudFront 等待的秒数。 最小超时时间为 1 秒,最大值为 10 秒,默认值(如果未指定)为 10 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接超时 整数 (int)
自定义原点配置 使用此类型可以指定不是 Amazon S3 存储桶的源,但有一个例外。 如果 Amazon S3 存储桶配置了静态网站托管,请使用此类型。 如果未将 Amazon S3 存储桶配置为静态网站托管,请改用 S3OriginConfig 类型。 自定义源。 自定义源是 Amazon S3 存储桶的任何源,但有一个例外。 配置静态网站托管的 Amazon S3 存储桶 自定义源。 CustomOriginConfig
域名 源的域名。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源域名 字符串
身份证 源的唯一标识符。 此值在分布中必须是唯一的。 使用此值可指定 TargetOriginIdCacheBehavior中的 DefaultCacheBehavior 字符串
originAccessControlId 此源的源访问控制的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 限制对 Amazon S3 源 的访问。 字符串
originCustomHeaders CloudFront 向发送到源的请求添加的 HTTP 标头名称和值的列表。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 OriginCustomHeader[]
originPath (源路径) 当 CloudFront 从源请求内容时,CloudFront 将追加到源域名的可选路径。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源路径 字符串
originShield CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield。 CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield OriginShield (原源盾)
s3OriginConfig 使用此类型可以指定未配置静态网站托管的 Amazon S3 存储桶的源。 若要指定任何其他类型的源(包括配置有静态网站托管的 Amazon S3 存储桶),请改用 CustomOriginConfig 类型。 包含有关 Amazon S3 源的信息的复杂类型。 如果源是自定义源或配置为网站终结点的 S3 存储桶,请改用 CustomOriginConfig 元素。 S3OriginConfig

OriginCustomHeader

名字 描述 价值
headerName (标头名称) 希望 CloudFront 发送到源的标头的名称。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 字符串
headerValue HeaderName 字段中指定的标头的值。 字符串

源组

名字 描述 价值
failover标准 包含有关源组故障转移条件的信息的复杂类型。 包含源组故障转移条件的信息的复杂数据类型,包括 CloudFront 将从主源故障转移到第二个源的状态代码。 OriginGroupFailoverCriteria
身份证 源组的 ID。 字符串
成员 包含源组中源相关信息的复杂类型。 源组中包含的源的复杂数据类型。 OriginGroup成员

OriginGroupFailoverCriteria

名字 描述 价值
statusCodes 从主要源返回的状态代码将触发 CloudFront 故障转移到第二个源。 指定的状态代码的复杂数据类型,当主要源返回时,将触发 CloudFront 故障转移到第二个源。 状态代码

OriginGroupMember

名字 描述 价值
源 ID 源组中源的 ID。 字符串

OriginGroup成员

名字 描述 价值
项目 源组中的项(原点)。 OriginGroupMember[]
数量 源组中的源数。 整数 (int)

源组

名字 描述 价值
项目 分发中的项(源组)。 OriginGroup []
数量 源组数。 整数 (int)

OriginShield (原源盾)

名字 描述 价值
启用 一个标志,指定是否启用 Origin Shield。 启用后,CloudFront 会通过 Origin Shield 路由所有请求,这有助于保护源。 禁用后,CloudFront 可能会直接从多个边缘位置或区域边缘缓存将请求发送到源。 布尔
originShieldRegion (原盾区域) 起源盾牌的 AWS-Region。 指定源延迟最低的 AWS-Region。 若要指定区域,请使用区域代码,而不是区域名称。 例如,将美国东部(俄亥俄州)区域指定为 us-east-2。 启用 CloudFront Origin Shield 时,必须为 Origin Shield 指定 AWS-Region。 有关可以指定的 AWS-Regions 列表,以及有关如何选择源最佳区域的帮助,请参阅 Amazon CloudFront 开发人员指南中选择原点盾牌 字符串

限制

名字 描述 价值
地理限制 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 地理限制

S3OriginConfig

名字 描述 价值
originAccessIdentity 要与源关联的 CloudFront 源访问标识。 使用源访问标识配置源,以便查看者只能通过 CloudFront 访问 Amazon S3 存储桶中的对象。 该值的格式为:origin-access-identity/cloudfront/ID-of-origin-access-identity 其中 ID-of-origin-access-identity 是创建源访问标识时 CloudFront 在 ID 元素中返回的值。 如果希望查看者能够使用 CloudFront URL 或 Amazon S3 URL 访问对象,请指定空 OriginAccessIdentity 元素。 若要从现有分发中删除源访问标识,请更新分发配置并包括一个空的 OriginAccessIdentity 元素。 若要替换源访问标识,请更新分发配置并指定新的源访问标识。 有关源访问标识的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 通过 CloudFront 提供专用内容。 字符串

状态代码

名字 描述 价值
项目 源组的项(状态代码)。 int[]
数量 状态代码数。 整数 (int)

标签自动生成5

名字 描述 价值
钥匙 包含 Tag 键的字符串。 字符串长度应介于 1 到 128 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串
价值 包含可选 Tag 值的字符串。 字符串长度应介于 0 到 256 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串

TrackedResourceTags

名字 描述 价值

查看器证书

名字 描述 价值
acmCertificateArn 在 CloudFormation 中,此字段名称 AcmCertificateArn。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (ACM)中,请提供 ACM 证书的 Amazon 资源名称(ARN)。 CloudFront 仅支持美国东部(N. 弗吉尼亚州)区域中的 ACM 证书(us-east-1)。 如果指定 ACM 证书 ARN,则还必须指定 MinimumProtocolVersionSSLSupportMethod的值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
cloudFrontDefaultCertificate 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将此字段设置为 true。 如果分发使用 Aliases(备用域名或 CNAME),请省略此字段并指定以下字段的值:+ AcmCertificateArnIamCertificateId(指定一个值而不是两者)+ MinimumProtocolVersion + SslSupportMethod 布尔
iamCertificateId 证书 在 CloudFormation 中,此字段名称 IamCertificateId。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (IAM),请提供 IAM 证书的 ID。 如果指定 IAM 证书 ID,则还必须为 MinimumProtocolVersionSSLSupportMethod指定值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
minimumProtocolVersion 如果分发使用 Aliases(备用域名或 CNAME),请指定希望 CloudFront 用于与查看者建立 HTTPS 连接的安全策略。 安全策略确定两个设置:+ CloudFront 可用于与查看者通信的最低 SSL/TLS 协议。 + CloudFront 可用于加密它返回给查看者的内容的密码。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略支持的协议和密码以及查看者和 CloudFront。 在 CloudFront 控制台上,此设置称为 安全策略。 仅使用 SNI 时(将 SSLSupportMethod 设置为 sni-only),必须指定 TLSv1 或更高版本。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net(已将 CloudFrontDefaultCertificate 设置为 true),则 CloudFront 会自动将安全策略设置为 TLSv1,而不考虑此处设置的值。 字符串
sslSupport方法 在 CloudFormation 中,此字段名称 SslSupportMethod。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),请指定分发接受来自哪个查看器的 HTTPS 连接。 + sni-only – 分发仅接受支持 服务器名称指示(SNI)的查看器的 HTTPS 连接。 建议这样做。 大多数浏览器和客户端都支持 SNI。 + vip – 分发接受来自所有查看者的 HTTPS 连接,包括不支持 SNI 的查看器。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 + static-ip - 除非 CloudFront 团队为此功能启用了分发,否则不要指定此值。 如果有需要分发静态 IP 地址的用例,请通过 中心联系 CloudFront。 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),则不要为此字段设置值。 字符串

ARM 模板资源定义

可以使用目标操作部署 cloudFrontDistributions 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.AwsConnector/cloudFrontDistributions 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.AwsConnector/cloudFrontDistributions",
  "apiVersion": "2024-12-01",
  "name": "string",
  "location": "string",
  "properties": {
    "arn": "string",
    "awsAccountId": "string",
    "awsProperties": {
      "distributionConfig": {
        "aliases": [ "string" ],
        "cacheBehaviors": [
          {
            "allowedMethods": [ "string" ],
            "cachedMethods": [ "string" ],
            "cachePolicyId": "string",
            "compress": "bool",
            "defaultTTL": "int",
            "fieldLevelEncryptionId": "string",
            "forwardedValues": {
              "cookies": {
                "forward": "string",
                "whitelistedNames": [ "string" ]
              },
              "headers": [ "string" ],
              "queryString": "bool",
              "queryStringCacheKeys": [ "string" ]
            },
            "functionAssociations": [
              {
                "eventType": "string",
                "functionARN": "string"
              }
            ],
            "lambdaFunctionAssociations": [
              {
                "eventType": "string",
                "includeBody": "bool",
                "lambdaFunctionARN": "string"
              }
            ],
            "maxTTL": "int",
            "minTTL": "int",
            "originRequestPolicyId": "string",
            "pathPattern": "string",
            "realtimeLogConfigArn": "string",
            "responseHeadersPolicyId": "string",
            "smoothStreaming": "bool",
            "targetOriginId": "string",
            "trustedKeyGroups": [ "string" ],
            "trustedSigners": [ "string" ],
            "viewerProtocolPolicy": "string"
          }
        ],
        "cnamEs": [ "string" ],
        "comment": "string",
        "continuousDeploymentPolicyId": "string",
        "customErrorResponses": [
          {
            "errorCachingMinTTL": "int",
            "errorCode": "int",
            "responseCode": "int",
            "responsePagePath": "string"
          }
        ],
        "customOrigin": {
          "dnsName": "string",
          "httpPort": "int",
          "httpsPort": "int",
          "originProtocolPolicy": "string",
          "originSSLProtocols": [ "string" ]
        },
        "defaultCacheBehavior": {
          "allowedMethods": [ "string" ],
          "cachedMethods": [ "string" ],
          "cachePolicyId": "string",
          "compress": "bool",
          "defaultTTL": "int",
          "fieldLevelEncryptionId": "string",
          "forwardedValues": {
            "cookies": {
              "forward": "string",
              "whitelistedNames": [ "string" ]
            },
            "headers": [ "string" ],
            "queryString": "bool",
            "queryStringCacheKeys": [ "string" ]
          },
          "functionAssociations": [
            {
              "eventType": "string",
              "functionARN": "string"
            }
          ],
          "lambdaFunctionAssociations": [
            {
              "eventType": "string",
              "includeBody": "bool",
              "lambdaFunctionARN": "string"
            }
          ],
          "maxTTL": "int",
          "minTTL": "int",
          "originRequestPolicyId": "string",
          "realtimeLogConfigArn": "string",
          "responseHeadersPolicyId": "string",
          "smoothStreaming": "bool",
          "targetOriginId": "string",
          "trustedKeyGroups": [ "string" ],
          "trustedSigners": [ "string" ],
          "viewerProtocolPolicy": "string"
        },
        "defaultRootObject": "string",
        "enabled": "bool",
        "httpVersion": "string",
        "ipV6Enabled": "bool",
        "logging": {
          "bucket": "string",
          "includeCookies": "bool",
          "prefix": "string"
        },
        "originGroups": {
          "items": [
            {
              "failoverCriteria": {
                "statusCodes": {
                  "items": [ "int" ],
                  "quantity": "int"
                }
              },
              "id": "string",
              "members": {
                "items": [
                  {
                    "originId": "string"
                  }
                ],
                "quantity": "int"
              }
            }
          ],
          "quantity": "int"
        },
        "origins": [
          {
            "connectionAttempts": "int",
            "connectionTimeout": "int",
            "customOriginConfig": {
              "httpPort": "int",
              "httpsPort": "int",
              "originKeepaliveTimeout": "int",
              "originProtocolPolicy": "string",
              "originReadTimeout": "int",
              "originSSLProtocols": [ "string" ]
            },
            "domainName": "string",
            "id": "string",
            "originAccessControlId": "string",
            "originCustomHeaders": [
              {
                "headerName": "string",
                "headerValue": "string"
              }
            ],
            "originPath": "string",
            "originShield": {
              "enabled": "bool",
              "originShieldRegion": "string"
            },
            "s3OriginConfig": {
              "originAccessIdentity": "string"
            }
          }
        ],
        "priceClass": "string",
        "restrictions": {
          "geoRestriction": {
            "locations": [ "string" ],
            "restrictionType": "string"
          }
        },
        "s3Origin": {
          "dnsName": "string",
          "originAccessIdentity": "string"
        },
        "staging": "bool",
        "viewerCertificate": {
          "acmCertificateArn": "string",
          "cloudFrontDefaultCertificate": "bool",
          "iamCertificateId": "string",
          "minimumProtocolVersion": "string",
          "sslSupportMethod": "string"
        },
        "webACLId": "string"
      },
      "domainName": "string",
      "id": "string",
      "tags": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    },
    "awsRegion": "string",
    "awsSourceSchema": "string",
    "awsTags": {
      "{customized property}": "string"
    },
    "publicCloudConnectorsResourceId": "string",
    "publicCloudResourceName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

Microsoft.AwsConnector/cloudFrontDistributions

名字 描述 价值
apiVersion API 版本 '2024-12-01'
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需)
性能 此资源的资源特定属性。 CloudFrontDistributionProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.AwsConnector/cloudFrontDistributions”

AwsCloudFrontDistributionProperties

名字 描述 价值
distributionConfig 的 分发的配置。 分发配置。 DistributionConfig 的
域名 属性 domainName 字符串
身份证 属性 ID 字符串
标签 包含零个或多个 Tag 元素的复杂类型。 标签自动生成5[]

缓存行为

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到此缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果未指定,则指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密此缓存行为特定数据字段的字段级加密配置 ID 的值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到此缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
路径模式 模式(例如,images/*.jpg),指定要向其应用行为的请求。 当 CloudFront 收到查看器请求时,请求的路径与路径模式进行比较,其顺序是缓存行为在分发中列出。 可以选择在路径模式的开头包含斜杠(/)。 例如,/images/*.jpg。 CloudFront 行为与前导 /相同。 默认缓存行为的路径模式 *,无法更改。 如果对象请求与任何缓存行为的路径模式不匹配,CloudFront 将应用默认缓存行为中的行为。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 路径模式 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在匹配此缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

CloudFrontDistributionProperties

名字 描述 价值
阿恩 Amazon 资源名称 (ARN) 字符串
awsAccountId AWS 帐户 ID 字符串
awsProperties AWS 属性 AwsCloudFrontDistributionProperties
awsRegion AWS 区域 字符串
awsSourceSchema AWS 源架构 字符串
aws标签 AWS 标记 CloudFrontDistributionPropertiesAwsTags
publicCloudConnectorsResourceId 公有云连接器资源 ID 字符串
publicCloudResourceName (公共云资源名称) 公有云资源名称 字符串

CloudFrontDistributionPropertiesAwsTags

名字 描述 价值

饼干

名字 描述 价值
向前 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指定要转发到此缓存行为的源的 Cookie:所有、无或 WhitelistedNames 复杂类型中指定的 Cookie 列表。 Amazon S3 不处理 Cookie。 当缓存行为将请求转发到 Amazon S3 源时,请为 Forward 元素指定任何请求。 字符串
whitelistedNames (白名单名称) 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略 字符串[]

CustomErrorResponse

名字 描述 价值
errorCachingMinTTL 错误 希望 CloudFront 缓存在 ErrorCode中指定的 HTTP 状态代码的最短时间(以秒为单位)。 此时间段过后,CloudFront 会查询源以查看导致错误的问题是否已解决,并且请求的对象现已可用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 整数 (int)
错误代码 要为其指定自定义错误页和/或缓存持续时间的 HTTP 状态代码。 整数 (int)
responseCode 希望 CloudFront 返回给查看器以及自定义错误页的 HTTP 状态代码。 你可能希望 CloudFront 返回的状态代码与源返回到 CloudFront 的状态代码不同,例如:+ 某些 Internet 设备(例如,某些防火墙和企业代理)截获 HTTP 4xx 和 5xx,并阻止响应返回到查看器。 如果替换 200,则通常不会截获响应。 + 如果你不关心区分不同的客户端错误或服务器错误,可以将 400500 指定为所有 4xx 或 5xx 错误的 ResponseCode。 + 你可能想要返回 200 状态代码(正常)和静态网站,以便客户不知道您的网站已关闭。 如果为 ResponseCode指定值,则还必须指定 ResponsePagePath的值。 整数 (int)
responsePagePath 当源返回由 ErrorCode指定的 HTTP 状态代码(例如 /4xx-errors/403-forbidden.html)时,希望 CloudFront 返回到查看器的自定义错误页的路径。 如果要将对象和自定义错误页存储在不同的位置,则分发版必须包含一个缓存行为,其值为 true:+ PathPattern 的值与自定义错误消息的路径匹配。 例如,假设你在名为 /4xx-errors的目录中的 Amazon S3 存储桶中保存了 4xx 错误的自定义错误页。 分发必须包含缓存行为,路径模式会将自定义错误页的请求路由到该位置,例如 /4xx-errors/*。 + TargetOriginId 的值指定包含自定义错误页的源的 ID 元素的值。 如果为 ResponsePagePath指定值,则还必须指定 ResponseCode的值。 建议将自定义错误页存储在 Amazon S3 存储桶中。 如果在 HTTP 服务器上存储自定义错误页,并且服务器开始返回 5xx 错误,CloudFront 无法获取要返回查看者的文件,因为源服务器不可用。 字符串

CustomOriginConfig

名字 描述 价值
httpPort 端口 CloudFront 用来连接到源的 HTTP 端口。 指定源侦听的 HTTP 端口。 整数 (int)
https端口 CloudFront 用来连接到源的 HTTPS 端口。 指定源侦听的 HTTPS 端口。 整数 (int)
originKeepaliveTimeout 指定 CloudFront 与源的连接持续多长时间(以秒为单位)。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 5 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源保持活动超时 整数 (int)
originProtocolPolicy 的 指定 CloudFront 用于连接到源的协议(HTTP 或 HTTPS)。 有效值为:+ http-only – CloudFront 始终使用 HTTP 连接到源。 + match-viewer – CloudFront 使用与查看器用于连接到 CloudFront 的协议相同的协议连接到源。 + https-only – CloudFront 始终使用 HTTPS 连接到源。 字符串
originReadTimeout (源读取超时) 指定 CloudFront 等待来自源的响应的时长(以秒为单位)。 这也称为 源响应超时。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 30 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源响应超时 整数 (int)
originSSLProtocols 协议 指定 CloudFront 通过 HTTPS 连接到源时使用的最低 SSL/TLS 协议。 有效值包括 SSLv3TLSv1TLSv1.1TLSv1.2。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 最小源 SSL 协议 字符串[]

DefaultCacheBehavior

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到默认缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果不是,请指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密默认缓存行为特定数据字段的字段级加密配置的 ID 值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到默认缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在使用默认缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任的签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

DistributionConfig 的

名字 描述 价值
别名 包含有关 CNAME(备用域名)的信息(如果有)的复杂类型。对于此分发。 字符串[]
cacheBehaviors 包含零个或多个 CacheBehavior 元素的复杂类型。 CacheBehavior[]
cnamEs 属性 cnamEs 字符串[]
评论 描述分发的注释。 批注长度不能超过 128 个字符。 字符串
continuousDeploymentPolicyId 持续部署策略的标识符。 有关详细信息,请参阅 CreateContinuousDeploymentPolicy 字符串
customErrorResponses 控制以下内容的复杂类型:+ CloudFront 是否将 4xx 和 5xx 范围内的 HTTP 状态代码替换为自定义错误消息,然后再将响应返回到查看器。 + CloudFront 缓存 4xx 和 5xx 范围内的 HTTP 状态代码的时间。 有关自定义错误页的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 CustomErrorResponse[]
customOrigin 属性 customOrigin LegacyCustomOrigin
defaultCacheBehavior 一种复杂类型,用于描述默认缓存行为(如果未指定 CacheBehavior 元素或文件与 PathPattern 元素中的任何 CacheBehavior 值不匹配)。 必须创建一个默认缓存行为。 如果未指定 CacheBehavior 元素或请求 URL 与 PathPattern 元素中的任何 CacheBehavior 值不匹配,则描述默认缓存行为的复杂类型。 必须创建一个默认缓存行为。 DefaultCacheBehavior
defaultRootObject 对象 当查看器请求分发(index.html)而不是分发(https://www.example.com)中的对象时,你希望 CloudFront 从源(例如,https://www.example.com/product-description.html)请求的对象。 指定默认根对象可避免公开分发的内容。 仅指定对象名称,例如,index.html。 不要在对象名称之前添加 /。 如果不想在创建分布时指定默认根对象,请包含一个空 DefaultRootObject 元素。 若要从现有分发中删除默认根对象,请更新分发配置,并包括一个空 DefaultRootObject 元素。 若要替换默认根对象,请更新分发配置并指定新对象。 有关默认根对象的详细信息,请参阅 Amazon CloudFront 开发人员指南创建默认根对象 字符串
启用 在此字段中,可以启用或禁用所选分发。 布尔
HTTP版本 (可选)指定希望查看者用来与 CF 通信的最大 HTTP 版本。 新分发版的默认值为 http1.1。 对于查看者和 CF 使用 HTTP/2,查看者必须支持 TLSv1.2 或更高版本,并且必须支持服务器名称指示(SNI)。 对于查看者和 CF 使用 HTTP/3,查看者必须支持 TLSv1.3 和服务器名称指示(SNI)。 CF 支持 HTTP/3 连接迁移,以允许查看器在不丢失连接的情况下切换网络。 有关连接迁移的详细信息,请参阅 RFC 9000 连接迁移。 有关支持的 TLSv1.3 密码的详细信息,请参阅查看者与 CloudFront之间 支持的协议和密码。 字符串
ipV6已启用 如果希望 CloudFront 使用分发的 IPv6 地址响应 IPv6 DNS 请求,请指定 true。 如果指定 false,CloudFront 将使用 DNS 响应代码 NOERROR 且没有 IP 地址响应 IPv6 DNS 请求。 这允许查看者为分发的 IPv4 地址提交第二个请求。 一般情况下,如果你有想要访问内容的 IPv6 网络上的用户,则应启用 IPv6。 但是,如果使用已签名 URL 或已签名的 Cookie 来限制对内容的访问,并且使用的是包含 IpAddress 参数的自定义策略来限制可以访问内容的 IP 地址,请不要启用 IPv6。 如果要通过 IP 地址限制对某些内容的访问,而不要限制对其他内容的访问(或限制访问,但不能通过 IP 地址访问),可以创建两个分发版。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 使用自定义策略 创建签名 URL。 如果使用 R53AWSIntlong 别名资源记录集将流量路由到 CloudFront 分发,则需要在满足以下两项条件时创建第二个别名资源记录集:+ 为分发启用 IPv6 + 在对象的 URL 中使用备用域名有关详细信息,请参阅 使用域名将流量路由到 Amazon CloudFront Web 分发开发人员指南。 如果使用 R53AWSIntlong 或其他 DNS 服务创建了 CNAME 资源记录集,则无需进行任何更改。 无论查看器请求的 IP 地址格式如何,CNAME 记录都会将流量路由到分发。 布尔
伐木 一种复杂类型,用于控制是否为分发编写访问日志。 有关日志记录的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 访问日志。 一种复杂类型,用于控制是否为分发编写访问日志。 日志记录
origin组 包含有关此分发的源组的信息的复杂类型。 为分布指定的源组的复杂数据类型。 源组
起源 包含有关此分布的源的信息的复杂类型。 OriginAutoGenerated[]
价格类 与要为 CloudFront 服务付费的最高价格相对应的价格类。 如果指定 PriceClass_All,CloudFront 将响应来自所有 CloudFront 边缘位置的对象请求。 如果指定非 PriceClass_All的价格类,CloudFront 会从 CloudFront 边缘位置为对象提供服务,该位置在价格类的边缘位置之间延迟最低。 在指定价格类中排除的区域或附近区域的查看者可能会遇到性能较慢的问题。 有关价格类的详细信息,请参阅 Amazon CloudFront 开发人员指南中选择 CloudFront 分发 的价格类。 有关 CloudFront 定价的信息(包括价格类 100)如何映射到 CloudFront 区域,请参阅 Amazon CloudFront 定价 字符串
限制 一种复杂类型,用于标识要限制内容分发的方式。 一种复杂类型,用于标识要限制内容分发的方式。 限制
s3起源 属性 s3Origin LegacyS3Origin
分期 一个布尔值,指示这是否为过渡分发。 当此值 true时,这是过渡分发。 当此值 false时,这不是过渡分发。 布尔
viewerCertificate 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 如果分发不使用 Aliases(也称为备用域名或 CNAME),即,如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将 CloudFrontDefaultCertificate 设置为 true 并将所有其他字段留空。 如果分发使用 Aliases(备用域名或 CNAME),请使用此类型的字段来指定以下设置:+ 分发接受 HTTPS 连接的查看器:仅支持 服务器名称指示(SNI)(推荐)或所有查看者(包括不支持 SNI 的查看者)。 + 若要仅接受支持 SNI 的查看器的 HTTPS 连接,请将 SSLSupportMethod 设置为 sni-only。 建议这样做。 大多数浏览器和客户端都支持 SNI。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 若要接受来自所有查看器(包括不支持 SNI 的查看器)的 HTTPS 连接,请将 SSLSupportMethod 设置为 vip。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 分发可用于与查看者通信的最低 SSL/TLS 协议版本。 若要指定最低版本,请选择 MinimumProtocolVersion的值。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略。 + SSL/TLS 证书的位置、(ACM)(推荐)或 (IAM)。 通过在以下字段之一(不是两个字段)中设置值来指定位置:+ ACMCertificateArn(在 CloudFormation 中,此字段名称 AcmCertificateArn。请注意不同的大写。+ IAMCertificateId (在 CloudFormation 中,此字段名称 IamCertificateId。请注意不同的大写。所有分发版都支持来自查看者的 HTTPS 连接。 若要要求查看者仅使用 HTTPS,或将其从 HTTP 重定向到 HTTPS,请在 ViewerProtocolPolicyCacheBehavior中使用 DefaultCacheBehavior。 若要指定 CloudFront 应如何使用 SSL/TLS 与自定义源通信,请使用 CustomOriginConfig。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 将 HTTPS 与 CloudFront 配合使用,以及 使用备用域名和 HTTPS 查看器证书
webACLId 一个唯一标识符,用于指定要与此分发关联的 WAF Web ACL(如果有)。 若要指定使用最新版本的 WAF 创建的 Web ACL,请使用 ACL ARN,例如 arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a。 若要指定使用 WAF 经典创建的 Web ACL,请使用 ACL ID,例如 473e64fd-f30b-4765-81a0-62ad96dd167a。 WAF 是一种 Web 应用程序防火墙,可用于监视转发到 CloudFront 的 HTTP 和 HTTPS 请求,并允许你控制对内容的访问。 根据指定的条件(例如请求源自的 IP 地址或查询字符串的值),CloudFront 会响应请求内容或 HTTP 403 状态代码(禁止)的请求。 还可以将 CloudFront 配置为在阻止请求时返回自定义错误页。 有关 WAF 的详细信息,请参阅 开发人员指南 字符串

转发值

名字 描述 价值
饼干 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie Cookie
此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含标头,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将标头发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定希望 CloudFront 转发到此缓存行为的源(允许列表标头)Headers(如果有)。 对于指定的标头,CloudFront 还会缓存基于查看器请求中的标头值的指定对象的单独版本。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 基于请求标头 缓存内容。 字符串[]
queryString 查询字符串 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指示是否希望 CloudFront 将查询字符串转发到与此缓存行为关联的源,以及基于查询字符串参数进行缓存。 CloudFront 行为取决于 QueryString 的值以及为 QueryStringCacheKeys指定的值(如果有):如果为 QueryString 指定 true,并且未为 QueryStringCacheKeys指定任何值,CloudFront 会根据所有查询字符串参数将所有查询字符串参数转发到源和缓存。 根据你拥有的查询字符串参数和值数量,这可能会影响性能,因为 CloudFront 必须将更多请求转发到源。 如果为 QueryString 指定 true,并且为 QueryStringCacheKeys指定一个或多个值,则 CloudFront 会将所有查询字符串参数转发到源,但仅缓存基于指定的查询字符串参数。 如果为 QueryString指定 false,CloudFront 不会将任何查询字符串参数转发到源,也不会基于查询字符串参数进行缓存。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 配置 CloudFront 到缓存的查询字符串参数 布尔
queryStringCacheKeys 查询字符串缓存键 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 包含有关希望 CloudFront 用于缓存此缓存行为的查询字符串参数的信息的复杂类型。 字符串[]

函数关联

名字 描述 价值
事件类型 函数的事件类型,viewer-requestviewer-response。 不能将面向源的事件类型(origin-requestorigin-response)与 CloudFront 函数一起使用。 字符串
函数ARN 函数的 Amazon 资源名称(ARN)。 字符串

地理限制

名字 描述 价值
地点 一种复杂类型,其中包含希望 CloudFront 分发内容或不分发内容的每个国家/地区 Location 元素。 字符串[]
限制类型 要用于按国家/地区限制内容分发的方法。 字符串

LambdaFunction关联

名字 描述 价值
事件类型 指定触发Lambda@Edge函数调用的事件类型。 可以指定以下值:+ viewer-request:当 CloudFront 从查看器收到请求,并在检查请求的对象是否位于边缘缓存之前执行。 + origin-request:仅当 CloudFront 向源发送请求时,该函数才会执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + origin-response:函数在 CloudFront 收到来自源的响应之后执行,并在该函数缓存响应中的对象之前执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + viewer-response:函数在 CloudFront 将请求的对象返回到查看器之前执行。 无论对象是否已在边缘缓存中,该函数都会执行。 如果源返回 HTTP 200 以外的 HTTP 状态代码(正常),则函数不会执行。 字符串
includeBody 一个标志,允许Lambda@Edge函数对正文内容具有读取访问权限。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的“包括正文选项” 来 访问请求正文。 布尔
lambdaFunctionARN Lambda@Edge函数的 ARN。 必须指定函数版本的 ARN;不能指定别名或$LATEST。 字符串

LegacyCustomOrigin

名字 描述 价值
dns名称 属性 dnsName 字符串
httpPort 端口 属性 httpPort 整数 (int)
https端口 属性 httpsPort 整数 (int)
originProtocolPolicy 的 属性 originProtocolPolicy 字符串
originSSLProtocols 协议 属性 originSSLProtocols 字符串[]

LegacyS3Origin

名字 描述 价值
dns名称 属性 dnsName 字符串
originAccessIdentity 属性 originAccessIdentity 字符串

伐木

名字 描述 价值
用于存储访问日志的 Amazon S3 存储桶,例如 myawslogbucket.s3.amazonaws.com 字符串
includeCookies 指定是否希望 CloudFront 在访问日志中包含 Cookie,请为 true指定 IncludeCookies。 如果选择在日志中包含 Cookie,则 CloudFront 会记录所有 Cookie,而不考虑为此分发配置缓存行为的方式。 如果不想在创建分发时包含 Cookie,或者想要为现有分发禁用包含 Cookie,请为 false指定 IncludeCookies 布尔
前缀 希望 CloudFront 为此分发的访问日志 filenames 添加前缀的可选字符串,例如 myprefix/。 如果要启用日志记录,但不想指定前缀,仍必须在 Prefix 元素中包含空 Logging 元素。 字符串

Origin自动生成

名字 描述 价值
connectionAttempts CloudFront 尝试连接到源的次数。 最小数字为 1,最大值为 3,默认值(如果未指定)为 3。 对于自定义源(包括配置了静态网站托管的 Amazon S3 存储桶),此值还指定了 CloudFront 尝试从源获取响应的次数,以防 源响应超时。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接尝试 整数 (int)
connectionTimeout 尝试建立与源的连接时 CloudFront 等待的秒数。 最小超时时间为 1 秒,最大值为 10 秒,默认值(如果未指定)为 10 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接超时 整数 (int)
自定义原点配置 使用此类型可以指定不是 Amazon S3 存储桶的源,但有一个例外。 如果 Amazon S3 存储桶配置了静态网站托管,请使用此类型。 如果未将 Amazon S3 存储桶配置为静态网站托管,请改用 S3OriginConfig 类型。 自定义源。 自定义源是 Amazon S3 存储桶的任何源,但有一个例外。 配置静态网站托管的 Amazon S3 存储桶 自定义源。 CustomOriginConfig
域名 源的域名。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源域名 字符串
身份证 源的唯一标识符。 此值在分布中必须是唯一的。 使用此值可指定 TargetOriginIdCacheBehavior中的 DefaultCacheBehavior 字符串
originAccessControlId 此源的源访问控制的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 限制对 Amazon S3 源 的访问。 字符串
originCustomHeaders CloudFront 向发送到源的请求添加的 HTTP 标头名称和值的列表。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 OriginCustomHeader[]
originPath (源路径) 当 CloudFront 从源请求内容时,CloudFront 将追加到源域名的可选路径。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源路径 字符串
originShield CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield。 CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield OriginShield (原源盾)
s3OriginConfig 使用此类型可以指定未配置静态网站托管的 Amazon S3 存储桶的源。 若要指定任何其他类型的源(包括配置有静态网站托管的 Amazon S3 存储桶),请改用 CustomOriginConfig 类型。 包含有关 Amazon S3 源的信息的复杂类型。 如果源是自定义源或配置为网站终结点的 S3 存储桶,请改用 CustomOriginConfig 元素。 S3OriginConfig

OriginCustomHeader

名字 描述 价值
headerName (标头名称) 希望 CloudFront 发送到源的标头的名称。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 字符串
headerValue HeaderName 字段中指定的标头的值。 字符串

源组

名字 描述 价值
failover标准 包含有关源组故障转移条件的信息的复杂类型。 包含源组故障转移条件的信息的复杂数据类型,包括 CloudFront 将从主源故障转移到第二个源的状态代码。 OriginGroupFailoverCriteria
身份证 源组的 ID。 字符串
成员 包含源组中源相关信息的复杂类型。 源组中包含的源的复杂数据类型。 OriginGroup成员

OriginGroupFailoverCriteria

名字 描述 价值
statusCodes 从主要源返回的状态代码将触发 CloudFront 故障转移到第二个源。 指定的状态代码的复杂数据类型,当主要源返回时,将触发 CloudFront 故障转移到第二个源。 状态代码

OriginGroupMember

名字 描述 价值
源 ID 源组中源的 ID。 字符串

OriginGroup成员

名字 描述 价值
项目 源组中的项(原点)。 OriginGroupMember[]
数量 源组中的源数。 整数 (int)

源组

名字 描述 价值
项目 分发中的项(源组)。 OriginGroup []
数量 源组数。 整数 (int)

OriginShield (原源盾)

名字 描述 价值
启用 一个标志,指定是否启用 Origin Shield。 启用后,CloudFront 会通过 Origin Shield 路由所有请求,这有助于保护源。 禁用后,CloudFront 可能会直接从多个边缘位置或区域边缘缓存将请求发送到源。 布尔
originShieldRegion (原盾区域) 起源盾牌的 AWS-Region。 指定源延迟最低的 AWS-Region。 若要指定区域,请使用区域代码,而不是区域名称。 例如,将美国东部(俄亥俄州)区域指定为 us-east-2。 启用 CloudFront Origin Shield 时,必须为 Origin Shield 指定 AWS-Region。 有关可以指定的 AWS-Regions 列表,以及有关如何选择源最佳区域的帮助,请参阅 Amazon CloudFront 开发人员指南中选择原点盾牌 字符串

限制

名字 描述 价值
地理限制 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 地理限制

S3OriginConfig

名字 描述 价值
originAccessIdentity 要与源关联的 CloudFront 源访问标识。 使用源访问标识配置源,以便查看者只能通过 CloudFront 访问 Amazon S3 存储桶中的对象。 该值的格式为:origin-access-identity/cloudfront/ID-of-origin-access-identity 其中 ID-of-origin-access-identity 是创建源访问标识时 CloudFront 在 ID 元素中返回的值。 如果希望查看者能够使用 CloudFront URL 或 Amazon S3 URL 访问对象,请指定空 OriginAccessIdentity 元素。 若要从现有分发中删除源访问标识,请更新分发配置并包括一个空的 OriginAccessIdentity 元素。 若要替换源访问标识,请更新分发配置并指定新的源访问标识。 有关源访问标识的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 通过 CloudFront 提供专用内容。 字符串

状态代码

名字 描述 价值
项目 源组的项(状态代码)。 int[]
数量 状态代码数。 整数 (int)

标签自动生成5

名字 描述 价值
钥匙 包含 Tag 键的字符串。 字符串长度应介于 1 到 128 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串
价值 包含可选 Tag 值的字符串。 字符串长度应介于 0 到 256 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串

TrackedResourceTags

名字 描述 价值

查看器证书

名字 描述 价值
acmCertificateArn 在 CloudFormation 中,此字段名称 AcmCertificateArn。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (ACM)中,请提供 ACM 证书的 Amazon 资源名称(ARN)。 CloudFront 仅支持美国东部(N. 弗吉尼亚州)区域中的 ACM 证书(us-east-1)。 如果指定 ACM 证书 ARN,则还必须指定 MinimumProtocolVersionSSLSupportMethod的值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
cloudFrontDefaultCertificate 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将此字段设置为 true。 如果分发使用 Aliases(备用域名或 CNAME),请省略此字段并指定以下字段的值:+ AcmCertificateArnIamCertificateId(指定一个值而不是两者)+ MinimumProtocolVersion + SslSupportMethod 布尔
iamCertificateId 证书 在 CloudFormation 中,此字段名称 IamCertificateId。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (IAM),请提供 IAM 证书的 ID。 如果指定 IAM 证书 ID,则还必须为 MinimumProtocolVersionSSLSupportMethod指定值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
minimumProtocolVersion 如果分发使用 Aliases(备用域名或 CNAME),请指定希望 CloudFront 用于与查看者建立 HTTPS 连接的安全策略。 安全策略确定两个设置:+ CloudFront 可用于与查看者通信的最低 SSL/TLS 协议。 + CloudFront 可用于加密它返回给查看者的内容的密码。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略支持的协议和密码以及查看者和 CloudFront。 在 CloudFront 控制台上,此设置称为 安全策略。 仅使用 SNI 时(将 SSLSupportMethod 设置为 sni-only),必须指定 TLSv1 或更高版本。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net(已将 CloudFrontDefaultCertificate 设置为 true),则 CloudFront 会自动将安全策略设置为 TLSv1,而不考虑此处设置的值。 字符串
sslSupport方法 在 CloudFormation 中,此字段名称 SslSupportMethod。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),请指定分发接受来自哪个查看器的 HTTPS 连接。 + sni-only – 分发仅接受支持 服务器名称指示(SNI)的查看器的 HTTPS 连接。 建议这样做。 大多数浏览器和客户端都支持 SNI。 + vip – 分发接受来自所有查看者的 HTTPS 连接,包括不支持 SNI 的查看器。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 + static-ip - 除非 CloudFront 团队为此功能启用了分发,否则不要指定此值。 如果有需要分发静态 IP 地址的用例,请通过 中心联系 CloudFront。 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),则不要为此字段设置值。 字符串

用法示例

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 cloudFrontDistributions 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.AwsConnector/cloudFrontDistributions 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AwsConnector/cloudFrontDistributions@2024-12-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      arn = "string"
      awsAccountId = "string"
      awsProperties = {
        distributionConfig = {
          aliases = [
            "string"
          ]
          cacheBehaviors = [
            {
              allowedMethods = [
                "string"
              ]
              cachedMethods = [
                "string"
              ]
              cachePolicyId = "string"
              compress = bool
              defaultTTL = int
              fieldLevelEncryptionId = "string"
              forwardedValues = {
                cookies = {
                  forward = "string"
                  whitelistedNames = [
                    "string"
                  ]
                }
                headers = [
                  "string"
                ]
                queryString = bool
                queryStringCacheKeys = [
                  "string"
                ]
              }
              functionAssociations = [
                {
                  eventType = "string"
                  functionARN = "string"
                }
              ]
              lambdaFunctionAssociations = [
                {
                  eventType = "string"
                  includeBody = bool
                  lambdaFunctionARN = "string"
                }
              ]
              maxTTL = int
              minTTL = int
              originRequestPolicyId = "string"
              pathPattern = "string"
              realtimeLogConfigArn = "string"
              responseHeadersPolicyId = "string"
              smoothStreaming = bool
              targetOriginId = "string"
              trustedKeyGroups = [
                "string"
              ]
              trustedSigners = [
                "string"
              ]
              viewerProtocolPolicy = "string"
            }
          ]
          cnamEs = [
            "string"
          ]
          comment = "string"
          continuousDeploymentPolicyId = "string"
          customErrorResponses = [
            {
              errorCachingMinTTL = int
              errorCode = int
              responseCode = int
              responsePagePath = "string"
            }
          ]
          customOrigin = {
            dnsName = "string"
            httpPort = int
            httpsPort = int
            originProtocolPolicy = "string"
            originSSLProtocols = [
              "string"
            ]
          }
          defaultCacheBehavior = {
            allowedMethods = [
              "string"
            ]
            cachedMethods = [
              "string"
            ]
            cachePolicyId = "string"
            compress = bool
            defaultTTL = int
            fieldLevelEncryptionId = "string"
            forwardedValues = {
              cookies = {
                forward = "string"
                whitelistedNames = [
                  "string"
                ]
              }
              headers = [
                "string"
              ]
              queryString = bool
              queryStringCacheKeys = [
                "string"
              ]
            }
            functionAssociations = [
              {
                eventType = "string"
                functionARN = "string"
              }
            ]
            lambdaFunctionAssociations = [
              {
                eventType = "string"
                includeBody = bool
                lambdaFunctionARN = "string"
              }
            ]
            maxTTL = int
            minTTL = int
            originRequestPolicyId = "string"
            realtimeLogConfigArn = "string"
            responseHeadersPolicyId = "string"
            smoothStreaming = bool
            targetOriginId = "string"
            trustedKeyGroups = [
              "string"
            ]
            trustedSigners = [
              "string"
            ]
            viewerProtocolPolicy = "string"
          }
          defaultRootObject = "string"
          enabled = bool
          httpVersion = "string"
          ipV6Enabled = bool
          logging = {
            bucket = "string"
            includeCookies = bool
            prefix = "string"
          }
          originGroups = {
            items = [
              {
                failoverCriteria = {
                  statusCodes = {
                    items = [
                      int
                    ]
                    quantity = int
                  }
                }
                id = "string"
                members = {
                  items = [
                    {
                      originId = "string"
                    }
                  ]
                  quantity = int
                }
              }
            ]
            quantity = int
          }
          origins = [
            {
              connectionAttempts = int
              connectionTimeout = int
              customOriginConfig = {
                httpPort = int
                httpsPort = int
                originKeepaliveTimeout = int
                originProtocolPolicy = "string"
                originReadTimeout = int
                originSSLProtocols = [
                  "string"
                ]
              }
              domainName = "string"
              id = "string"
              originAccessControlId = "string"
              originCustomHeaders = [
                {
                  headerName = "string"
                  headerValue = "string"
                }
              ]
              originPath = "string"
              originShield = {
                enabled = bool
                originShieldRegion = "string"
              }
              s3OriginConfig = {
                originAccessIdentity = "string"
              }
            }
          ]
          priceClass = "string"
          restrictions = {
            geoRestriction = {
              locations = [
                "string"
              ]
              restrictionType = "string"
            }
          }
          s3Origin = {
            dnsName = "string"
            originAccessIdentity = "string"
          }
          staging = bool
          viewerCertificate = {
            acmCertificateArn = "string"
            cloudFrontDefaultCertificate = bool
            iamCertificateId = "string"
            minimumProtocolVersion = "string"
            sslSupportMethod = "string"
          }
          webACLId = "string"
        }
        domainName = "string"
        id = "string"
        tags = [
          {
            key = "string"
            value = "string"
          }
        ]
      }
      awsRegion = "string"
      awsSourceSchema = "string"
      awsTags = {
        {customized property} = "string"
      }
      publicCloudConnectorsResourceId = "string"
      publicCloudResourceName = "string"
    }
  }
}

属性值

Microsoft.AwsConnector/cloudFrontDistributions

名字 描述 价值
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需)
性能 此资源的资源特定属性。 CloudFrontDistributionProperties
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.AwsConnector/cloudFrontDistributions@2024-12-01”

AwsCloudFrontDistributionProperties

名字 描述 价值
distributionConfig 的 分发的配置。 分发配置。 DistributionConfig 的
域名 属性 domainName 字符串
身份证 属性 ID 字符串
标签 包含零个或多个 Tag 元素的复杂类型。 标签自动生成5[]

缓存行为

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到此缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果未指定,则指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密此缓存行为特定数据字段的字段级加密配置 ID 的值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略CacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到此缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
路径模式 模式(例如,images/*.jpg),指定要向其应用行为的请求。 当 CloudFront 收到查看器请求时,请求的路径与路径模式进行比较,其顺序是缓存行为在分发中列出。 可以选择在路径模式的开头包含斜杠(/)。 例如,/images/*.jpg。 CloudFront 行为与前导 /相同。 默认缓存行为的路径模式 *,无法更改。 如果对象请求与任何缓存行为的路径模式不匹配,CloudFront 将应用默认缓存行为中的行为。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 路径模式 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在匹配此缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

CloudFrontDistributionProperties

名字 描述 价值
阿恩 Amazon 资源名称 (ARN) 字符串
awsAccountId AWS 帐户 ID 字符串
awsProperties AWS 属性 AwsCloudFrontDistributionProperties
awsRegion AWS 区域 字符串
awsSourceSchema AWS 源架构 字符串
aws标签 AWS 标记 CloudFrontDistributionPropertiesAwsTags
publicCloudConnectorsResourceId 公有云连接器资源 ID 字符串
publicCloudResourceName (公共云资源名称) 公有云资源名称 字符串

CloudFrontDistributionPropertiesAwsTags

名字 描述 价值

饼干

名字 描述 价值
向前 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指定要转发到此缓存行为的源的 Cookie:所有、无或 WhitelistedNames 复杂类型中指定的 Cookie 列表。 Amazon S3 不处理 Cookie。 当缓存行为将请求转发到 Amazon S3 源时,请为 Forward 元素指定任何请求。 字符串
whitelistedNames (白名单名称) 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略 字符串[]

CustomErrorResponse

名字 描述 价值
errorCachingMinTTL 错误 希望 CloudFront 缓存在 ErrorCode中指定的 HTTP 状态代码的最短时间(以秒为单位)。 此时间段过后,CloudFront 会查询源以查看导致错误的问题是否已解决,并且请求的对象现已可用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 整数 (int)
错误代码 要为其指定自定义错误页和/或缓存持续时间的 HTTP 状态代码。 整数 (int)
responseCode 希望 CloudFront 返回给查看器以及自定义错误页的 HTTP 状态代码。 你可能希望 CloudFront 返回的状态代码与源返回到 CloudFront 的状态代码不同,例如:+ 某些 Internet 设备(例如,某些防火墙和企业代理)截获 HTTP 4xx 和 5xx,并阻止响应返回到查看器。 如果替换 200,则通常不会截获响应。 + 如果你不关心区分不同的客户端错误或服务器错误,可以将 400500 指定为所有 4xx 或 5xx 错误的 ResponseCode。 + 你可能想要返回 200 状态代码(正常)和静态网站,以便客户不知道您的网站已关闭。 如果为 ResponseCode指定值,则还必须指定 ResponsePagePath的值。 整数 (int)
responsePagePath 当源返回由 ErrorCode指定的 HTTP 状态代码(例如 /4xx-errors/403-forbidden.html)时,希望 CloudFront 返回到查看器的自定义错误页的路径。 如果要将对象和自定义错误页存储在不同的位置,则分发版必须包含一个缓存行为,其值为 true:+ PathPattern 的值与自定义错误消息的路径匹配。 例如,假设你在名为 /4xx-errors的目录中的 Amazon S3 存储桶中保存了 4xx 错误的自定义错误页。 分发必须包含缓存行为,路径模式会将自定义错误页的请求路由到该位置,例如 /4xx-errors/*。 + TargetOriginId 的值指定包含自定义错误页的源的 ID 元素的值。 如果为 ResponsePagePath指定值,则还必须指定 ResponseCode的值。 建议将自定义错误页存储在 Amazon S3 存储桶中。 如果在 HTTP 服务器上存储自定义错误页,并且服务器开始返回 5xx 错误,CloudFront 无法获取要返回查看者的文件,因为源服务器不可用。 字符串

CustomOriginConfig

名字 描述 价值
httpPort 端口 CloudFront 用来连接到源的 HTTP 端口。 指定源侦听的 HTTP 端口。 整数 (int)
https端口 CloudFront 用来连接到源的 HTTPS 端口。 指定源侦听的 HTTPS 端口。 整数 (int)
originKeepaliveTimeout 指定 CloudFront 与源的连接持续多长时间(以秒为单位)。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 5 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源保持活动超时 整数 (int)
originProtocolPolicy 的 指定 CloudFront 用于连接到源的协议(HTTP 或 HTTPS)。 有效值为:+ http-only – CloudFront 始终使用 HTTP 连接到源。 + match-viewer – CloudFront 使用与查看器用于连接到 CloudFront 的协议相同的协议连接到源。 + https-only – CloudFront 始终使用 HTTPS 连接到源。 字符串
originReadTimeout (源读取超时) 指定 CloudFront 等待来自源的响应的时长(以秒为单位)。 这也称为 源响应超时。 最小超时为 1 秒,最大值为 60 秒,默认值(如果未指定)为 30 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源响应超时 整数 (int)
originSSLProtocols 协议 指定 CloudFront 通过 HTTPS 连接到源时使用的最低 SSL/TLS 协议。 有效值包括 SSLv3TLSv1TLSv1.1TLSv1.2。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 最小源 SSL 协议 字符串[]

DefaultCacheBehavior

名字 描述 价值
allowedMethods 一种复杂类型,用于控制 CloudFront 处理哪些 HTTP 方法并将其转发到 Amazon S3 存储桶或自定义源。 有三个选项:+ CloudFront 转发仅 GETHEAD 请求。 + CloudFront 仅转发 GETHEADOPTIONS 请求。 + CloudFront 转发 GET, HEAD, OPTIONS, PUT, PATCH, POSTDELETE 请求。 如果选择第三个选项,可能需要限制对 Amazon S3 存储桶或自定义源的访问,以便用户无法执行不希望其执行的操作。 例如,你可能不希望用户具有从源中删除对象的权限。 字符串[]
cached方法 一种复杂类型,用于控制 CloudFront 是否使用指定的 HTTP 方法缓存对请求的响应。 有两种选择:+ CloudFront 缓存对 GETHEAD 请求的响应。 + CloudFront 缓存对 GETHEADOPTIONS 请求的响应。 如果选择 Amazon S3 Origin 的第二个选项,则可能需要转发 Access-Control-Request-Method、Access-Control-Request-Headers 和 Origin 标头,以便正确缓存响应。 字符串[]
缓存策略 Id 附加到默认缓存行为的缓存策略的唯一标识符。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId 字符串
压缩 是否希望 CloudFront 自动压缩此缓存行为的某些文件。 如果是,请指定 true;如果不是,请指定 false。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 提供压缩文件 布尔
默认TTL 此字段已弃用。 建议在缓存策略中使用 DefaultTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的默认时间,以确定对象是否已更新。 仅当源不向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
fieldLevelEncryptionId 字段级别 希望 CloudFront 用于加密默认缓存行为特定数据字段的字段级加密配置的 ID 值。 字符串
forwarded值 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 处理策略。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略DefaultCacheBehavior 必须包括 CachePolicyIdForwardedValues。 建议使用 CachePolicyId。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含值,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将值发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定 CloudFront 如何处理查询字符串、Cookie 和 HTTP 标头。 转发值
函数关联 与此缓存行为关联的 CloudFront 函数的列表。 CloudFront 函数必须发布到 LIVE 阶段,才能将它们与缓存行为相关联。 函数关联
lambdaFunction关联 包含缓存行为的零个或多个Lambda@Edge函数关联的复杂类型。 LambdaFunctionAssociation[]
最大 TTL 此字段已弃用。 建议在缓存策略中使用 MaxTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最长时间,以确定对象是否已更新。 仅当源向对象添加 HTTP 标头(如 Cache-Control max-ageCache-Control s-maxageExpires)时,指定的值才适用。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期) 整数 (int)
最小 TTL 此字段已弃用。 建议在缓存策略中使用 MinTTL 字段,而不是使用此字段。 有关详细信息,请参阅 amazon CloudFront 开发人员指南中的 创建缓存策略或 使用托管缓存策略。 在 CloudFront 将另一个请求转发到源之前,希望对象保留在 CloudFront 缓存中的最短时间,以确定对象是否已更新。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南管理内容在边缘缓存中停留的时间(过期)。 如果将 CloudFront 配置为将所有标头转发到源(在 0下,如果为 MinTTL 指定 Headers,并为 1指定 Quantity,则必须为 * 指定 Name)。 整数 (int)
originRequestPolicyId 附加到默认缓存行为的源请求策略的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南 创建源请求策略 字符串
realtimeLogConfigArn 附加到此缓存行为的实时日志配置的 Amazon 资源名称(ARN)。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 实时日志 字符串
responseHeadersPolicyId 响应标头策略的标识符。 字符串
smoothStreaming (平滑流) 指示是否要使用与此缓存行为关联的源以Microsoft平滑流式处理格式分发媒体文件。 如果是,请指定 true;如果不是,请指定 false。 如果为 true指定 SmoothStreaming,则如果内容与 PathPattern的值匹配,仍可以使用此缓存行为分发其他内容。 布尔
目标原点 ID 希望 CloudFront 在使用默认缓存行为时将请求路由到的源的 ID 值。 字符串
trustedKeyGroups CloudFront 可用于验证已签名 URL 或已签名 Cookie 的关键组的列表。 当缓存行为包含受信任的密钥组时,CloudFront 需要对匹配缓存行为的所有请求使用已签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用其相应公钥位于密钥组中的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
trustedSigners 建议使用 TrustedKeyGroups 而不是 TrustedSigners。 AWS 帐户 ID 的列表,其公钥 CloudFront 可用于验证已签名 URL 或已签名的 Cookie。 当缓存行为包含受信任的签名者时,CloudFront 需要对匹配缓存行为的所有请求使用签名 URL 或已签名的 Cookie。 URL 或 Cookie 必须使用受信任的签名者的 AWS 帐户中的 CloudFront 密钥对的私钥进行签名。 签名的 URL 或 Cookie 包含有关哪些公钥 CloudFront 应用于验证签名的信息。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南提供专用内容 字符串[]
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 开发人员指南中的 要求在查看者和 CloudFront 之间 HTTPS。 确保查看者使用 HTTPS 从源提取的对象的唯一方法是永远不要使用任何其他协议来提取该对象。 如果最近从 HTTP 更改为 HTTPS,建议清除对象的缓存,因为缓存的对象与协议无关。 这意味着,无论当前请求协议是否与之前使用的协议匹配,边缘位置都将从缓存中返回对象。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 管理缓存过期 字符串

DistributionConfig 的

名字 描述 价值
别名 包含有关 CNAME(备用域名)的信息(如果有)的复杂类型。对于此分发。 字符串[]
cacheBehaviors 包含零个或多个 CacheBehavior 元素的复杂类型。 CacheBehavior[]
cnamEs 属性 cnamEs 字符串[]
评论 描述分发的注释。 批注长度不能超过 128 个字符。 字符串
continuousDeploymentPolicyId 持续部署策略的标识符。 有关详细信息,请参阅 CreateContinuousDeploymentPolicy 字符串
customErrorResponses 控制以下内容的复杂类型:+ CloudFront 是否将 4xx 和 5xx 范围内的 HTTP 状态代码替换为自定义错误消息,然后再将响应返回到查看器。 + CloudFront 缓存 4xx 和 5xx 范围内的 HTTP 状态代码的时间。 有关自定义错误页的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 自定义错误响应 CustomErrorResponse[]
customOrigin 属性 customOrigin LegacyCustomOrigin
defaultCacheBehavior 一种复杂类型,用于描述默认缓存行为(如果未指定 CacheBehavior 元素或文件与 PathPattern 元素中的任何 CacheBehavior 值不匹配)。 必须创建一个默认缓存行为。 如果未指定 CacheBehavior 元素或请求 URL 与 PathPattern 元素中的任何 CacheBehavior 值不匹配,则描述默认缓存行为的复杂类型。 必须创建一个默认缓存行为。 DefaultCacheBehavior
defaultRootObject 对象 当查看器请求分发(index.html)而不是分发(https://www.example.com)中的对象时,你希望 CloudFront 从源(例如,https://www.example.com/product-description.html)请求的对象。 指定默认根对象可避免公开分发的内容。 仅指定对象名称,例如,index.html。 不要在对象名称之前添加 /。 如果不想在创建分布时指定默认根对象,请包含一个空 DefaultRootObject 元素。 若要从现有分发中删除默认根对象,请更新分发配置,并包括一个空 DefaultRootObject 元素。 若要替换默认根对象,请更新分发配置并指定新对象。 有关默认根对象的详细信息,请参阅 Amazon CloudFront 开发人员指南创建默认根对象 字符串
启用 在此字段中,可以启用或禁用所选分发。 布尔
HTTP版本 (可选)指定希望查看者用来与 CF 通信的最大 HTTP 版本。 新分发版的默认值为 http1.1。 对于查看者和 CF 使用 HTTP/2,查看者必须支持 TLSv1.2 或更高版本,并且必须支持服务器名称指示(SNI)。 对于查看者和 CF 使用 HTTP/3,查看者必须支持 TLSv1.3 和服务器名称指示(SNI)。 CF 支持 HTTP/3 连接迁移,以允许查看器在不丢失连接的情况下切换网络。 有关连接迁移的详细信息,请参阅 RFC 9000 连接迁移。 有关支持的 TLSv1.3 密码的详细信息,请参阅查看者与 CloudFront之间 支持的协议和密码。 字符串
ipV6已启用 如果希望 CloudFront 使用分发的 IPv6 地址响应 IPv6 DNS 请求,请指定 true。 如果指定 false,CloudFront 将使用 DNS 响应代码 NOERROR 且没有 IP 地址响应 IPv6 DNS 请求。 这允许查看者为分发的 IPv4 地址提交第二个请求。 一般情况下,如果你有想要访问内容的 IPv6 网络上的用户,则应启用 IPv6。 但是,如果使用已签名 URL 或已签名的 Cookie 来限制对内容的访问,并且使用的是包含 IpAddress 参数的自定义策略来限制可以访问内容的 IP 地址,请不要启用 IPv6。 如果要通过 IP 地址限制对某些内容的访问,而不要限制对其他内容的访问(或限制访问,但不能通过 IP 地址访问),可以创建两个分发版。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 使用自定义策略 创建签名 URL。 如果使用 R53AWSIntlong 别名资源记录集将流量路由到 CloudFront 分发,则需要在满足以下两项条件时创建第二个别名资源记录集:+ 为分发启用 IPv6 + 在对象的 URL 中使用备用域名有关详细信息,请参阅 使用域名将流量路由到 Amazon CloudFront Web 分发开发人员指南。 如果使用 R53AWSIntlong 或其他 DNS 服务创建了 CNAME 资源记录集,则无需进行任何更改。 无论查看器请求的 IP 地址格式如何,CNAME 记录都会将流量路由到分发。 布尔
伐木 一种复杂类型,用于控制是否为分发编写访问日志。 有关日志记录的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 访问日志。 一种复杂类型,用于控制是否为分发编写访问日志。 日志记录
origin组 包含有关此分发的源组的信息的复杂类型。 为分布指定的源组的复杂数据类型。 源组
起源 包含有关此分布的源的信息的复杂类型。 OriginAutoGenerated[]
价格类 与要为 CloudFront 服务付费的最高价格相对应的价格类。 如果指定 PriceClass_All,CloudFront 将响应来自所有 CloudFront 边缘位置的对象请求。 如果指定非 PriceClass_All的价格类,CloudFront 会从 CloudFront 边缘位置为对象提供服务,该位置在价格类的边缘位置之间延迟最低。 在指定价格类中排除的区域或附近区域的查看者可能会遇到性能较慢的问题。 有关价格类的详细信息,请参阅 Amazon CloudFront 开发人员指南中选择 CloudFront 分发 的价格类。 有关 CloudFront 定价的信息(包括价格类 100)如何映射到 CloudFront 区域,请参阅 Amazon CloudFront 定价 字符串
限制 一种复杂类型,用于标识要限制内容分发的方式。 一种复杂类型,用于标识要限制内容分发的方式。 限制
s3起源 属性 s3Origin LegacyS3Origin
分期 一个布尔值,指示这是否为过渡分发。 当此值 true时,这是过渡分发。 当此值 false时,这不是过渡分发。 布尔
viewerCertificate 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 一种复杂类型,用于确定分发的 SSL/TLS 配置,以便与查看者通信。 如果分发不使用 Aliases(也称为备用域名或 CNAME),即,如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将 CloudFrontDefaultCertificate 设置为 true 并将所有其他字段留空。 如果分发使用 Aliases(备用域名或 CNAME),请使用此类型的字段来指定以下设置:+ 分发接受 HTTPS 连接的查看器:仅支持 服务器名称指示(SNI)(推荐)或所有查看者(包括不支持 SNI 的查看者)。 + 若要仅接受支持 SNI 的查看器的 HTTPS 连接,请将 SSLSupportMethod 设置为 sni-only。 建议这样做。 大多数浏览器和客户端都支持 SNI。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 若要接受来自所有查看器(包括不支持 SNI 的查看器)的 HTTPS 连接,请将 SSLSupportMethod 设置为 vip。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。+ 分发可用于与查看者通信的最低 SSL/TLS 协议版本。 若要指定最低版本,请选择 MinimumProtocolVersion的值。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略。 + SSL/TLS 证书的位置、(ACM)(推荐)或 (IAM)。 通过在以下字段之一(不是两个字段)中设置值来指定位置:+ ACMCertificateArn(在 CloudFormation 中,此字段名称 AcmCertificateArn。请注意不同的大写。+ IAMCertificateId (在 CloudFormation 中,此字段名称 IamCertificateId。请注意不同的大写。所有分发版都支持来自查看者的 HTTPS 连接。 若要要求查看者仅使用 HTTPS,或将其从 HTTP 重定向到 HTTPS,请在 ViewerProtocolPolicyCacheBehavior中使用 DefaultCacheBehavior。 若要指定 CloudFront 应如何使用 SSL/TLS 与自定义源通信,请使用 CustomOriginConfig。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 将 HTTPS 与 CloudFront 配合使用,以及 使用备用域名和 HTTPS 查看器证书
webACLId 一个唯一标识符,用于指定要与此分发关联的 WAF Web ACL(如果有)。 若要指定使用最新版本的 WAF 创建的 Web ACL,请使用 ACL ARN,例如 arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a。 若要指定使用 WAF 经典创建的 Web ACL,请使用 ACL ID,例如 473e64fd-f30b-4765-81a0-62ad96dd167a。 WAF 是一种 Web 应用程序防火墙,可用于监视转发到 CloudFront 的 HTTP 和 HTTPS 请求,并允许你控制对内容的访问。 根据指定的条件(例如请求源自的 IP 地址或查询字符串的值),CloudFront 会响应请求内容或 HTTP 403 状态代码(禁止)的请求。 还可以将 CloudFront 配置为在阻止请求时返回自定义错误页。 有关 WAF 的详细信息,请参阅 开发人员指南 字符串

转发值

名字 描述 价值
饼干 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie。 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含 Cookie,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将 Cookie 发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定是否希望 CloudFront 将 Cookie 转发到源,如果是,则为哪一个。 有关将 Cookie 转发到源的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 CloudFront 转发、缓存和日志 Cookie Cookie
此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含标头,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将标头发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 一种复杂类型,指定希望 CloudFront 转发到此缓存行为的源(允许列表标头)Headers(如果有)。 对于指定的标头,CloudFront 还会缓存基于查看器请求中的标头值的指定对象的单独版本。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 基于请求标头 缓存内容。 字符串[]
queryString 查询字符串 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 指示是否希望 CloudFront 将查询字符串转发到与此缓存行为关联的源,以及基于查询字符串参数进行缓存。 CloudFront 行为取决于 QueryString 的值以及为 QueryStringCacheKeys指定的值(如果有):如果为 QueryString 指定 true,并且未为 QueryStringCacheKeys指定任何值,CloudFront 会根据所有查询字符串参数将所有查询字符串参数转发到源和缓存。 根据你拥有的查询字符串参数和值数量,这可能会影响性能,因为 CloudFront 必须将更多请求转发到源。 如果为 QueryString 指定 true,并且为 QueryStringCacheKeys指定一个或多个值,则 CloudFront 会将所有查询字符串参数转发到源,但仅缓存基于指定的查询字符串参数。 如果为 QueryString指定 false,CloudFront 不会将任何查询字符串参数转发到源,也不会基于查询字符串参数进行缓存。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 配置 CloudFront 到缓存的查询字符串参数 布尔
queryStringCacheKeys 查询字符串缓存键 此字段已弃用。 建议使用缓存策略或源请求策略,而不是此字段。 如果要在缓存密钥中包含查询字符串,请使用缓存策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建缓存策略。 如果要将查询字符串发送到源,但不包括在缓存密钥中,请使用源请求策略。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 创建源请求策略。 包含有关希望 CloudFront 用于缓存此缓存行为的查询字符串参数的信息的复杂类型。 字符串[]

函数关联

名字 描述 价值
事件类型 函数的事件类型,viewer-requestviewer-response。 不能将面向源的事件类型(origin-requestorigin-response)与 CloudFront 函数一起使用。 字符串
函数ARN 函数的 Amazon 资源名称(ARN)。 字符串

地理限制

名字 描述 价值
地点 一种复杂类型,其中包含希望 CloudFront 分发内容或不分发内容的每个国家/地区 Location 元素。 字符串[]
限制类型 要用于按国家/地区限制内容分发的方法。 字符串

LambdaFunction关联

名字 描述 价值
事件类型 指定触发Lambda@Edge函数调用的事件类型。 可以指定以下值:+ viewer-request:当 CloudFront 从查看器收到请求,并在检查请求的对象是否位于边缘缓存之前执行。 + origin-request:仅当 CloudFront 向源发送请求时,该函数才会执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + origin-response:函数在 CloudFront 收到来自源的响应之后执行,并在该函数缓存响应中的对象之前执行。 当请求的对象位于边缘缓存中时,该函数不会执行。 + viewer-response:函数在 CloudFront 将请求的对象返回到查看器之前执行。 无论对象是否已在边缘缓存中,该函数都会执行。 如果源返回 HTTP 200 以外的 HTTP 状态代码(正常),则函数不会执行。 字符串
includeBody 一个标志,允许Lambda@Edge函数对正文内容具有读取访问权限。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的“包括正文选项” 来 访问请求正文。 布尔
lambdaFunctionARN Lambda@Edge函数的 ARN。 必须指定函数版本的 ARN;不能指定别名或$LATEST。 字符串

LegacyCustomOrigin

名字 描述 价值
dns名称 属性 dnsName 字符串
httpPort 端口 属性 httpPort 整数 (int)
https端口 属性 httpsPort 整数 (int)
originProtocolPolicy 的 属性 originProtocolPolicy 字符串
originSSLProtocols 协议 属性 originSSLProtocols 字符串[]

LegacyS3Origin

名字 描述 价值
dns名称 属性 dnsName 字符串
originAccessIdentity 属性 originAccessIdentity 字符串

伐木

名字 描述 价值
用于存储访问日志的 Amazon S3 存储桶,例如 myawslogbucket.s3.amazonaws.com 字符串
includeCookies 指定是否希望 CloudFront 在访问日志中包含 Cookie,请为 true指定 IncludeCookies。 如果选择在日志中包含 Cookie,则 CloudFront 会记录所有 Cookie,而不考虑为此分发配置缓存行为的方式。 如果不想在创建分发时包含 Cookie,或者想要为现有分发禁用包含 Cookie,请为 false指定 IncludeCookies 布尔
前缀 希望 CloudFront 为此分发的访问日志 filenames 添加前缀的可选字符串,例如 myprefix/。 如果要启用日志记录,但不想指定前缀,仍必须在 Prefix 元素中包含空 Logging 元素。 字符串

Origin自动生成

名字 描述 价值
connectionAttempts CloudFront 尝试连接到源的次数。 最小数字为 1,最大值为 3,默认值(如果未指定)为 3。 对于自定义源(包括配置了静态网站托管的 Amazon S3 存储桶),此值还指定了 CloudFront 尝试从源获取响应的次数,以防 源响应超时。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接尝试 整数 (int)
connectionTimeout 尝试建立与源的连接时 CloudFront 等待的秒数。 最小超时时间为 1 秒,最大值为 10 秒,默认值(如果未指定)为 10 秒。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源连接超时 整数 (int)
自定义原点配置 使用此类型可以指定不是 Amazon S3 存储桶的源,但有一个例外。 如果 Amazon S3 存储桶配置了静态网站托管,请使用此类型。 如果未将 Amazon S3 存储桶配置为静态网站托管,请改用 S3OriginConfig 类型。 自定义源。 自定义源是 Amazon S3 存储桶的任何源,但有一个例外。 配置静态网站托管的 Amazon S3 存储桶 自定义源。 CustomOriginConfig
域名 源的域名。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源域名 字符串
身份证 源的唯一标识符。 此值在分布中必须是唯一的。 使用此值可指定 TargetOriginIdCacheBehavior中的 DefaultCacheBehavior 字符串
originAccessControlId 此源的源访问控制的唯一标识符。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 限制对 Amazon S3 源 的访问。 字符串
originCustomHeaders CloudFront 向发送到源的请求添加的 HTTP 标头名称和值的列表。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 OriginCustomHeader[]
originPath (源路径) 当 CloudFront 从源请求内容时,CloudFront 将追加到源域名的可选路径。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 源路径 字符串
originShield CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield。 CloudFront Origin Shield。 使用 Origin Shield 可帮助减少源上的负载。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 Using Origin Shield OriginShield (原源盾)
s3OriginConfig 使用此类型可以指定未配置静态网站托管的 Amazon S3 存储桶的源。 若要指定任何其他类型的源(包括配置有静态网站托管的 Amazon S3 存储桶),请改用 CustomOriginConfig 类型。 包含有关 Amazon S3 源的信息的复杂类型。 如果源是自定义源或配置为网站终结点的 S3 存储桶,请改用 CustomOriginConfig 元素。 S3OriginConfig

OriginCustomHeader

名字 描述 价值
headerName (标头名称) 希望 CloudFront 发送到源的标头的名称。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 向源请求添加自定义标头 字符串
headerValue HeaderName 字段中指定的标头的值。 字符串

源组

名字 描述 价值
failover标准 包含有关源组故障转移条件的信息的复杂类型。 包含源组故障转移条件的信息的复杂数据类型,包括 CloudFront 将从主源故障转移到第二个源的状态代码。 OriginGroupFailoverCriteria
身份证 源组的 ID。 字符串
成员 包含源组中源相关信息的复杂类型。 源组中包含的源的复杂数据类型。 OriginGroup成员

OriginGroupFailoverCriteria

名字 描述 价值
statusCodes 从主要源返回的状态代码将触发 CloudFront 故障转移到第二个源。 指定的状态代码的复杂数据类型,当主要源返回时,将触发 CloudFront 故障转移到第二个源。 状态代码

OriginGroupMember

名字 描述 价值
源 ID 源组中源的 ID。 字符串

OriginGroup成员

名字 描述 价值
项目 源组中的项(原点)。 OriginGroupMember[]
数量 源组中的源数。 整数 (int)

源组

名字 描述 价值
项目 分发中的项(源组)。 OriginGroup []
数量 源组数。 整数 (int)

OriginShield (原源盾)

名字 描述 价值
启用 一个标志,指定是否启用 Origin Shield。 启用后,CloudFront 会通过 Origin Shield 路由所有请求,这有助于保护源。 禁用后,CloudFront 可能会直接从多个边缘位置或区域边缘缓存将请求发送到源。 布尔
originShieldRegion (原盾区域) 起源盾牌的 AWS-Region。 指定源延迟最低的 AWS-Region。 若要指定区域,请使用区域代码,而不是区域名称。 例如,将美国东部(俄亥俄州)区域指定为 us-east-2。 启用 CloudFront Origin Shield 时,必须为 Origin Shield 指定 AWS-Region。 有关可以指定的 AWS-Regions 列表,以及有关如何选择源最佳区域的帮助,请参阅 Amazon CloudFront 开发人员指南中选择原点盾牌 字符串

限制

名字 描述 价值
地理限制 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 一种复杂类型,用于控制内容分发的国家/地区。 CF 使用 MaxMind GeoIP 数据库确定用户的位置。 若要禁用地理限制,请从堆栈模板中删除 限制 属性。 地理限制

S3OriginConfig

名字 描述 价值
originAccessIdentity 要与源关联的 CloudFront 源访问标识。 使用源访问标识配置源,以便查看者只能通过 CloudFront 访问 Amazon S3 存储桶中的对象。 该值的格式为:origin-access-identity/cloudfront/ID-of-origin-access-identity 其中 ID-of-origin-access-identity 是创建源访问标识时 CloudFront 在 ID 元素中返回的值。 如果希望查看者能够使用 CloudFront URL 或 Amazon S3 URL 访问对象,请指定空 OriginAccessIdentity 元素。 若要从现有分发中删除源访问标识,请更新分发配置并包括一个空的 OriginAccessIdentity 元素。 若要替换源访问标识,请更新分发配置并指定新的源访问标识。 有关源访问标识的详细信息,请参阅 Amazon CloudFront 开发人员指南中的 通过 CloudFront 提供专用内容。 字符串

状态代码

名字 描述 价值
项目 源组的项(状态代码)。 int[]
数量 状态代码数。 整数 (int)

标签自动生成5

名字 描述 价值
钥匙 包含 Tag 键的字符串。 字符串长度应介于 1 到 128 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串
价值 包含可选 Tag 值的字符串。 字符串长度应介于 0 到 256 个字符之间。 有效字符包括 a-zA-Z0-9、空格和特殊字符 _ - . : / = + @ 字符串

TrackedResourceTags

名字 描述 价值

查看器证书

名字 描述 价值
acmCertificateArn 在 CloudFormation 中,此字段名称 AcmCertificateArn。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (ACM)中,请提供 ACM 证书的 Amazon 资源名称(ARN)。 CloudFront 仅支持美国东部(N. 弗吉尼亚州)区域中的 ACM 证书(us-east-1)。 如果指定 ACM 证书 ARN,则还必须指定 MinimumProtocolVersionSSLSupportMethod的值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
cloudFrontDefaultCertificate 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),请将此字段设置为 true。 如果分发使用 Aliases(备用域名或 CNAME),请省略此字段并指定以下字段的值:+ AcmCertificateArnIamCertificateId(指定一个值而不是两者)+ MinimumProtocolVersion + SslSupportMethod 布尔
iamCertificateId 证书 在 CloudFormation 中,此字段名称 IamCertificateId。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 (IAM),请提供 IAM 证书的 ID。 如果指定 IAM 证书 ID,则还必须为 MinimumProtocolVersionSSLSupportMethod指定值。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。 字符串
minimumProtocolVersion 如果分发使用 Aliases(备用域名或 CNAME),请指定希望 CloudFront 用于与查看者建立 HTTPS 连接的安全策略。 安全策略确定两个设置:+ CloudFront 可用于与查看者通信的最低 SSL/TLS 协议。 + CloudFront 可用于加密它返回给查看者的内容的密码。 有关详细信息,请参阅 Amazon CloudFront 开发人员指南中的 安全策略支持的协议和密码以及查看者和 CloudFront。 在 CloudFront 控制台上,此设置称为 安全策略。 仅使用 SNI 时(将 SSLSupportMethod 设置为 sni-only),必须指定 TLSv1 或更高版本。 (在 CloudFormation 中,字段名称 SslSupportMethod。请注意不同的大写。如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net(已将 CloudFrontDefaultCertificate 设置为 true),则 CloudFront 会自动将安全策略设置为 TLSv1,而不考虑此处设置的值。 字符串
sslSupport方法 在 CloudFormation 中,此字段名称 SslSupportMethod。 请注意不同的大写。 如果分发使用 Aliases(备用域名或 CNAME),请指定分发接受来自哪个查看器的 HTTPS 连接。 + sni-only – 分发仅接受支持 服务器名称指示(SNI)的查看器的 HTTPS 连接。 建议这样做。 大多数浏览器和客户端都支持 SNI。 + vip – 分发接受来自所有查看者的 HTTPS 连接,包括不支持 SNI 的查看器。 不建议这样做,并且会产生 CloudFront 的额外每月费用。 + static-ip - 除非 CloudFront 团队为此功能启用了分发,否则不要指定此值。 如果有需要分发静态 IP 地址的用例,请通过 中心联系 CloudFront。 如果分发使用 CloudFront 域名(如 d111111abcdef8.cloudfront.net),则不要为此字段设置值。 字符串