Tomcat 9 SSL / TLS - не удалось инициализировать ошибку компонента - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть Tomcat 9.0.12 и Java JDK / JRE 1.8.0_191. Я пытаюсь настроить SSL / TLS. Я изменил свой файл server.xml следующим образом:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="C:\my_certificate.pfx"
               keystorePass="my_password" keystoreType="PKCS12" />

Мой файл сертификата в формате * .pfx. Я запускаю сервер Tomcat через командную строку с помощью команды startup.bat. Но я получил такую ​​ошибку (в моем catalina.log):

...
05-Nov-2018 16:33:57.080 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
05-Nov-2018 16:33:57.190 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Nov-2018 16:33:57.205 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[org.apache.coyote.http11.Http11Protocol-443]]
 org.apache.catalina.LifecycleException: Protocol handler instantiation failed
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:904)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:852)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:656)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:306)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:491)
...

когда я пытаюсь подключиться http://localhost:443, я получаю сообщение ERR_CONNECTION_REFUSED, которое я добавил ниже.

ERR_CONNECTION_REFUSED:

Connection refused error screenshot

1 Ответ

0 голосов
/ 23 июля 2019

У меня была такая же проблема. Он начинает инициализировать неблокирующий соединитель

05-Nov-2018 16:33:57.080 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]

Но ваш конфиг предлагает использовать блокирующий разъем io

Http11Protocol

Так что, возможно, вы попытаетесь использовать другой разъем вместо этого. В моем случае изменение Http11Protocol на Http11NioProtocol помогло исправить эту ошибку.

...