本文介绍如何在CentOS系统下的Tomcat8.5或9服务器配置SSL证书,具体包括下载和上传证书文件的方法,在Tomcat上配置证书文件、证书密码等参数介绍,以及安装证书后效果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Tomcat服务器,确保数据传输的安全性。
环境准备
操作系统:CentOS 7.6 64位
Web服务器:Tomcat 8.5或9
Tomcat服务器需要提前安装JDK环境变量,请前往Tomcat官网查看推荐的JDK兼容配置。
前提条件
步骤一:下载SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。
在服务器类型为Tomcat的操作列,单击下载。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
CSR生成方式
证书压缩包包含的文件
系统生成或选择已有的CSR
证书文件(PFX格式):默认以证书ID_证书绑定域名命名。
密码文件(TXT格式):默认以证书格式-password命名。
重要每次下载证书时都会产生新的密码,该密码仅匹配本次下载的证书文件。
手动填写
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。
步骤二:在Tomcat服务器安装证书
将解压后的证书文件和密码文件上传到Tomcat服务器的conf目录。
说明您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服务器 ECS,上传文件具体操作,请参见上传或下载文件(Windows)或上传文件到Linux云服务器。
进入tomcat安装根目录,执行以下命令,打开server.xml文件。
vim ./conf/server.xml
在server.xml文件中,定位到以下配置项,按照配置示例进行配置。
配置项一:
配置示例:
<Connector port="80" protocol="HTTP/1.1" #将Connector port修改为80 connectionTimeout="20000" redirectPort="443" #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。 maxParameterCount="1000" />
配置项二。
配置示例(需去掉<!- - 和 - ->注释符):
<Connector port="443" #将Tomcat中默认的HTTPS端口修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号。 #443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。 protocol="org.apache.coyote.http11.Http11NioProtocol" #Connector port有两种运行模式NIO和APR,请选择NIO模式。 maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="conf/xxx.pfx" #修改为证书文件路径。 certificateKeystorePassword="xxxxxx" #填写证书文件密码。 type="RSA" /> </SSLHostConfig> </Connector>
配置项三:
配置示例(需去掉<!- - 和 - ->注释符):
<Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="443" ##将redirectPort修改为443,让HTTPS请求转发到443端口。 maxParameterCount="1000" />
可选:在/conf/web.xml文件,配置HTTP请求自动跳转HTTPS。
进入tomcat安装根目录,执行以下命令,打开web.xml文件。
vim ./conf/web.xml
在web.xml文件
<web-app>
标签内添加以下配置项。<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 #停止Tomcat服务 ./startup.sh #重启Tomcat服务
步骤三:验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果网页地址栏出现小锁标志,表示证书已经安装成功。