今天在测试环境中使用Tomcat9+jdk1.8测试证书的时候启动Tomcat发现一个问题,导致Tomcat怎么也启动不了。
报错如下:
在网上找了很多资料后发现了一些方法,其中有说在server.xml中注释
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
这句配置给注释掉就可以了,但是在尝试过后在我的环境下没有用(应该不是这个问题导致的)。
后来解决方案为:通过更新server.xml文件的Connector元素中的协议属性值来消除以下异常
异常语法:
<Connector port="443"
protocol="HTTP/1.1" #或是protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
...
/>
将连接器元素语法中的协议属性值更新
由
protocol="HTTP/1.1" #或是protocol="org.apache.coyote.http11.Http11Protocol"
改为
protocol="org.apache.coyote.http11.Http11NioProtocol"
重启Tomcat,至此本次问题解决。
当然,该方法不一定适合于所有的场景,仅此记录此次报错。