You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tomcat 10配置原有JKS启动HTTPS失败报错求助

Tomcat 10 SSL配置错误解决(迁移自Tomcat9)

问题原因

Tomcat 10 重构了SSL连接器的配置规则,不再支持直接在<Connector>标签内设置keystoreFile、keystorePass等密钥库参数,必须通过<SSLHostConfig>和<Certificate>子元素定义SSL配置。你当前沿用Tomcat9的旧配置格式,导致Tomcat无法找到默认的SSLHostConfig实例,从而触发报错。

修复方案

替换你当前的8443端口<Connector>配置为以下内容:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25"
           enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https"
           secure="true" SSLEnabled="true" server=" ">
    <SSLHostConfig hostName="_default_" clientAuth="false"
                   sslEnabledProtocols="TLSv1.1,TLSv1.2"
                   ciphers="TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA"
                   allowUnsafeLegacyRenegotiation="false">
        <Certificate certificateKeystoreFile="c:\c.jks"
                     certificateKeystorePassword="CARD24"
                     type="JKS"/>
    </SSLHostConfig>
</Connector>

关键配置变更点

  • 将原<Connector>内的clientAuth、sslEnabledProtocols、ciphers等SSL参数移至<SSLHostConfig>标签
  • 原keystoreFile替换为<Certificate>内的certificateKeystoreFile
  • 原keystorePass替换为<Certificate>内的certificateKeystorePassword
  • 明确指定<Certificate>的type:JKS密钥库填JKS,PKCS12(p12)密钥库填PKCS12
  • 添加hostName="_default_"确保匹配Tomcat默认的SSLHostConfig名称

验证步骤

修改后保存server.xml,重启Tomcat,检查启动日志是否无报错,同时测试HTTPS访问是否正常。

内容的提问来源于stack exchange,提问作者SAAD K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:37:07