我目前正在使用禁用 SSLv3 的 APR 连接器将我的 Tomcat 服务器升级到 Tomcat 7。这是我的连接器:
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLProtocol="TLSv1"
SSLCertificateFile="${CP_ROOT}/security/tomcat.crt"
SSLCertificateKeyFile="${CP_ROOT}/security/tomcat.key" />
一切似乎都在正常工作......例如,通过 HTTPS 访问一个页面可以正确地提供该页面。但是,我们使用的是 F5 负载平衡器,一旦我禁用 SSLv3,配置的运行状况监视器就开始为该节点/端口失败。在 F5 方面进行了一些故障排除后,我决定尝试使用 OpenSSL 进行诊断:
$ openssl s_client -connect casrept2.tc.columbia.edu:8443/cas/monitor.jsp
CONNECTED(00000003)
write:errno=54
做同样的事情,但强制 TLSv1 ( -tls1
),我能够正确连接:
$ openssl s_client -connect casrept2.tc.columbia.edu:8443/cas/monitor.jsp -tls1
CONNECTED(00000003)
... cert chain, etc, etc
我想知道这是否是导致运行状况监视器失败的原因。不管怎样,我很好奇为什么我需要特别强迫-tls1
它起作用。我认为它应该自动协商正确的协议?