【发布时间】:2017-03-22 15:45:42
【问题描述】:
我最近为我在 Ubuntu 上运行的 Tomcat 服务器续订了 Let's Encrypt 证书。
使用新的 fullchain.pem 更新密钥库并重新启动 Tomcat 后,SSL 请求返回空响应。对端口 80 的任何非 SSL 请求都可以正常工作。
我使用以下命令创建了一个 keystore.jks,密码为“password”,别名为“tomcat”:
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name tomcat
keytool -importkeystore -deststorepass password -destkeypass password -destkeystore keystore.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass password -alias tomcat
在我的 Tomcat 的 server.xml 中,我启用了两个连接器:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"
address="serveraddress"
maxHttpHeaderSize="65536"
/>
<Connector port="443" protocol="HTTP/1.1"
maxThreads="25" scheme="https" secure="true"
SSLEnabled="true" keystorePass="password"
keystoreFile="conf/keystore.jks" clientAuth="false"
keyAlias="tomcat" sslProtocol="TLSv1.2"
address="serveraddress"
maxHttpHeaderSize="65536"
/>
curl 请求curl server.com 成功,但curl server.com:443 返回一个空响应。当它绑定到 localhost 时,我已经尝试在外部和端口上进行卷曲。
我到处都查过这个问题,但我仍然无法弄清楚为什么会这样。有什么建议吗?
【问题讨论】: