AWS::CloudFront::Distribution ViewerCertificate - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::CloudFront::Distribution ViewerCertificate

确定用于与查看器通信的、分配的 SSL/TLS 配置的复杂类型。

如果分配不使用 Aliases(也称为备用域名或 CNAME)(也就是说,如果分配使用 d111111abcdef8.cloudfront.net 等 CloudFront 域名),请将 CloudFrontDefaultCertificate 设置为 true 并将所有其他字段留空。

如果分配使用 Aliases(备用域名或 CNAME),请使用此类型中的字段指定以下设置:

  • 分配接受来自哪些查看器的 HTTPS 连接:仅支持服务器名称指示 (SNI) 的查看器(推荐),或包括不支持 SNI 的查看器在内的所有查看器。

    • 要仅接受来自支持 SNI 的查看器的 HTTPS 连接,请将 SslSupportMethod 设置为 sni-only。建议这样做。2010 年后发布的大多数浏览器和客户端都支持 SNI。

    • 要接受来自所有查看器(包括不支持 SNI 的查看器)的 HTTPS 连接,请将 SslSupportMethod 设置为 vip。不建议这样做,因为每月会导致额外的 CloudFront 费用。

  • 分配可用于与查看器通信的最低 SSL/TLS 协议版本。要指定最低版本,请为 MinimumProtocolVersion 选择一个值。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的安全策略

  • SSL/TLS 证书、AWS Certificate Manager (ACM)(推荐)或 AWS Identity and Access Management (AWS IAM) 的位置。您可以通过在以下字段之一(而不是两个字段)中设置值来指定位置:

    • AcmCertificateArn

    • IamCertificateId

所有分配都支持来自查看器的 HTTPS 连接。如果要求查看器仅使用 HTTPS 或将其从 HTTP 重定向到 HTTPS,请在 CacheBehaviorDefaultCacheBehavior 中使用 ViewerProtocolPolicy。要指定 CloudFront 应如何使用 SSL/TLS 与您的自定义源进行通信,请使用 CustomOriginConfig

有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的将 HTTPS 与 CloudFront 一起使用使用备用域名和 HTTPS

语法

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

JSON

{ "AcmCertificateArn" : String, "CloudFrontDefaultCertificate" : Boolean, "IamCertificateId" : String, "MinimumProtocolVersion" : String, "SslSupportMethod" : String }

属性

AcmCertificateArn

如果分配使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 AWS Certificate Manager (ACM) 中,请提供 ACM 证书的 Amazon 资源名称 (ARN)。CloudFront 仅在美国东部(弗吉尼亚北部)区域 (us-east-1) 中支持 ACM 证书。

如果指定 ACM 证书 ARN,您还必须指定 MinimumProtocolVersionSslSupportMethod 的值。

必需:条件

类型:字符串

Update requires: No interruption

CloudFrontDefaultCertificate

如果分配使用 d111111abcdef8.cloudfront.net 等 CloudFront 域名,则将此字段设置为 true

如果分配使用 Aliases(备用域名或 CNAME),则省略此字段并为以下字段指定值:

  • AcmCertificateArnIamCertificateId(指定一个字段而不是两个字段的值)

  • MinimumProtocolVersion

  • SslSupportMethod

必需:条件

类型:布尔值

Update requires: No interruption

IamCertificateId

如果分配使用 Aliases(备用域名或 CNAME),并且 SSL/TLS 证书存储在 AWS Identity and Access Management (AWS IAM) 中,请提供 IAM 证书的 ID。

如果指定 IAM 证书 ID,您还必须指定 MinimumProtocolVersionSslSupportMethod 的值。

必需:条件

类型:字符串

Update requires: No interruption

MinimumProtocolVersion

如果分配使用 Aliases(备用域名或 CNAME),请指定您希望 CloudFront 用于与查看器建立 HTTPS 连接的安全策略。安全策略确定两个设置:

  • CloudFront 与查看器通信时可使用的最低 SSL/TLS 协议。

  • CloudFront 可用来加密其返回给查看器的内容的密码

有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的安全策略查看器和 CloudFront 之间支持的协议和密码

注意

在 CloudFront 控制台上,该设置称为 Security Policy (安全策略)

在仅使用 SNI(将 SslSupportMethod 设置为 sni-only)时,必须指定 TLSv1 或更高版本。

如果分配使用 d111111abcdef8.cloudfront.net 等 CloudFront 域名(将 CloudFrontDefaultCertificate 设置为 true),则无论您在此设置的值是多少,CloudFront 都会自动将安全策略设置为 TLSv1

必需:条件

类型:字符串

允许的值SSLv3 | TLSv1 | TLSv1.1_2016 | TLSv1.2_2018 | TLSv1.2_2019 | TLSv1_2016

Update requires: No interruption

SslSupportMethod

如果分配使用 Aliases(备用域名或 CNAME),请指定分配接受来自哪些查看器的 HTTPS 连接。

  • sni-only – 分配仅接受来自支持 服务器名称指示 (SNI) 的查看器的 HTTPS 连接。建议这样做。2010 年后发布的大多数浏览器和客户端都支持 SNI。

  • vip – 分配接受来自所有查看器(包括不支持 SNI 的查看器)的 HTTPS 连接。不建议这样做,因为每月会导致额外的 CloudFront 费用。

如果分配使用 d111111abcdef8.cloudfront.net 等 CloudFront 域名,则不要为此字段设置值。

必需:条件

类型:字符串

允许的值sni-only | static-ip | vip

Update requires: No interruption

另请参阅