我设置了一个 keystore 并从 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" />
请帮忙!
最佳答案
当我配置 tomcat 时,如果在我看到任何响应之前有延迟,那几乎总是因为端口因某种原因被阻塞。您确定端口 443 已通过防火墙打开(假设这是在外部服务器上完成的)吗?
如果您的标准端口工作正常,但 443 只是在出现故障前停顿并旋转了一段时间,我会把钱花在阻塞的端口上。
关于java - 在 Tomcat 8 上配置 SSL 并连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052805/