【发布时间】:2015-09-30 23:51:09
【问题描述】:
当我安装了新的 ssl 证书后,https 连接器停止工作 - 它不响应客户端发送的请求。
客户端和服务器之间没有防火墙。此外,wireshark 显示,当 http 请求发送到 http 端口时,客户端和服务器之间存在数据包交换。
使用之前安装的旧证书一切正常。问题仅与新证书有关。所以,看起来证书可能是问题,但我需要知道确切的问题是什么。我发现的其他类似问题的报告已通过证书重新生成解决,但由于我不是生成证书的人,我宁愿仅在确定这可以解决问题时才申请新证书。
catalina.out 日志或任何可以提供线索的日志消息中没有错误。 有什么方法可以启用详细日志记录,以显示 http 连接器在收到请求时会发生什么?还有什么办法可以解决吗?
关于如何配置的更多细节如下:
我使用以下命令创建了一个新的密钥库并导入了证书:
keytool -import -alias some_alias -keystore .keystore2 -file certfile
keytool可以成功从.keystore2中读取证书
我还尝试将新证书添加到现有密钥库。它已成功添加并且可以被 keytool 读取,但奇怪的是 http 连接器无法通过其别名找到它(尽管 keytool 显示了正确的别名)。
这是 HTTP 连接器的配置:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxPostSize="0"
maxThreads="150" scheme="https" secure="true" URIEncoding="UTF-8"
clientAuth="false" sslProtocol="TLS" keystoreFile="
some_path/.keystore2"
keystorePass="xxxxxx" />
HTTPS 端口已打开:
netstat -antp |grep LIST
tcp 0 0 :::8443 :::* LISTEN 3529/java
catalina.out 中没有错误。有消息表明 HTTP 连接器已启动并正在运行:
Jul 12, 2015 7:12:42 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8443"]
版本:
Server version: Apache Tomcat/7.0.23
Server built: Nov 20 2011 07:36:25
Server number: 7.0.23.0
OS Name: Linux
OS Version: 2.6.32-504.el6.x86_64
Architecture: amd64
JVM Version: 1.7.0_04-b20
JVM Vendor: Oracle Corporation
欢迎任何有关如何解决此问题的建议。
提前致谢。
【问题讨论】:
标签: tomcat ssl https tomcat7 ssl-certificate