前言
Acme地址:GitHub
Acme脚本申请证书分为:
- 80端口空闲验证的方式
- Nginx验证的方式
- Http验证的方式
- DNS验证的方式
这里我是用腾讯云的域名DNS来申请证书
效果如图 整个博客全部通过一张证书 实现Https
apesblog.com
*.apesblog.com
*.frp.apesbog.com
这里(*)泛域名只能对下一级全部域名生效、而不是无限递归
更新环境
apt update -y #Debian/Ubuntu 命令
apt install -y curl #Debian/Ubuntu 命令
apt install -y socat #Debian/Ubuntu 命令
安装Acme脚本
curl https://get.acme.sh | sh
去腾讯云DNSPOD申请密钥(注意这里是DNS密钥 不是API密钥)
设置环境变量
export DP_Id="xxx"
export DP_Key="xxxxxxxxxxxxxxx"
这里不同的DNS服务器 环境变量名不同 查看官方文档:dnsapi · acmesh · GitHub
申请证书
其中dns_dp
为 腾讯云DNSPod.服务商,自行根据官方dnsapi修改.例如:dns_ali
为阿里云,dns_cf
为CloudFlare
Acme可以同时申请多个域名.例如拥有域名只需要在每个域名前加上 -d
+ 空格
+域名
即可.
~/.acme.sh/acme.sh --issue --server letsencrypt \
--dns dns_dp \
-d apesblog.com \
-d *.apesblog.com \
-d *.frp.apesblog.com
安装证书
~/.acme.sh/acme.sh --installcert -d apesblog.com \
--key-file /etc/nginx/conf.d/acme/private.key \
--fullchain-file /etc/nginx/conf.d/acme/cert.crt
脚本自动更新
Let’s Encrypt 的证书有效期为三个月.为避免证书失效 Acme 会每60天根据你的历史申请记录和部署记录重新续签证书并部署
由于Acme脚本更新频繁,所以打开自动更新 ,避免续签失败
~/.acme.sh/acme.sh --upgrade --auto-upgrade
评论区