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

Не удалось инициализировать компонент [Connector [org.apache.coyote.http11.Http11Protocol-8443]]

Я пытаюсь включить SSL на Tomcat (пользовательский домен запущен в экземпляре Ubunbu в Google Compute Engine).

Я создал сертификат Let's Encrypt, он создал 4 файла под /etc/letsencrypt/live/mydomain.com:

cert.pem
chain.pem
fullchain.pem
privkey.pem

Затем:

cd /etc/letsencrypt/live/mydomain.com

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name tomcat

keytool -importkeystore -deststorepass mypassword -destkeypass mypassword -destkeystore
KeyStore.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass mypassword -alias
tomcat

sudo cp KeyStore.jks /opt/tomcat/conf/.keystore

Включить коннектор:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
    URIEncoding="UTF-8" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="/opt/tomcat/conf/.keystore" keystorePass="mypassword" keyAlias="tomcat"
/>

Я получаю сообщение об ошибке:

SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[org.apache.coyote.http11.Http11Protocol-8443]]
 org.apache.catalina.LifecycleException: Failed to initialize component [Connector[org.apache.coyote.http11.Http11Protocol-8443]]
Caused by: java.lang.NullPointerException

Если я проверю хранилище ключей с

keytool -list -v -keystore /opt/tomcat/conf/.keystore

в нем указан сертификат (я полагаю правильно).

У меня разрешен порт 8443 (но я также получаю ту же ошибку для 443). Если я закомментирую этот коннектор, я могу нормально подключиться к mydomain через http.

Что мне не хватает в этом процессе? Я прочитал много сообщений по этой теме, но не могу понять, что еще требуется. Вроде все исправно кроме разъема.