CentOS系统Tomcat 8.5或9部署SSL证书
2024-09-06 20:45:29
本文档介绍了CentOS系统下Tomcat 8.5或9部署SSL证书的操作说明。
环境准备
操作系统:CentOS 7.6 64位
Web服务器:Tomcat 8.5或9
前提条件
- 已从阿里云SSL证书服务控制台下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)。
- 您申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址。
域名解析设置完成后执行ping www.yourdomain.com命令,如果返回了您所设置解析的主机IP地址,说明解析成功。
操作步骤
- 解压Tomcat证书。
说明 每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。
- 将下载的证书和密码文件拷贝到Tomcat的conf目录下。
说明 如果需要安装JKS格式证书,可使用以下命令将PFX格式证书转化成JKS格式。
keytool -importkeystore -srckeystore domain name.pfx -destkeystore domain name.jks -srcstoretype PKCS12 -deststoretype JKS
- 打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改。
1 <Connector port="8080" protocol="HTTP/1.1"
2 connectionTimeout="20000"
3 redirectPort="8443" />
4
5 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
6 <Connector port="80" protocol="HTTP/1.1" #将Connector port修改为80。
7 connectionTimeout="20000"
8 redirectPort="443" /> #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。1 <Connector port="8443"
2 protocol="org.apache.coyote.http11.Http11NioProtocol"
3 maxThreads="150"
4 SSLEnabled="true">
5 <SSLHostConfig>
6 <Certificate certificateKeystoreFile="cert/keystore.pfx"
7 certificateKeystorePassword="XXXXXXX"
8 certificateKeystoreType="PKCS12" />
9
10 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
11 <Connector port="443" #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
12 protocol="org.apache.coyote.http11.Http11NioProtocol" #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
13 maxThreads="150"
14 SSLEnabled="true">
15 <SSLHostConfig>
16 <Certificate certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx" #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
17 certificateKeystorePassword="证书密码" #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
18 certificateKeystoreType="PKCS12" /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
19 </SSLHostConfig>
20 </Connector>1 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
2 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
3 <Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> #将redirectPort修改为443,让HTTPS请求转发到443端口。 - 保存server.xml文件配置。
- (可选步骤)在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS。
1 <security-constraint>
2 <web-resource-collection >
3 <web-resource-name >SSL</web-resource-name>
4 <url-pattern>/*</url-pattern>
5 </web-resource-collection>
6 <user-data-constraint>
7 <transport-guarantee>CONFIDENTIAL</transport-guarantee>
8 </user-data-constraint>
9 </security-constraint> - 重启Tomcat服务。
- 在Tomcat下的bin目录中执行./shutdown.sh关闭Tomcat服务。
- 在Tomcat下的bin目录中执行./startup.sh开启Tomcat服务。
后续操作
Tomcat服务重启成功后,您可在浏览器中输入您SSL证书绑定的域名https://www.YourDomainName.com验证证书安装结果。浏览器地址栏显示绿色的小锁标识说明证书安装成功。
最新文章
- Python3基础 创建一个空列表,一个空元组
- Laravel项目目录结构说明
- 寻找表达式(dfs)
- 列式存储(三)JFinal DB.tx()事务
- [转]UpdatePanel的用法详解
- python基础入门
- mvc伪静态<;三>; IIS配置
- Oracle系列教程
- Tips: compilation and creating new projects on Android 4.0
- python 面向对象 class 老男孩选课系统
- Visual Studio 2015 企业版 官方中文版.iso
- C#中MessageBox使用方法大全(附效果图)
- Apache php无法开启php_curl
- linux中文件I/O操作(系统I/O)
- 零基础怎么学java
- Emit动态代理.NetCore迁移之旅
- openstack项目【day23】:keystone组件基础
- python 基础 内置函数 和lambda表达式
- Java中的IO流(一)
- TCPDUMP学习笔记。