CloudFront 分发和 AWS 颁发的证书提供 SSL_ERROR_NO_CYPHER_OVERLAP

Posted

技术标签:

【中文标题】CloudFront 分发和 AWS 颁发的证书提供 SSL_ERROR_NO_CYPHER_OVERLAP【英文标题】:CloudFront distribution and AWS issued certificate gives SSL_ERROR_NO_CYPHER_OVERLAP 【发布时间】:2017-08-08 06:30:52 【问题描述】:

我无法使用 AWS 证书访问 Internet CloudFront S3 Bucket。这就是我所做的:

    创建了一个通配符证书,例如:*.mydomain.com。 创建了一个 S3 存储桶,无需修改属性。 创建 CloudFront 分配,使用创建的 S3 存储桶 URL 作为源,从步骤 1 中选择我的证书,选择 HTTP/2、HTTP/1.1、HTTP/1.0,然后选择 HTTP 到 HTTPS 重定向。 在我的托管区域中为颁发证书的域创建了一个 A 别名,指向我的分发 URL。

创建发行版后,我的浏览器都告诉我:

Firefox:SSL_ERROR_NO_CYPHER_OVERLAP Chrome:ERR_SSL_VERSION_OR_CIPHER_MISMATCH Safari:无法建立安全连接。

我不确定我是否在设置过程中遗漏了一步,我尝试过调整各种参数,但没有什么能让我通过。

想知道我在这里错过了什么。

更新

阅读this blog post,说我可能忘记添加备用 CNAME。这让我有点困惑,我应该吗?在 Route 53 中,我使用 something.mydomain.com 配置了我的完整域,并且证书是通配符。

其他博文和问题答案表明我不应该,只使用 A 记录和 CloudFront 分配 URL/端点,就像我所做的那样。

【问题讨论】:

【参考方案1】:

因此,在我的更新中,我提到了从博客文章中添加 CNAME。就是这样,当我这样做时,它就开始工作了。

为了澄清,我这样做是为了解决我的问题:

    编辑您的 CloudFront 分配。 在标签常规下,点击编辑。 在 Alternate Domain Names 文本框中,添加(至少)您已配置的 something.mydomain.com 到 Route53 中此分配的端点/URL。 保存您的更改。

这立即为我解决了这个问题,但请记住,CloudFront 配置更改有时可能需要一些时间才能推出。

【讨论】:

这不仅适用于备用名称。为了使所有名称都能正常工作,我必须将所有名称都放在 CNAMES 字段中。 不清楚。 something.mydomain.com that you have configured to this distribution's endpoint/URL in Route53是什么意思 我遇到了同样的错误,原因只是域名输入错误。【参考方案2】:

如 OP 在编辑错误中所述,当***(裸)域、www 子域、其他子域或其他域的 CNAME 条目未在分发中列出时.

修复添加至少一个 CNAME 到 CloudFront 中的分配。

【讨论】:

【参考方案3】:

奇怪但真实:

实际上为我解决了这个问题的是将 CF 分发中的最低密码版本从 TLSv1 提高到 TLSv1.1_2016

这是相关的 CloudFormation sn-p:

HttpVersion: "http2"
ViewerCertificate:
  AcmCertificateArn: !Ref SslCertificateArn
  MinimumProtocolVersion: "TLSv1.1_2016"
  SslSupportMethod: sni-only

很奇怪,因为我不明白为什么此更改可以解决任何问题。浏览器应自动协商更高的 TLS 版本。

【讨论】:

以上是关于CloudFront 分发和 AWS 颁发的证书提供 SSL_ERROR_NO_CYPHER_OVERLAP的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudFront CNAME 和分发域名关系不明确

AWS Cloudfront分发多语言角度应用程序

无法选择自定义 SSL 证书(存储在 AWS IAM 中)

AWS Cloudfront 分发保持“进行中”55 分钟并计数

如何与 Cloudfront 和 ec2 节点服务器通信?

如何解决 AWS CloudFront SSL 证书不存在的问题