Tomcat无法建立SSL连接。

3

我无法与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个回答

7

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

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

在keystoreFile选项中,您应该验证您的文件实际上命名为“.keystore”(当然不带括号)。如果您想尝试创建另一个,请按照以下方式操作:
keytool –genkey –alias tomcat –keyalg RSA

你应该在keystoreFile中使用反斜杠“\”,而不是“/”。 然后在重新启动应用服务器时,尝试访问。
https://localhost:8443/

如果有帮助,请告诉我。


我仍然不知道为什么它之前不能工作,但是我将Tomcat从7.0.29更改为7.0.28,现在它可以正常工作了。 - Hlib

2

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


1
在您的连接器配置中包含“sslEnabledProtocols”。以下是示例。
<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" />

1

已解决!

迁移到apache-tomcat-7.0.28 ((((


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接