我将应用程序中的Jetty服务器版本从9.3.6.v20151106
升级到9.4.6.v20170531
。这样做是为了获得HSTS support和其他可能的改进。
然而,在我完成更改后,我无法启动应用程序的UI,并且在Chrome(60.0.3112.113)中收到错误“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”,而在Firefox(55.0.3(32位))中收到“SSL_ERROR_NO_CYPHER_OVERLAP” 。
在Internet Explorer(11.0.9600.18697)中,它正确启动!
我缺少关于Jetty Server升级以使其适用于所有浏览器的内容是什么?
更新
我检查了类org.eclipse.jetty.util.ssl.SslContextFactory
的调试输出,这是巨大的。以下是摘要:
它选择两个Jetty版本的TLS 1.2
。它选择带有Jetty TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA
版本的9.3.6
,而使用Jetty 9.4.6
,其选择将减少为TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256
。这很奇怪,因为我们使用两种Jetty版本的setter方法设置所有四个密码。
为什么拒绝设置其他两个?