我无法与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(((
答案 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" />