Não é possível obter o SSL trabalhando no Tomcat8.5

2

Eu tive meu Tomcat8 funcionando bem na porta 8080, mas agora estou tentando habilitar https em 8443 e, mesmo que os logs pareçam bem, ele não funciona (nem mesmo em 8080 sem https agora).

Meu sistema é o Ubuntu 17.10 e estou usando o Tomcat 8.5.21

O que eu fiz:

  1. Obtenha um certificado Vamos Criptografar (está funcionando bem no meu Apache) e criei um Keystore JKS.

  2. Atualizei meu conector server.xml com:

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000"
               redirectPort="8443" />
    
    <Connector port="8443" 
               protocol="org.apache.coyote.http11.Http11NioProtocol"
               SSLEnabled="true" scheme="https" secure="true" 
               clientAuth="false" sslProtocol="TLSv1.2" 
               keyAlias="tomcat"
               keystoreType="JKS" keystoreFile="/etc/letsencrypt/live/sydomain/MyDSKeyStore.jks"
               keystorePass="mypassword" />
    
  3. Instalou o APR e certificou-se de que <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> estava presente no meu server.xml (aviso sobre APR em logs desapareceu)

  4. Corrigido um erro dizendo Não é possível recuperar a chave minha senha Keystore e Key é a mesma .

  5. Reiniciou o serviço tomcat8 (também tentou reinicializar o servidor).

Meu catalina.out para um processo start mostra:

22-Jan-2018 10:32:53.795 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.21 (Ubuntu)

22-Jan-2018 10:32:53.801 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Oct 13 2017 11:06:51 UTC

22-Jan-2018 10:32:53.802 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.21.0 22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.13.0-25-generic

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-8-openjdk-amd64/jre

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation

22-Jan-2018 10:32:53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /var/lib/tomcat8

22-Jan-2018 10:32:53.808 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/share/tomcat8

22-Jan-2018 10:32:53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties

22-Jan-2018 10:32:53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

22-Jan-2018 10:32:53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true

22-Jan-2018 10:32:53.811 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC

22-Jan-2018 10:32:53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048

22-Jan-2018 10:32:53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources

22-Jan-2018 10:32:53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/var/lib/tomcat8

22-Jan-2018 10:32:53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/share/tomcat8

22-Jan-2018 10:32:53.813 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/tmp/tomcat8-tomcat8-tmp

22-Jan-2018 10:32:53.814 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.14] using APR version [1.6.2].

22-Jan-2018 10:32:53.814 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

22-Jan-2018 10:32:53.815 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]

22-Jan-2018 10:32:53.824 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.0.2g 1 Mar 2016]

22-Jan-2018 10:32:54.087 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]

22-Jan-2018 10:32:54.133 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

22-Jan-2018 10:32:54.148 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-openssl-nio-8443"]

Eu também tentei ativar as informações de depuração SSL com -Djavax.net.debug=ssl on JAVA_OPTS e ele mostra muitas informações, mas nada que se pareça com um erro ou aviso.

Aparentemente, meu servidor está em execução. Se eu netstat -plntu , vejo:

tcp6   0    0 :::8080       :::*        LISTEN      2843/java
tcp6   0    0 :::8443       :::*        LISTEN      2843/java

Mas não responde nem em

As portas do firewall estão abertas (o 8080 estava funcionando anteriormente e eu acabei de abrir o 8443 da mesma forma)

Alguma pista do que mais posso verificar? Eu tenho procurado por horas e tentando tudo que encontrei sem sucesso ...

    
por Jordi Nebot 22.01.2018 / 11:43

0 respostas