用Certbot申请免费泛域名证书
2021年02月11日
之前使用certbot一直是单域名,某次看到说certbot早就支持泛域名了,于是重新折腾一波。
大概步骤
前置条件
一个可以由自己支配的域名安装certbot
按cetbot官网指引即可
这里安装的版本是1.12.0, 运行命令certbot --version
可查配置对应dns-provider的凭据
新建文件/etc/letsencrypt/dnspod.ini
并在里边配置两个值/etc/letsencrypt/dnspod.ini 1
2dns_dnspod_email="ur email binded with the account"
dns_dnspod_api_token="ID,TOKEN"
可自行选择凭据文件的存放位置,关于获取凭据
dnspod是在下边这个地址生成
https://www.dnspod.cn/console/user/security
- 运行命令生成运行期间会提示填入dns-provider的凭据文件路径, 即
1
certbot certonly -d writeyoursmile.com -d *.writeyoursmile.com
/etc/letsencrypt/dnspod.ini
将生成的证书配置到对应服务器(比如Nginx)
1
2
3
4
5
6server{
# ...
ssl_certificate /etc/letsencrypt/live/writeyoursmile.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/writeyoursmile.com/privkey.pem;
# ...
}配置自动证书续期
certbot已经配置了定时任务会在过期之前自动续期。
定时任务每天跑两次,不过只会在证书到期前30天才会自动续期,平时只是检查。
这些细节可以在官网对应的指引页面提到, 比如这个
- 配置续期之后自动reload nginx
在目录/etc/letsencrypt/renewal-hooks/deploy
下放shell脚本即可,文件名随意/etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh 1
nginx -s reload
查看评论