服务器篇 (四)使用Let's Encrypt快速申请https证书

本文主要借助https://freessl.org/ 快速生成https证书

一、证书下载

1)填入域名
服务器篇 (四)使用Let's Encrypt快速申请https证书

2)填写邮箱–>点击创建
服务器篇 (四)使用Let's Encrypt快速申请https证书

3)进行DNS验证

点击上图的创建进入DNS验证模块,下一步就是到域名供应商网站添加TXT解析,我的平台是阿里云,下边将提供阿里云具体操作。
服务器篇 (四)使用Let's Encrypt快速申请https证书

  • 登录阿里云进入控制台,选择域名
    服务器篇 (四)使用Let's Encrypt快速申请https证书

  • 选择对应的域名,点击下图红色框中的解析

服务器篇 (四)使用Let's Encrypt快速申请https证书

  • 点击添加记录
    服务器篇 (四)使用Let's Encrypt快速申请https证书
  • 记录类型选择TXT,填入上面图中的记录和记录值,其他默认值即可,最后点击确定。
    服务器篇 (四)使用Let's Encrypt快速申请https证书
  • 可查看到刚才添加的TXT记录

服务器篇 (四)使用Let's Encrypt快速申请https证书

回到DNS验证页面点击 “配置完成,检测一下” 手动检测一下是否匹配,完全匹配之后再按 “点击验证”。

  • 验证成功可下载证书
    服务器篇 (四)使用Let's Encrypt快速申请https证书

注:
1)由于重复创建证书,点击验证会出现订单非未验证状态问题,此时要用填入的邮箱注册freessl网站的账号,登陆查看订单情况,删除之前的订单即可。
2)若TXT记录添加没有问题,手动检测出现个别记录值不匹配问题,可以尝试手动复制记录值再重试一次。
服务器篇 (四)使用Let's Encrypt快速申请https证书
二、证书安装

1)生成jks文件
下载好的证书压缩包为 “域名.zip”,内容有:
服务器篇 (四)使用Let's Encrypt快速申请https证书
Tomcat证书不支持直接使用 pem + key 的方式,需要使用Openssl 将full_chain.pem+private.key转换为jks,首先将full_chain.pem和private.key上传至服务器的任何目录,我上传的是/root目录,执行下边命令,在/root目录下生成.jks文件,命令过程中会要求输入keystore密码,两次确保一致,记住该密码。

openssl pkcs12 -export -out /root/freeSSL.jks -in full_chain.pem -inkey private.key

2)修改Tomcat的server.xml文件

vim /usr/java/tomcat/conf/server.xml

  • 添加内容
<Connector
 protocol="org.apache.coyote.http11.Http11NioProtocol"
 port="443" maxThreads="200"
 scheme="https" secure="true" SSLEnabled="true"
 keystoreFile="/root/freeSSL.jks" keystorePass="123456"
 clientAuth="false" sslProtocol="TLS"/>
  • 修改redirectPort为443,原值为8443

Tomcat监听8080端口,并将HTTPS请求转发到443端口(443为SSL默认端口),所以如下图所示,白色框中的端口号相同为443。keystoreFile是生成的jks证书路径,密码是上边设置的密码。

服务器篇 (四)使用Let's Encrypt快速申请https证书

保存后退出server.xml。

3)防火墙开通443端口

systemctl start firewalld.service	//启动防火墙
firewall-cmd --state	//查看防火墙的状态,保证它是运行状态
firewall-cmd --zone=public --add-port=443/tcp --permanent //开放3306端口
firewall-cmd --reload //重新载入
firewall-cmd --zone=public --list-ports //查看防火墙中已经启用的端口号,若出现3306则表示开启成功

然后到阿里云服务器控制台开启端口,参考链接:
https://jingyan.baidu.com/article/03b2f78c31bdea5ea237ae88.html

重启Tomcat,尝试一下https://域名,不行的话重启一下服务器试试!OVER!