无法初始化组件 [Connector[org.apache.coyote.http11.Http11Protocol-8443]]

无法初始化组件 [Connector[org.apache.coyote.http11.Http11Protocol-8443]]

我正在尝试在 Tomcat 上启用 SSL(在 Google Compute Engine 上的 Ubunbu 实例上运行自定义域)。

我创建了 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 也出现同样的错误)。如果我注释掉这个连接器,我就可以通过 http 顺利连接到 mydomain。

我在这个过程中遗漏了什么?我读过很多关于这个主题的帖子,但似乎不知道还需要什么。除了连接器之外,一切似乎都正常工作。

相关内容