ViewerCertificate
A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers.
If the distribution doesn't use Aliases
(also known as alternate domain
names or CNAMEs)—that is, if the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
—set
CloudFrontDefaultCertificate
to true
and leave all other
fields empty.
If the distribution uses Aliases
(alternate domain names or CNAMEs), use
the fields in this type to specify the following settings:
-
Which viewers the distribution accepts HTTPS connections from: only viewers that support server name indication (SNI)
(recommended), or all viewers including those that don't support SNI. -
To accept HTTPS connections from only viewers that support SNI, set
SSLSupportMethod
tosni-only
. This is recommended. Most browsers and clients support SNI. (In CloudFormation, the field name isSslSupportMethod
. Note the different capitalization.) -
To accept HTTPS connections from all viewers, including those that don't support SNI, set
SSLSupportMethod
tovip
. This is not recommended, and results in additional monthly charges from CloudFront. (In CloudFormation, the field name isSslSupportMethod
. Note the different capitalization.)
-
-
The minimum SSL/TLS protocol version that the distribution can use to communicate with viewers. To specify a minimum version, choose a value for
MinimumProtocolVersion
. For more information, see Security Policy in the Amazon CloudFront Developer Guide. -
The location of the SSL/TLS certificate, AWS Certificate Manager (ACM) (recommended) or AWS Identity and Access Management (IAM). You specify the location by setting a value in one of the following fields (not both):
-
ACMCertificateArn
(In CloudFormation, this field name isAcmCertificateArn
. Note the different capitalization.) -
IAMCertificateId
(In CloudFormation, this field name isIamCertificateId
. Note the different capitalization.)
-
All distributions support HTTPS connections from viewers. To require viewers to use
HTTPS only, or to redirect them from HTTP to HTTPS, use
ViewerProtocolPolicy
in the CacheBehavior
or
DefaultCacheBehavior
. To specify how CloudFront should use SSL/TLS to
communicate with your custom origin, use CustomOriginConfig
.
For more information, see Using HTTPS with CloudFront and Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.
Contents
- ACMCertificateArn
-
Note
In CloudFormation, this field name is
AcmCertificateArn
. Note the different capitalization.If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in AWS Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region (us-east-1
).If you specify an ACM certificate ARN, you must also specify values for
MinimumProtocolVersion
andSSLSupportMethod
. (In CloudFormation, the field name isSslSupportMethod
. Note the different capitalization.)Type: String
Required: No
- Certificate
-
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
(In CloudFormation, this field name isAcmCertificateArn
. Note the different capitalization.) -
IAMCertificateId
(In CloudFormation, this field name isIamCertificateId
. Note the different capitalization.) -
CloudFrontDefaultCertificate
Type: String
Required: No
-
- CertificateSource
-
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
(In CloudFormation, this field name isAcmCertificateArn
. Note the different capitalization.) -
IAMCertificateId
(In CloudFormation, this field name isIamCertificateId
. Note the different capitalization.) -
CloudFrontDefaultCertificate
Type: String
Valid Values:
cloudfront | iam | acm
Required: No
-
- CloudFrontDefaultCertificate
-
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, set this field totrue
.If the distribution uses
Aliases
(alternate domain names or CNAMEs), set this field tofalse
and specify values for the following fields:-
ACMCertificateArn
orIAMCertificateId
(specify a value for one, not both)In CloudFormation, these field names are
AcmCertificateArn
andIamCertificateId
. Note the different capitalization. -
MinimumProtocolVersion
-
SSLSupportMethod
(In CloudFormation, this field name isSslSupportMethod
. Note the different capitalization.)
Type: Boolean
Required: No
-
- IAMCertificateId
-
Note
In CloudFormation, this field name is
IamCertificateId
. Note the different capitalization.If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in AWS Identity and Access Management (IAM), provide the ID of the IAM certificate.If you specify an IAM certificate ID, you must also specify values for
MinimumProtocolVersion
andSSLSupportMethod
. (In CloudFormation, the field name isSslSupportMethod
. Note the different capitalization.)Type: String
Required: No
- MinimumProtocolVersion
-
If the distribution uses
Aliases
(alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:-
The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.
-
The ciphers that CloudFront can use to encrypt the content that it returns to viewers.
For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.
Note
On the CloudFront console, this setting is called Security Policy.
When you're using SNI only (you set
SSLSupportMethod
tosni-only
), you must specifyTLSv1
or higher. (In CloudFormation, the field name isSslSupportMethod
. Note the different capitalization.)If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
(you setCloudFrontDefaultCertificate
totrue
), CloudFront automatically sets the security policy toTLSv1
regardless of the value that you set here.Type: String
Valid Values:
SSLv3 | TLSv1 | TLSv1_2016 | TLSv1.1_2016 | TLSv1.2_2018 | TLSv1.2_2019 | TLSv1.2_2021
Required: No
-
- SSLSupportMethod
-
Note
In CloudFormation, this field name is
SslSupportMethod
. Note the different capitalization.If the distribution uses
Aliases
(alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.-
sni-only
– The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is recommended. Most browsers and clients support SNI. -
vip
– The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront. -
static-ip
- Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the AWS Support Center.
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, don't set a value for this field.Type: String
Valid Values:
sni-only | vip | static-ip
Required: No
-
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: