![如何配置 Tomcat 连接器以同时使用 SSL 和 TLS 协议?](https://linux22.com/image/709168/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20Tomcat%20%E8%BF%9E%E6%8E%A5%E5%99%A8%E4%BB%A5%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%20SSL%20%E5%92%8C%20TLS%20%E5%8D%8F%E8%AE%AE%EF%BC%9F.png)
我有一台 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"/>
奇怪的是这不在文档中!