最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
SSL 证书如何在 Tomcat 服务器中配置 JKS 格式证书
时间:2026-08-26 19:45:49 编辑:袖梨 来源:一聚教程网
Tomcat配置JKS格式SSL证书核心三步:准备含私钥和证书链的JKS文件、修改server.xml启用HTTPS连接器(指定绝对路径、密码、端口及TLS协议)、重启服务验证;需确保keystoreFile为绝对路径、keystorePass正确、证书链完整,否则提示“不安全”。
在 Tomcat 中配置 JKS 格式 SSL 证书,核心是三步:准备好证书文件、修改 server.xml 启用 HTTPS 连接器、重启服务验证。不需要改代码或装插件,重点是路径、密码、端口和格式匹配。
确认证书文件已就位
JKS 文件必须包含私钥和证书链(含中级 CA),且由 Java keytool 或可信转换工具生成。常见来源有:
- 从证书服务商下载的
xxx_server.jks(附带keystorePass.txt) - 用 OpenSSL + keytool 自行转换:先有
domain.crt和private.key,再执行:openssl pkcs12 -export -in domain.crt -inkey private.key -out temp.p12 -name tomcatkeytool -importkeystore -srckeystore temp.p12 -srcstoretype PKCS12 -destkeystore server.jks -deststoretype JKS - 若只有 PEM 文件但无私钥,无法生成有效 JKS —— 私钥不可缺失
编辑 server.xml 配置 HTTPS 连接器
打开 $CATALINA_HOME/conf/server.xml,找到或新增一个 <Connector>,关键字段如下(以 443 端口为例):
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreType="JKS" keystoreFile="/usr/local/tomcat/conf/server.jks" keystorePass="your_keystore_password" />
注意:
-
keystoreFile必须是绝对路径,推荐放在conf/下便于管理 -
keystorePass是创建 JKS 时设的密钥库密码,不是私钥单独密码 - 如需兼容老系统,可加
sslEnabledProtocols="TLSv1.2,TLSv1.3"显式指定协议 - 避免直接复制网上 XML 片段,容易混入全角符号或隐藏字符导致启动失败
补充安全与跳转设置(可选但推荐)
仅配好连接器还不够,建议同步做两件事:
-
强制 HTTP 跳转 HTTPS:在
conf/web.xml的</welcome-file-list>后添加:<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
-
验证证书有效性:用 JDK 自带命令检查 JKS 是否可读:
keytool -list -v -keystore /path/to/server.jks -storepass your_keystore_password输出中应看到
Owner:域名匹配、Issuer:为可信 CA、Trust chain:完整
重启并测试访问
保存配置后,执行:
- Linux:
systemctl restart tomcat或$CATALINA_HOME/bin/shutdown.sh && $CATALINA_HOME/bin/startup.sh - Windows:
net stop Tomcat→net start Tomcat
然后浏览器访问 https://your-domain:443(或 :8443,若未改端口)。看到锁图标、地址栏显示“安全”,即表示成功。若提示不信任,大概率是用了自签名证书或证书链不全。