TopSSL平台已购SSL服务发票开具流程指引参考。
公告
2025年12月11日
观看次数:356
在 TopSSL申请SSL证书如何申请线下合同?
公告
2026年01月28日
观看次数:94

Java 容器(Tomcat/JBoss)SSL 证书部署指南

更新时间:2026-02-05 来源:TopSSL 作者:TopSSL

Java 容器 SSL 证书部署指南:Tomcat/JBoss JKS 配置与 HTTPS 跳转

针对 Tomcat、JBoss 等主流 Java 容器,利用 JKS(Java KeyStore)存储库进行证书部署是实现 HTTPS 加密通信的标准方案。从实际情况来看,部署的核心在于 JKS 文件的完整性及其在 Connector 组件中的正确引用,结合 web-resource-collection 策略可实现业务层无感知的加密升级。

Java 容器(Tomcat/JBoss)SSL 证书部署指南

1. 获取 JKS 格式证书

JKS 是 Java 平台的标准密钥库格式。根据您的证书来源,可以通过以下两种方式获取:

场景 A:通过 MPKI 系统直接获取

  1. 登录 MPKI 管理后台:https://mpki.trustasia.com
  2. 进入订单管理,点击“证书下载”。
  3. 输入下单时设置的订单密码,并重新设置一个证书库密码(此密码将在后续配置文件中使用)。
  4. 证书格式选择 JKS,提交并保存下载得到的 .jks 文件。

场景 B:非 MPKI 渠道(手动转换)

若您只有原始的私钥文件和证书代码,需先进行格式合成:

  1. 准备素材:
    • 私钥文件: 与 CSR 一同生成的 Key 文件,文本开头为 -----BEGIN RSA PRIVATE KEY-----
    • 证书文件: 从邮件中提取的第一段证书代码,保存为 server.crt
  2. 在线转换:
    访问 ssl证书工具 进行转换:
    • 源格式: pem;目标格式: jks。
    • 上传: 对应上传 server.crt 与私钥文件。
    • 设置密码: “密钥库密码”自定义设置(如 123456),此密码即为 JKS 的访问密码。
  3. 提交后获取生成的 .jks 证书库文件。

2. 在 Java 容器中部署证书

将生成的 JKS 文件上传至服务器(建议存放于容器的 conf 目录下,禁止存放在 webapps 公开目录)。以 Tomcat 为例,修改 conf/server.xml 文件:

配置 Connector 元素:

找到被注释的 443 端口配置段,取消注释并修改为如下属性:

XML

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           keystoreFile="conf/server.jks" 
           keystorePass="您的JKS密码"
           clientAuth="false" sslProtocol="TLS" />
  • keystoreFile: 指向 JKS 文件的绝对路径或相对于容器根目录的相对路径。
  • keystorePass: 填写在第一步转换时设置的密钥库密码。
  • SSLEnabled: 必须设为 true 以激活 SSL 协议。

3. Java容器中的http自动跳转https的安全配置

为了确保用户访问的安全性,建议强制所有 HTTP 请求重定向至 HTTPS。

到conf目录下的web.xml。在后面,,也就是倒数第二段里,加上这样一段

<security-constraint>
    <web-resource-collection>
        <web-resource-name>SSL</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

此配置告知容器,所有资源(/*)都必须通过加密连接(CONFIDENTIAL)访问。

到server.xml去修改

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"      
           redirectPort="443" />

redirectPort改成ssl的connector的端口443


重启后便会生效。

总结问题

问:JKS 文件路径包含中文或空格会有影响吗?

答:在某些 Java 环境下可能会导致文件加载失败。建议使用标准英文字符路径,并确保运行容器的用户对该文件有读取权限。

问:配置完成后,外部无法访问 443 端口?

答:请优先排查防火墙(iptables/firewalld)是否放行了 443 端口,或云服务器的安全组规则是否已开启。

标签

有用
分享
无用
反馈
返回顶部
0 个回答
14 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 | 快速实现HTTPS加密与付费证书申请 - TopSSL
提供免费与付费SSL证书申请
微信公众号二维码 扫一扫在线咨询
关注 TopSSL 公众号, RSS订阅 SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL提供免费SSL证书与付费证书,快速实现HTTPS加密  北京市朝阳区鹏景阁大厦16层

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