AWS CloudFront 现在需要备用 cname 才能具有导致问题的安全证书

AWS CloudFront now requiring alternate cname to have security certificate causing problem

这多年来一直运作良好。

最近我不得不重新创建我的 Cloudfront 发行版。所以首先我暂时将 search.jthinkws.com 指向 jthinkws.elasticbeanstalk.com 域然后禁用并删除旧的分发然后创建新的 Cloudfront分配。但它不再工作,因为它不允许我添加 search.jthinkws.com 作为备用 cname,因为它没有安全证书

com.amazonaws.services.cloudfront.model.InvalidViewerCertificateException: To add an alternate domain name (CNAME) to a CloudFront distribution, you must attach a trusted certificate that validates your authorization to use the domain name. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements

所以我去了 AWS Certifcate Manager 获取证书,但它说如果我使用 DNS 验证,那么 AWS 将创建无法修改的 CNAME 记录,我担心这会破坏我的配置。 Whois 没有列出任何电子邮件地址(尽管它们在我为域名付费的公司内是可见的)所以我不确定这是否会奏效。

感谢任何帮助。

好的,我让它工作了。

如果您使用 DNS 验证,它创建的记录不是针对域而是子域,例如

 _72d863ce40127aac000cf4d20fe972ea.search.jthinkws.com

而不是

 search.jthinkws.com

因此它不会影响配置,如果 AWS 是这些域的​​ DNS 管理器,那么它可以为您创建 Route53 记录。

我遇到了几个问题:

  • 当我第一次创建证书时,它创建的默认区域是 EU-West 爱尔兰 但事实证明它们必须在 美国东弗吉尼亚州 以便 Cloudfront 能够使用它们。

  • 您必须将证书的 arn 输入到 Cloudfront 中,没有下拉列表,因此您必须进入证书管理器,查看证书并复制并粘贴 ARN 字段

例如

arn:aws:acm:us-east-1:623196878787496:certificate/d049878781-20b6-4cb5-a70a-6e86758936d2