本文介绍如何在Windows系统上的Tomcat服务器部署SSL证书,具体包括SSL证书的下载、Tomcat配置文件的修改,以及安装后HTTPS效果验证等步骤。
本文以Windows Server 2025操作系统、Tomcat-9.0.105版本为例介绍。不同版本的操作系统或Web服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务。
证书格式选择说明
选择证书格式时需考虑实际需求、资源情况和系统兼容性。
JKS是Java的标准密钥库格式,被广泛应用于基于Java的应用和服务中。如果您主要在Java环境中工作,且使用的工具和脚本都与JKS兼容良好,那么选择JKS可能更为自然和方便。
PFX是一种跨平台通用标准,不仅被Java支持,也被其他非Java环境(如Windows系统、IIS服务器、各种编程语言的SSL库等)广泛接受。如果您需要在多种技术栈之间共享证书,或者与非Java系统有紧密集成,PFX可能提供更好的互操作性。
前提条件
SSL证书绑定的域名已完成DNS解析,即您的域名已正确映射到主机IP地址。您可以通过控制台常用证书工具中的DNS生效验证,检测域名DNS解析是否生效。具体操作,请参见DNS生效验证。
已在Web服务器开放443端口(HTTPS通信的标准端口)。
如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。具体操作,请参见管理安全组规则。
如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。
如果待部署SSL证书的网站计划部署在中国内地,则您需要按照工信部的相关要求完成ICP备案,否则将影响网站的正常访问。更多信息,请参见什么是ICP备案。
步骤一:下载SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。
SSL证书文件下载。
下载PFX格式证书
在服务器类型为Tomcat的操作列,单击下载。
下载JKS格式证书
在服务器类型为JKS的操作列,单击下载。
步骤二:在Tomcat服务器部署证书
将解压后的证书文件和密码文件上传到Tomcat服务器的conf目录。请根据实际需求,选择上传jks或pfx格式其中一种即可。
说明您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、Xshell或WinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APP向Windows实例传输文件或上传文件到Linux云服务器。
编辑Tomcat配置文件
server.xml
,修改与证书相关的配置(示例路径为C:\apache-tomcat-9.0.105\conf\server.xml
)。PFX格式Tomcat9.0配置示例
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- conf/example.com.pfx请您替换为证书的实际路径,证书密码替换为证书密码文件pfx-password.txt中的内容 --> <Certificate certificateKeystoreFile="conf/example.com.pfx" certificateKeystorePassword="证书密码" type="RSA"/> </SSLHostConfig> </Connector>
JKS格式Tomcat9.0配置示例
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <SSLHostConfig> <!-- 请将conf/example.com.jks替换为证书的实际路径,证书密码替换为证书密码文件jks-password.txt中的内容 --> <Certificate certificateKeystoreFile="conf/example.com.jks" certificateKeystorePassword="证书密码" type="RSA" /> </SSLHostConfig> </Connector>
可选:设置HTTP请求自动跳转到HTTPS。
编辑Tomcat配置文件
server.xml
,找到HTTP连接器(Tomcat通常默认监听8080端口),并修改redirectPort属性(如果没有请添加)。<!-- Tomcat默认监听8080端口,请修改为您实际监听的HTTP端口。 --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" maxParameterCount="1000" />
在
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>
修改后的效果如下图。
说明以上配置修改完成后,即可将HTTP请求强制转发到HTTPS。
确认以上配置修改完成并保存后,进入Tomcat安装目录下的
bin
目录,重启服务器,以使SSL相关配置生效。停止Tomcat服务器。
shutdown.bat
启动Tomcat服务器。
startup.bat
步骤三:验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书绑定的域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果浏览器的地址栏出现图标,表示证书已经安装成功。Chrome浏览器自117版本开始已将地址栏中的
图标移至
图标中,如下图所示: