无法使用 https 连接器启动 Tomcat 10

无法使用 https 连接器启动 Tomcat 10

我刚刚安装了 tomcat 10,并尝试集成一个 jks 文件,该文件我在 tomcat 9 安装中使用时没有出现任何问题,但我无法用它启动 tomcat 10。有人可以提供一个适用于 tomcat 10 的有效 https 配置吗?我更喜欢使用 jks 文件,但我也希望使用 pem、crt、p12 或任何其他证书格式。

以下是我尝试使用 jks 文件启动 tomcat 10 时遇到的错误。

Caused by: java.lang.IllegalArgumentException: no element SSLHostConfig found with hostName [_default_] corresponding to defaultSSLHostConfigName for the connector [https-jsse-nio-8443]

答案1

<< 原因:java.lang.IllegalArgumentException:未找到具有 hostName 的元素 SSLHostConfig [默认] 对应于连接器 [https-jsse-nio-8443] 的 defaultSSLHostConfigName

上述错误消息大多是由于您使用了一些已弃用的 SSL 属性(例如“keystoreFile”、“keystorePass”)而触发的,这些属性在 Tomcat 10 中不再可用,请参阅[1]

keystoreFile 和 keystorePass 等属性在 Tomcat 9 中被标记为已弃用,并从 Tomcat 10 中完全删除。

您可以在标签内包含证书详细信息,如下所示

<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="8443"
    maxThreads="150"
    SSLEnabled="true">
  <SSLHostConfig>
    <Certificate
      certificateKeystoreFile="${user.home}/.keystore"
      certificateKeystorePassword="changeit"
      type="RSA"
      />
    </SSLHostConfig>
</Connector>

[1]https://tomcat.apache.org/tomcat-10.0-doc/ssl-howto.html#SSL_and_Tomcat

[2]https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-Connector-NIO_and_NIO2(已弃用)

[3]https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-Connector-APR/Native(已弃用)

问候,巴拉特

相关内容