我在 https://tomcat.apache.org/download-70.cgi 下载了 tomcat 7 的核心二进制发行版
我将存档的内容提取为名为 tomcat 的目录。只要我提供环境变量,这个tomcat二进制文件就可以直接运行。所以我使用脚本设置 JAVA_HOME 和 CATALINA_HOME,然后使用默认脚本启动服务器:
tomcat/bin/startup.sh
Using CATALINA_BASE: ./tomcat
Using CATALINA_HOME: ./tomcat
Using CATALINA_TMPDIR: ./tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-8-oracle
Using CLASSPATH: ./tomcat/bin/bootstrap.jar:./tomcat/bin/tomcat-juli.jar
...
...
Jul 15, 2015 3:34:46 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory getEnableableProtocols
WARNING: None of the SSL protocols specified are supported by the SSL engine : [TLSv1+TLSv1.1+TLSv1.2]
在我的 server.xml 中有
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="..." keystorePass="..."
clientAuth="false" sslProtocol="TLS"
sslEnabledProtocols="TLSv1+TLSv1.1+TLSv1.2"
address="0.0.0.0"/>
在运行服务器时,我无法解决这个“不支持的协议(protocol)”问题。我认为它来自提供这些协议(protocol)的 jsse 库的加载,但我在/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar 下有可用的 jar,我也尝试复制它到 tomcat/lib/以确保它最终会出现在类路径中,但它没有工作。
这些协议(protocol)出了什么问题,我怎样才能让它们正常工作?
最佳答案
它们以空格或逗号分隔,而不是“+”分隔。检查文档。您正在使用 OpenSSL 语法和非 OpenSSL 连接器。
关于java - 独立 Tomcat 7 不支持 SSL 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443135/