一、前言
上篇跟大家介绍了通过acme.sh手动来申请通配符证书。
本篇将介绍如何使用脚本自动添加域名的TXT记录,并自动下载更新证书,来保证证书不过期。
二、环境
站点系统:Linux
脚本:acme.sh
站点容器: Nginx
支持域名解析商:
此处内容需要评论回复后(审核通过)方可阅读。
三、设置
1. 从解析商获取API ID与Token,本文以DNSPod
为例。
用户中心 → 安全设置 → API token
→ 开启
创建API token
→ 输入Tokens名称(随意:test) → 确定 → 确定
得到ID/Token(备用)
ID: 105490
Token: db832aaa739febe8510c62a1c4179fd6
ID: 105490
Token: db832aaa739febe8510c62a1c4179fd6
2. 方法一(命令行操作DNSPod为例)
添加ID/Token,让acme.sh脚本能够有访问DNSPod.cn
export DP_Id="105490"
export DP_Key="db832aaa739febe8510c62a1c4179fd6"
颁发证书
./acme.sh --issue \
--dns dns_dp -d 1msky.cn -d *.1msky.cn \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
DP_Id
和DP_Key
将被保存~/.acme.sh/account.conf
,如果存在会被重写。
部署证书
acme.sh --installcert -d 1msky.cn \
--keypath /www/server/panel/vhost/ssl/1msky.cn/privkey.key \
--fullchainpath /www/server/panel/vhost/ssl/1msky.cn/fullchain.pem \
--reloadcmd "service nginx force-reload"
1msky.cn ⇒ 替换成自己域名
证书位置(path自己找下):find / -name ssl
privkey.key
fullchain.pem
证书位置(path自己找下):find / -name ssl
privkey.key
fullchain.pem
这样就会自动续签了60天一次
其他解析商参数不一样,参考如下:
CloudFlare
ID/Token
export CF_Key="db832aaa739febe8510c62a1c4179fd6" export CF_Email="xxxx@xxxx"
颁发证书
./acme.sh --issue \ --dns dns_cf \ -d 1msky.cn -d *.1msky.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
CloudXNS
ID/Token
export CX_Key="xxxx" export CX_Secret="xxxxx"
颁发证书
./acme.sh --issue \ --dns dns_cx \ -d 1msky.cn -d *.1msky.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
GoDaddy
ID/Token
export GD_Key="xxxxxxxxxxxx" export GD_Secret="xxxxxxxxxxx"
颁发证书
./acme.sh --issue \ --dns dns_gd \ -d 1msky.cn -d *.1msky.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
PowerDNS
ID/Token
export PDNS_Url="http://ns.example.com:8081" export PDNS_ServerId="localhost" export PDNS_Token="xxxxxxxxxxxx" export PDNS_Ttl=600
颁发证书
./acme.sh --issue \ --dns dns_pdns \ -d 1msky.cn -d *.1msky.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
AliYun
ID/Token
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
颁发证书
./acme.sh --issue \ --dns dns_ali \ -d 1msky.cn -d *.1msky.cn --yes-I-know-dns-manual-mode-enough-go-ahead-please
3. 方法二(宝塔GUI操作)
登录宝塔,选择站点
添加域名(顶级域名,二级泛型域名)
自动验证域名
SSL → Let's Encrypt
→ 验证方式 DNS验证
→ 自动组合泛域名打√ → 选择DNS接口 DnsPod
此处以DnsPod,其他解析商也可以选择,与方法一一样的
设置ID/Token
选择DNS接口 DnsPod
→ 设置 → 填入ID/Token → 保存
申请
确认信息,没啥问题点击申请
部署证书
等待几分钟,证书就生成了,证书夹
→ 部署
→ 强制HTTTPS
有效起来
保存
自动续签
计划任务crontab
脚本内容
python /www/server/panel/class/panelLets.py renew_lets_ssl
四、结语
配置完后,再也不用担心SSL证书过期
啦
以上两种方法学会了吗? O(∩_∩)O哈哈~,如有疑问可以留言,博主会第一时间给你们回复哦。
给力哦
谢大佬
谢大佬
真的可以吗,亲
可以用啊
给力哦
优秀
test
回家