我有一台 Tomcat 7.0 服务器,我想配置它来监听 HTTPS 端口。我使用 Nio 协议,我希望它同时支持 SSLv3 和 TLS 协议(我知道 SSLv3 不安全,但我需要提供这种能力)。它现在的样子如下:
<Connector
port="443"
SSLEnabled="true"
clientAuth="false"
disableUploadTimeout="true"
enableLookups="false"
keyAlias="myalias"
keystoreFile="mykeystore"
keystorePass="mypass"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
sslEnabledProtocols="SSLv3,TLSv1,TLSv1.1,TLSv1.2" />
问题是我应该使用什么值作为 sslProtocol?根据文档SSL 启用任何 SSL 协议,TLS 启用任何 TLS 协议,但如何同时启用两者?我尝试设置“SSL,TLS”和“SSL_TLS”,但这些值无效。
答案1
根据 Tomcat 7 SSL/TLS HOWTO 中的示例,
编辑 Tomcat 配置文件分隔符是+
:
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11AprProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="/usr/local/ssl/server.crt" SSLCertificateKeyFile="/usr/local/ssl/server.pem" SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>
奇怪的是这不在文档中!