我已经设置了一个AWS负载均衡器,它可以监听HTTPS,为其部署了一个ACM证书,并在Route 53中将我的域指向它。当使用AWS提供的域https://example.eu-west-1.elb.amazonaws.com访问该站点时,它工作正常(证书不匹配,所以我必须在Chrome中添加例外)。但是,当我尝试使用我自己的域https://example.com访问它时,Chrome会说ERR_SSL_VERSION_OR_CIPHER_MISMATCH。我觉得这很奇怪,因为它的域名不同而且证书是相同的。
答案 0 :(得分:2)
当您申请证书时,您是否指定了主机名(即www.example.com)或通配符(* .example.com)?
这些都不会与根域(example.com)匹配,因此您需要在证书中添加第二个名称。
有多种方法可以配置ELB和实例之间的连接 - 如果您在ELB和实例之间使用https或tcp,那么您需要确保实例上的Web服务器是还为SSL正确设置。您可以在ELB上终止SSL并在ELB和实例之间使用HTTP。
答案 1 :(得分:0)
ERR_SSL_VERSION_OR_CIPHER_MISMATCH基本上意味着"服务器支持SSL,坚持没有TLS"。我怀疑你是否可以将此错误连接到实际的Amazon ELB。
如果您可以使用AWS提供的域进行连接,那么您的证书以及ELB与您的实例之间的连接也应该是正确的。在最坏的情况下,您将获得与使用亚马逊域名连接时相同的证书警告。
检查亚马逊域名(example.eu-west-1.elb.amazonaws.com)的位置以及您的域名(example.com)指向的位置。我打赌这些将是两个不同的地址。如果有疑问,请使用this online tool来解析DNS名称。
您是否已将Route 53中的域配置为ELB的别名?这个很重要。而且很可能是问题所在。