【准备】
获得DNSPod API密钥:
网址:https://console.dnspod.cn/account/token/apikey
复制 SecretId / SecretKey 备用。
【部署】
参考:https://github.com/penlinux/certbot-dns-dnspod
安装 Certbot:
Ubuntu 系统:
apt install certbot
CentOS 系统:
yum install certbot
安装TCCLI:
pip install tccli
配置 TCCLI:
tccli configure --profile certbot # 填写云 API 密钥 SecretId # 填写云 API 密钥 SecretKey # 无需更改云产品地域,默认 ap-guangzhou # 无需更改输出格式,默认 json
安装 certbot-dns-dnspod 插件:
curl -L https://cdn.jsdelivr.net/gh/openbunny/certbot-dns-dnspod/dnspod.sh -o /usr/local/bin/dnspod chmod +x /usr/local/bin/dnspod # 如果你的命令行里还找不到这个脚本,可以创建一个符号链接 ln -s /usr/local/bin/dnspod /usr/bin/dnspod
签发证书:
certbot certonly --manual --preferred-challenges=dns --manual-auth-hook "dnspod" --manual-cleanup-hook "dnspod clean" -d *.domain.name -d domain.name
手动续签:
certbot renew --manual --preferred-challenges=dns --manual-auth-hook "dnspod" --manual-cleanup-hook "dnspod clean"
使用定时任务 crontab 定时续签:
sudo crontab -e 30 0 * * * root certbot renew --manual --preferred-challenges=dns --manual-auth-hook "dnspod" --manual-cleanup-hook "dnspod clean" --deploy-hook "nginx -t && systemctl restart nginx"
【排错】
报错:子域名负载均衡数量超出限制
因为 _acme-challenge 记录太多,需要进入 DNSPod 后台删除已废弃的记录。