Let's Encrypt 从申请到配置一劳永逸

Let's Encrypt 是一个由非营利性组织 互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。 简单的说,借助 Let's Encrypt 颁发的证书可以为我们的网站免费启用 HTTPS(SSL/TLS) 。

我这里直接使用第三方客户端 acme.sh 申请,官方推荐 Certbot 客户端来签发证书,在尝试了 Certbotacme.sh 后,推荐使用 acme.sh

安装acme

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

获取证书

acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: httpdns 验证,如若允许建议使用 dns 验证,http 验证在此不再赘述,如有需要点击传送门arrow-up-rightdns 验证强大之处在于,可以自动配置DNS,不用去域名后台操作解析记录了,我的域名是在阿里注册的,下面给出阿里云解析的例子,其他地方注册的请参考这里自行修改: 传送门arrow-up-right

请先前往阿里云后台获取 App_KeyApp_Secret 传送门arrow-up-right

设置 key

# 替换成从阿里云后台获取的密钥
export Ali_Key="Ali_Key"
export Ali_Secret="Ali_Secret"

获取证书

# 泛域名获取
# 泛域名获取时,根域名(wurenstudio.cn)如果也想使用泛域名证书的话,则必须获取根域名证书,如下
acme.sh --issue --dns dns_ali -d wurenstudio.cn -d *.wurenstudio.cn
# 单域名获取
acme.sh --issue --dns dns_ali -d wurenstudio.cn

第一次获取证书会进行dns验证,期间需要等待20s,等待后则可生成成功。

等待20s
生成成功

生成的证书放在相应的目录下(见上上图): /www/server/panel/vhost/cert/*.wurenstudio.cn/

配置证书

证书文件介绍:

参考地址:https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.2020520163.cas.26.1d32VlfJVlfJ5barrow-up-right

Nginx/Tengine 服务器

打开Nginx安装目录下conf目录下的nginx.conf文件:

Apache 服务器

打开apache安装目录下conf目录中的httpd.conf文件,找到以下内容去掉注释:

打开apache安装目录下conf.d/ssl.conf,在配置文件中查找以下配置语句:

PS:配置完成后都需要重启相关服务

自动续期

目前 Let's Encrypt 的证书有效期是 90 天,到期时 acme.sh 会自动续期,安装时就已经创建了 crontab 定时任务,无需任何操作。

也可以强制续签证书:

Last updated