我最近为我在Ubuntu上运行的Tomcat服务器更新了一个Let的加密证书。
使用新的fullchain.pem更新密钥库并重新启动Tomcat后,SSL请求将返回空响应。对端口80的任何非SSL请求都可以正常工作。
我使用密码"密码"创建了一个keystore.jks;和别名" 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时,我尝试了外部卷曲和端口。
我到处都看过这个,但我仍然无法弄清楚它为什么会发生。有什么建议吗?
答案 0 :(得分:0)
您需要包含HTTPS协议。 curl https://server.com:443
443是可选的,因为它是HTTPS的默认端口。
“如果您指定不带protocol://前缀的URL,curl将尝试猜测您可能需要的协议。它将默认为HTTP,但会尝试基于常用主机名前缀的其他协议。例如,对于主机以“ftp。”curl开头的名称将假设你想说FTP。“