Tomcat怎么配置证书?Tomcat配置SSL证书教程

更新时间:2025-10-02 来源:TopSSL技术团队

Tomcat 配置 SSL 证书指南(HTTPS 部署完整教程)

在 Tomcat 服务器上部署 SSL/TLS 证书,是启用 HTTPS 加密访问的核心步骤。通过正确配置证书,可以实现浏览器与服务器之间的数据加密传输、身份验证以及完整性保护,从而避免数据泄露与中间人攻击。

Tomcat 配置 SSL 证书的核心步骤是:将 SSL 证书转换为 JKS 或 P12 格式,在 server.xml 中配置 HTTPS Connector(443端口),并重启 Tomcat 服务即可启用 HTTPS

本文适用于 Tomcat 8 / 9 / 10 主流版本。


一、准备工作(部署前必须确认)

在配置之前,请确保你已经具备以下文件:

证书文件

  • SSL 证书文件(通常为 .crt.pem
  • 私钥文件(.key
  • CA 中间证书(ca-bundle 或 chain 文件)
  • Java KeyStore(.jks)或 PKCS12(.p12)证书容器

如果证书是 PEM 格式,需要先转换为 Tomcat 可识别的 JKS 或 P12 格式。


二、将 SSL 证书转换为 JKS(Tomcat 标准格式)

1. 生成 PKCS12 文件

openssl pkcs12 -export \
-in certificate.crt \
-inkey private.key \
-out domain.p12 \
-name tomcat \
-CAfile ca-bundle.crt \
-caname root

2. 转换为 JKS 文件

keytool -importkeystore \
-srckeystore domain.p12 \
-srcstoretype PKCS12 \
-destkeystore domain.jks \
-deststoretype JKS \
-alias tomcat

3. 验证 keystore

keytool -list -v -keystore domain.jks

三、修改 Tomcat 配置文件 server.xml

1. 定位配置文件

$TOMCAT_HOME/conf/server.xml

2. 配置 HTTPS Connector(标准推荐配置)

server.xml 中添加或修改如下内容:

<Connector port="443"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="200"
           SSLEnabled="true">

    <SSLHostConfig>
        <Certificate certificateKeystoreFile="/opt/tomcat/conf/domain.jks"
                     certificateKeystorePassword="your_password"
                     type="RSA" />
    </SSLHostConfig>

</Connector>

3. 参数说明

参数说明
portHTTPS 默认端口(443)
SSLEnabled启用 SSL
certificateKeystoreFileJKS 文件绝对路径
certificateKeystorePasswordKeystore 密码
type加密类型(通常 RSA)

四、重启 Tomcat 生效

systemctl restart tomcat

或:

sh shutdown.sh
sh startup.sh

五、HTTPS 访问验证方法

浏览器访问:

https://your-domain.com

验证是否成功:

  • 地址栏出现 🔒 锁标志
  • 无证书警告
  • SSL Labs 测试评分正常(A/A+)

六、常见问题

Q1:访问 HTTPS 提示“连接不安全”?

一般的原因:

  • 证书链不完整(缺少中间证书)
  • 域名不匹配(CN/SAN 未包含当前域名)
  • 使用了自签名证书

建议使用完整 CA 证书链重新打包 JKS。


Q2:JKS 文件为空或无法使用?

原因:

  • 仅下载了 PEM 证书,没有生成 keystore
  • keytool 导入过程 alias 错误
  • 私钥与证书不匹配

解决方式:重新用 OpenSSL + keytool 生成完整 JKS。


Q3:Tomcat 启动失败(SSL error)?

检查:

  • 端口 443 是否被占用
  • keystore 密码是否正确
  • Java 版本是否支持 TLS 1.2+

七、推荐 SSL 证书

证书类型适用场景
DigiCert OV SSLOV企业官网 / 金融系统
Sectigo DV SSLDV中小网站 / 博客
锐安信 eTrus OV SSLOV国内政务 / 合规场景

八、相关文档

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn