Назад | Перейти на главную страницу

Не удается заставить SSL работать на Tomcat8.5

У меня Tomcat8 работал нормально на порту 8080, но теперь я пытаюсь включить https в 8443, и, хотя журналы выглядят нормально, он не работает (даже в 8080 без https прямо сейчас).

Моя система - Ubuntu 17.10, и я использую Tomcat 8.5.21.

Что я сделал:

  1. Получите сертификат Let's Encrypt (он отлично работает в моем Apache) и создайте хранилище ключей JKS.

  2. Обновил мой server.xml разъем с:

    <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. Установил APR и убедился, что <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> присутствовал на моем server.xml (пропало предупреждение о APR в логах)

  4. Исправлена ​​ошибка, говорящая Невозможно восстановить ключ делая у меня хранилище ключей и пароль ключа одинаковы.

  5. Перезапустил службу tomcat8 (также пытался перезагрузить сервер).

Мой catalina.out для start процесс показывает:

22 января 2018 г. 10:32: 53.795 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия сервера: Apache Tomcat / 8.5.21 (Ubuntu)

22 января 2018 г. 10: 32: 53.801 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Сервер построен: 13 октября 2017 г., 11:06:51 UTC

22 января 2018 г. 10: 32: 53.802 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Номер сервера: 8.5.21.0 22 января 2018 г. 10: 32: 53.807 INFO [main] org.apache.catalina .startup.VersionLoggerListener.log Имя ОС: Linux

22 января 2018 г. 10: 32: 53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия ОС: 4.13.0-25-generic

22 января 2018 г. 10:32: 53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Архитектура: amd64

22 января 2018 г. 10:32: 53.807 INFO [основная] org.apache.catalina.startup.VersionLoggerListener.log Домашняя страница Java: / usr / lib / jvm / java-8-openjdk-amd64 / jre

22 января 2018 г. 10:32: 53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия JVM: 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12

22 января 2018 г. 10:32: 53.807 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Поставщик JVM: Oracle Corporation

22 января 2018 г. 10:32: 53.807 ИНФОРМАЦИЯ [основная] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: / var / lib / tomcat8

22 января 2018 г. 10:32: 53.808 ИНФОРМАЦИЯ [главная] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: / usr / share / tomcat8

22 января 2018 г. 10:32: 53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.util.logging.config.file = / var / lib / tomcat8 / conf / logging .properties

22 января 2018 г. 10:32: 53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager

22 января 2018 г. 10:32: 53.810 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.awt.headless = true

22 января 2018 г. 10:32: 53.811 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -XX: + UseConcMarkSweepGC

22 января 2018 г. 10:32: 53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djdk.tls.ephemeralDHKeySize = 2048

22 января 2018 г. 10:32: 53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.protocol.handler.pkgs = org.apache.catalina.webresources

22 января 2018 г. 10:32: 53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcatalina.base = / var / lib / tomcat8

22 января 2018 г. 10:32: 53.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcatalina.home = / usr / share / tomcat8

22 января 2018 г. 10:32: 53.813 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.io.tmpdir = / tmp / tomcat8-tomcat8-tmp

22 января 2018 г. 10: 32: 53.814 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Загружена собственная библиотека Apache Tomcat [1.2.14] на основе APR с использованием версии APR [1.6.2].

22 января 2018 г. 10: 32: 53.814 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Возможности APR: IPv6 [true], sendfile [true], accept filters [false], random [true].

22 января 2018 г. 10: 32: 53.815 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Конфигурация APR / OpenSSL: useAprConnector [false], useOpenSSL [true]

22 января 2018 г. 10:32: 53.824 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL успешно инициализирован [OpenSSL 1.0.2g 1 марта 2016 г.]

22 января 2018 г. 10: 32: 54.087 INFO [main] org.apache.coyote.AbstractProtocol.init Инициализация ProtocolHandler ["http-nio-8080"]

22 января 2018 г. 10: 32: 54.133 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Использование общего селектора для записи / чтения сервлета

22 января 2018 г. 10:32: 54.148 INFO [main] org.apache.coyote.AbstractProtocol.init Инициализация ProtocolHandler ["https-openssl-nio-8443"]

Я также попытался включить информацию отладки SSL с помощью -Djavax.net.debug=ssl на JAVA_OPTS и он показывает много информации, но ничего похожего на ошибку или предупреждение.

Очевидно, мой сервер работает, если я это сделаю netstat -plntu Я вижу:

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

Но он не отвечает ни в

Порты брандмауэра открыты (8080 работал ранее, а я только что открыл 8443 таким же образом)

Есть подсказка, что еще я могу проверить? Я искал часами и безуспешно пробовал все, что нашел ...