Tomcat配置HTTPS报错解决方法

一、配置Tomcat
在文件 conf/server.xml文件找到:
<!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->
修改成如下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               keystoreFile="D:/localhost.keystore" keystorePass="changpwd"
               clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8"

参数说明:
keystoreFile 创建证书的路径
keystorePass 创建证书的密码

二、启动Tomcat
启动会出现以下错误: 
严重: Failed to start connector [Connector[HTTP/1.1-8443]]
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.lang.IllegalStateException: Unable to initialise endpoint. A previous call to init() failed. See previous log messages for details.
at org.apache.catalina.connector.Connector.start(Connector.java:1204)
at org.apache.catalina.core.StandardService.start(StandardService.java:540)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

三、解决方法
1、注销server.xml中的语句: 
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />--> 
该方法将不使用APR库,会降低Tomcat性能。

2、修改server.xml中protocol的配置为protocol="org.apache.coyote.http11.Http11Protocol"。
 

猜你喜欢

转载自leeo1124.iteye.com/blog/2240841