tomcat无法建立ssl连接

时间:2012-09-05 06:10:53

标签: tomcat ssl

我无法与tomcat建立ssl连接。 Chrome会写"107 (net::ERR_SSL_PROTOCOL_ERROR"。 我通过keytool生成了mystore文件。(>keytool -genkey -alias tomcat -keyalg RSA -keystore mystore -validity 999 -keysize 512)并将其放到D:\ mystore。

也在我的server.xml中:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="443"/>



<Connector port="443" SSLEnabled="true" maxHttpHeaderSize="8192" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="200"
    enableLookups="false" disableUploadTimeout="true"         
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="d:\mystore" keystorePass="123123" keystoreType="JKS"
    keyAlias="tomcat"/>

当我在日志中启动tomcat时,存在以下字符串:

INFO: Starting ProtocolHandler ["http-bio-443"]
сен 05, 2012 9:00:29 AM org.apache.coyote.AbstractProtocol start

当我尝试时 https://localhost/lib(或https://localhost:443/lib)无效。

有人能帮助我吗?

PS: -apache-Tomcat的7.0.29

-jdk1.7.0_5

已修复!

迁移到apache-tomcat-7.0.28(((

4 个答案:

答案 0 :(得分:7)

首先,您应该使用8443(或另一个8000+端口),443是系统使用的默认端口之一(如21上的FTP等)。 然后:你应该像这样修改你的server.xml:

<Connector port=”8443” protocol=”org.apache.coyote.http11.Http11Protocol” SSLEnabled=”true”
       maxThreads=”200” scheme=”https” secure=”true”  keystoreFile=”D:/mystore/.keystore” keystorePass=”123123”
       clientAuth=”false” sslProtocol=”TLS” />

在keystoreFile选项中,您应该验证您的文件实际上是“.keystore”(当然还有括号)。 如果你想尝试创建另一个:你应该这样做:

keytool –genkey –alias tomcat –keyalg RSA

你应该在keystoreFile中使用“反斜杠”,“\”而不是“/”。 然后在重新启动应用程序服务器时,您应该尝试转到

https://localhost:8443/

让我知道是否有帮助

答案 1 :(得分:2)

我也遇到了同样的问题,但即使升级了tomcat之后问题仍然存在。 我通过清除缓存和cookie解决了这个问题。

答案 2 :(得分:1)

固定!

迁移到apache-tomcat-7.0.28(((

答案 3 :(得分:0)

连接器配置中的

包括&#34; sslEnabledProtocols&#34;这是一个样本

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxHttpHeaderSize="8192" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" keystoreFile="" keystorePass="password" />