【发布时间】:2016-05-05 07:35:13
【问题描述】:
我设置了一个密钥库并从 openssl.com 获得了 SSL 证书。我遵循的确切步骤在这里:https://drive.google.com/file/d/0B6PUGo7cBLcDTzdkc0pzT2pTMk0/view?usp=sharing
不幸的是,即使在完全按照他们对 tomcat 的说明并与客户支持合作之后,我的 https 连接也会超时。
tomcat 似乎已启动并正在运行,正在侦听端口 443,但我不知道如何进行更深入的调试。 Http 请求服务得很好,所以我知道 tomcat 本身工作得很好。
[ec2-user@ip- logs]$ sudo netstat -tunlp | grep 443
tcp6 0 0 :::443 :::* LISTEN 19407/java
[ec2-user@ip- logs]$ ps -ef | grep java
root 19407 1 1 23:03 pts/0 00:00:06 /usr/java/jre1.8.0_60//bin/java
-Djava.util.logging.config.file=/usr/apache-tomcat-8.0.26//conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/apache-tomcat-8.0.26//endorsed -classpath /usr/apache-tomcat-8.0.26//bin/bootstrap.jar:/usr/apache-tomcat-8.0.26//bin/tomcat-juli.jar -Dcatalina.base=/usr/apache-tomcat-8.0.26/ -Dcatalina.home=/usr/apache-tomcat-8.0.26/ -Djava.io.tmpdir=/usr/apache-tomcat-8.0.26//temp org.apache.catalina.startup.Bootstrap start ec2-user 19449 18021 0 23:13 pts/0 00:00:00 grep --color=auto java
我的连接器配置为:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" KeystoreFile="/home/ec2-user/.keystore" KeystorePass="password" />
请帮忙!
【问题讨论】:
-
30秒后是否超时??
-
少一点。大约是25秒。 ;)
-
您可以指定 asyncTimeout(连接器标签属性)。异步请求的默认超时时间(以毫秒为单位)。如果未指定,则此属性设置为 Servlet 规范默认值 30000(30 秒)。
-
您是说问题可能是服务器响应缓慢并且在请求完成之前超时,因此我应该设置更长的超时时间?看起来很奇怪 - 我的 http 端点立即响应......我设置了 asyncTimeout="60000" 并且它在 25 秒后仍然超时......
-
Ya..somethuig like that..在您的连接器标签中,默认超时为 30 秒,因为未指定。还要检查是否发生 ssl 连接。见Check SSL
标签: java tomcat ssl tomcat8 tls1.2