Let’s Encrypt免费SSL证书介绍及安装配置

2023年 7月 10日 29.5k 0

一、简介

Let’s Encrypt 是一个由非营利性组织 互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。 简单的说,借助 Let’s Encrypt 颁发的证书可以为我们的网站免费启用 HTTPS(SSL/TLS) 。 Let’s Encrypt免费证书的签发/续签都是脚本自动化的,官方提供了几种证书的申请方式方法,官方推荐使用 Certbot 客户端来签发证书,这种方式可参考文档自行尝试,不做评价。 我这里直接使用第三方客户端 acme.sh 申请,据了解这种方式可能是目前 Let’s Encrypt 免费证书客户端最简单、最智能的 shell 脚本,可以自动发布和续订 Let’s Encrypt 中的免费证书。

二、安装

前提:

在生产证书之前,Let’s Encrypt 需要验证域名是否是属于你的,才能生产证书。Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 我使用的方法也是这种,可以手动去配置也可以使用脚本调用dns服务的api进行自动验证(自动验证是实现自动签发的关键),该脚本acme.sh 提供了API快速设置。 还有一种验证方式 使用 HTTP 验证签发证书,原理是通过在网站指定路径下加入验证文件,外部正常访问即认证通过。 具体参考:https://u.sb/acme-sh-ssl/ acme:https://github.com/acmesh-official/acme.sh

安装:

curl https://get.acme.sh | sh

YAML

成功安装如下: Let's Encrypt免费SSL证书介绍及安装配置

DNS 解析验证:

这里使用的是阿里云的dns解析服务,所以需要获取能够调用阿里云dns权限的账号 AccessID 和 AccessKeySecret。

AccessID、KeySecret获取如下:

Let's Encrypt免费SSL证书介绍及安装配置

账号权限确认:

Let's Encrypt免费SSL证书介绍及安装配置

修改配置

vim ~/.bashrc

Shell

将 dns解析服务的key填入: Let's Encrypt免费SSL证书介绍及安装配置

source ~/.bashrc

Shell

生产证书

运行如下命令:

acme.sh --issue --dns dns_ali -d example.com -d *.example.com

Shell

成功后界面上有文件的存放地址: Let's Encrypt免费SSL证书介绍及安装配置

cd  /www/server/panel/vhost/cert/guozh.net/

ll
-rw-r--r-- 1 root root 1648 Jul 12 16:27 ca.cer
-rw-r--r-- 1 root root 3563 Jul 12 16:27 fullchain.cer
-rw-r--r-- 1 root root 1915 Jul 12 16:27 xxx.net.cer
-rw-r--r-- 1 root root  558 Jul 12 16:27 xxx.net.conf
-rw-r--r-- 1 root root  980 Jul 12 16:26 xxx.net.csr
-rw-r--r-- 1 root root  220 Jul 12 16:26 xxx.net.csr.conf
-rw-r--r-- 1 root root 1675 Jul 12 16:26 xxx.net.key

其中
证书文件 fullchain.cer 
密钥文件 xxx.net.key 

填写SSL证书内容就是这两个

Shell

完结

前面说了Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 但是我们在整个安装和生成过程并没有看到啥时候添加了TXT记录,其实有的,如果在安装过程中仔细看日志,就能看到先是 Add 然后 Check 最后 Remove 。 Let's Encrypt免费SSL证书介绍及安装配置

证书续期

Let’s Encrypt 证书的有效期是三个月。但我们通过脚本acme.sh启动就不用担心,因为它写入了定时命令。用 crontab -l 列出定时任务。 Let's Encrypt免费SSL证书介绍及安装配置

相关文章

猎豹浏览器怎么更改下载路径
Apache的URL缩短功能如何实现
Apache的点击劫持保护如何设置
Apache的HSTS功能是什么如何启用
Apache的X-Frame-Options如何配置以防止点击劫持
Apache的Content Security Policy如何设置

发布评论