简介
前三篇介绍了基于Centos7/Linux环境安装jdk、Tomcat和Nginx 做负载均衡的实践,今天我们来学习一下Tomcat安装SSL数字证书。
版本说明
- jdk :jdk1.8.0_172
- tomcat :apache-tomcat-8.5.30
- nginx :nginx-1.13.11 (版本相对来说不是很老哈~~~)
- SSL证书:本文案例使用的阿里云的服务证书
第一步:SSL证书服务购买:
实验用途,选择免费版本,如果是线上对安全性要求比较高的建议选择专业版、高级版、增强型的SSL证书。我们使用免费版的可以~~~
第二步:SSL证书申请:
需要提前准备好申请证书的信息,例如:域名、所在地、验证方式等。如下图所示:
备注:使用 系统生成CSR 方式,系统将自动帮您生成证书私钥,并且在证书申请成功后可直接在证书管理列表中下载证书和私钥。
也可以自己生成 CSR(Certificate Signing Request)证书请求文件,并上传CSR,在证书申请成功后可直接在证书管理列表中下载您的证书。
这里建议系统生成方式就可以了,不用那么麻烦!
接下来就是保存信息了,等待阿里云证书审批完成(正常在1个小时内就可以通过),状态会变成已签发。
第三步:下载所需证书:
下载SSL证书,需要根据应用服务器类型,因为我的环境是Tomcat,所以我选择选下载Tomcat(按需选择)
第四步:安装证书:
解压下载的SSL数字证书压缩包,如下图所示共两个文件,一个是我们将要用到的pfx证书,一个是证书的密码.txt:
将pfx文件放到tomcat/conf/目录下(这里为了好区分我们再conf目录下创建cret文件夹,用于存放证书),如下图所示:
修改Tomcat的配置文件server.xml
这个步骤相当重要,记得备份一下server.xml文件,养成配置文件修改前备份的好习惯吧!
添加证书配置
<Connector port="9444" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreType="PKCS12" keystoreFile="conf/cret/hy.hongseliba.cn.pfx" keystorePass="1nNjsK49" />
- 配置端口(默认8080)的redirectPort和添加证书的端口保持一致(端口可以根据需求进行变更,我们这里用9444);
- keystoreFile 证书路径,刚刚放到tomcat的pix路径;
- keystorePass 证书密码,压缩包里面有直接copy放这里就好;
最后保存并重启tomcat。
第五步:测试:
如果用https访问依然不行,那需要检查一下几点:
1、检查防火墙配置的端口是否开放外网可以访问。
2、检查端口是否已经被占用(查看tomcat/logs/catalina.out 日志文件排查)。
3、keystoreFile和keystorePass 配置是否正确,密码copy就可以,特别注意证书路径。
如大家有什么问题或者安装过程中有什么难点可以留言哦~~~