title: Tomcat 8.5.4 SSL Empty Response
body: <p>I recently renewed a Let's Encrypt certificate for a Tomcat server I have been running on Ubuntu.</p>
  
  <p>After updating the keystore with the new fullchain.pem and restarting Tomcat, SSL requests return an empty response. Any non-SSL requests to port 80 work perfectly fine.</p>
  
  <p>I created a keystore.jks with the password "password" and alias "tomcat", using the following commands:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>In my Tomcat's server.xml, I have two connectors enabled:</p>
  
  <pre><code>    &lt;Connector port="80" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="443"
                 address="serveraddress"
                 maxHttpHeaderSize="65536"
                  /&gt;
      &lt;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"
                 /&gt;
  </code></pre>
  
  <p>The curl request <code>curl server.com</code> succeeds, but <code>curl server.com:443</code> returns an empty response. I have tried both curling externally and to the port when it's bound to localhost.</p>
  
  <p>I have looked this up everywhere and I still can't figure out why it's happening. Any suggestions?</p>