如何配置 AWS cloudfront 以使用 SSL?

How do you configure AWS cloudfront to use SSL?

我们正在使用 cloudfront 通过自定义域提供图像。

http://images.example.com/fubar.png

我们希望能够使用 SSL 访问它们,例如 https://images.example.com/fubar.png

我们有 *.example.com 的通配符 SSL 证书(由 Godaddy 颁发),我使用 AWS Certificate Manager 上传证书、私钥和钥匙串。上传似乎已成功,因为 *.example.com 似乎已 颁发 (根据证书管理器)。

如何 "apply" 这个通配符 SSL 到 images.example.com?如果我访问 CloudFront Distributions 并将常规设置编辑为 select Custom SSL Certificate 我可以看到我的 *.example.com 通配符 SSL .但是当我尝试单击 Yes, Edit 按钮时,我收到以下错误消息:

com.amazonaws.services.cloudfront.model.InvalidViewerCertificateException: The specified SSL certificate doesn't exist, isn't in us-east-1 region, isn't valid, or doesn't include a valid certificate chain. (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidViewerCertificate; Request ID: ffffffff-ffff-ffff-ffff-ffffffffffff)

我需要采取什么步骤才能将此 Wldcard SSL 证书应用到我的具有自定义 DNS 名称的云端图像?

不能肯定地说,但通常出现此类问题时,您的证书链不正确。您需要查看证书颁发机构关于创建链的说明(例如,它需要什么中间证书)。

我遇到了同样的错误,最后发现是 the maximum size of the public key in an SSL/TLS certificate 的问题。 AWS CloudFront 仅支持 2048 位,尽管 Certificate Manager 允许您导入 4096 位密钥。

请参考: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-size-of-public-key.html

尤其是这个:一步一步来
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-requirements.html#https-requirements-certificate-format