我的Nginx服务器有一个SSL证书,它看起来非常好,并且在大多数浏览器中都工作得很好。服务器是https://live.evmote.com。您可以通过访问https://live.evmote.com/primus来“命中”服务器。SSL证书检查在这里:https://www.ssllabs.com/ssltest/analyze.html?d=live.evmote.com
到现在为止还好。问题是特斯拉S型浏览器(车内浏览器)。它提供了一个“坏证书”错误。特斯拉浏览器是出了名的坏和不完整的支持。没有办法查看证书链或调试问题从特斯拉。与其说是电脑,不如说是家电。以下是特斯拉内部的SSL支持:http://i.imgur.com/EbIrClM.jpg
在Nginx服务器上,我在日志中得到了这个错误: SSL3_GET_CLIENT_HELLO:no共享密码
现在,显然从Tesla SSL报告和服务器报告中可以看到共享密码。我希望他们会在这个问题上握手: TLS_RSA_WITH_AES_256_CBC_SHA (0x35)
我不知道怎么从这里排除故障。
谢谢,莱恩
发布于 2015-11-20 06:48:51
错误消息可能有误导性。问题是浏览器不支持SNI,但是您的网站需要它。至少它只为支持SNI的浏览器提供有效的证书(对于live.evmote.com),其他所有的浏览器都会获得一个自签名通配符证书,它不会被进行正确证书验证的浏览器所接受。
发布于 2021-07-06 14:05:57
我们在Java客户机上遇到了类似的问题。根本原因是在SSL上下文(io.netty.handler.ssl.SslContext)中显式设置了协议:
val ctx = io.netty.handler.ssl.SslContextBuilder.forClient()
...
.protocols("SSLv2Hello,TLSv1.2,TLSv1.3".split(","))
.build()准确地说,SSLv2Hello,这不应该声明,也不应该在这里使用。
不幸的是,我们不能控制我们所有的客户。因此,进一步的调查表明,在OpenSSL升级到1.1.*之后,就出现了这个问题。
一旦我们将OpenSSL降级到1.0,它就能做到这一点。Nginx1.18.0+ OpenSSL 1.0.2u可与SSLv2Hello进行握手,无错误,并可达到最高协议。
https://stackoverflow.com/questions/33806038
复制相似问题