本文介绍如何在Tomcat服务器配置PFX格式的SSL证书,具体包括下载和上传证书文件,在Tomcat上配置证书文件和证书密码等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Tomcat服务器,确保数据传输的安全性。
本文以安装在Linux操作系统中的Tomcat 9为例介绍。不同版本的操作系统或Web服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务。
前提条件
步骤一:下载SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在SSL 证书页面,定位到目标证书,在操作列,单击下载。
在服务器类型为Tomcat的操作列,单击下载。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
CSR生成方式
证书压缩包包含的文件
系统生成或选择已有的CSR
证书文件(PFX格式):默认以证书ID_证书绑定域名命名。
密码文件(TXT格式):默认以证书格式-password命名。
重要每次下载证书时都会产生新的密码,该密码仅匹配本次下载的证书文件。
手动填写
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。
步骤二:在Tomcat服务器安装证书
将解压后的证书文件和密码文件上传到Tomcat服务器的conf目录。
说明Tomcat安装目录与您的服务器环境有关,您可以使用
sudo find / -name *tomcat*
命令,查询Tomcat的安装目录。您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服务器 ECS,上传文件具体操作,请参见上传或下载文件(Windows)或上传文件到Linux云服务器。
进入Tomcat安装根目录,执行以下命令,打开server.xml文件。
vim ./conf/server.xml
按照以下示例以及注释说明配置server.xml。
重要为避免启动Tomcat时出现错误,请在复制代码时删除注释。
您可以从以下方式中选择一种进行操作:
方式一:Tomcat服务器自动选择SSL的实现方式。如果按照该方式无法完成后续配置,可能是因为您的环境不支持自动选定的SSL实现方式。
配置项:
配置示例:
<Connector port="443" #port属性根据实际情况修改(HTTPS默认端口为443)。如果使用其他端口号,则您需要使用https://domain_name:port的方式来访问您的网站。 protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="conf/domain_name.pfx" #请您替换为证书的实际路径。 keystoreType="PKCS12" keystorePass="证书密码" #请替换为证书密码文件pfx-password.txt中的内容。 clientAuth="false" SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
方式二:手动指定SSL的实现方式(指定使用JSSE实现方式)。
配置项:
配置示例(需去掉<!- - 和 - ->注释符):
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="conf/domain_name.pfx" #请您替换为证书的实际路径。 certificateKeystorePassword="证书密码" #请替换为证书密码文件pfx-password.txt中的内容。 type="RSA" /> </SSLHostConfig> </Connector>
可选:在/conf/web.xml文件,配置HTTP请求自动跳转HTTPS。
进入Tomcat安装根目录,执行以下命令,打开web.xml文件。
vim ./conf/web.xml
在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>
进入Tomcat的bin目录,执行以下命令,停止并重启Tomcat。
停止命令
./shutdown.sh
重启命令
./startup.sh
步骤三:验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果网页地址栏出现小锁标志,表示证书已经安装成功。