2016-11-08 41 views
0

我最近爲我在Ubuntu上運行的Tomcat服務器更新了Let's Encrypt證書。Tomcat 8.5.4 SSL空響應

使用新的fullchain.pem更新密鑰庫並重新啓動Tomcat後,SSL請求會返回空響​​應。任何對端口80的非SSL請求都可以很好地工作。

我創建了密碼爲 「password」 和別名 「雄貓」 一keystore.jks,使用以下命令:

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 server.com成功,但curl server.com:443返回空響應。當它綁定到本地主機時,我試圖在外部和端口上進行卷曲。

我已經看到了這個地方,我仍然無法弄清楚爲什麼會發生。有什麼建議麼?

回答

0

您需要包含協議HTTPS。 curl https://server.com:443

443是可選的,因爲它是HTTPS的默認端口。

「如果您指定的URL不帶protocol://前綴,curl會嘗試猜測您可能需要的協議,然後默認使用HTTP,但嘗試使用基於經常使用的主機名前綴的其他協議。以「ftp。」開頭的主機名稱將會假設您想要說FTP。「

https://curl.haxx.se/docs/manpage.html