- 需要在 DNS 配置一条 TXT 记录, 值为一个随机字符串
- 记录名称为 _acme-challenge.${domain}
- env.CERTBOT_DOMAIN 验证域名
- env.CERTBOT_VALIDATION 验证字符串
调用阿里云解析接口添加 TXT 记录, 值为 env.CERTBOT_VALIDATION
- env.CERTBOT_AUTH_OUTPUT 验证钩子脚本中的输出内容
调用阿里云解析接口删除对应的记录
访问阿里云 访问控制 RAM 控制台
添加用户, 授权 AliyunDNSFullAccess
修改配置文件 config/aliyun.js
module.exports = {
AccessKeyID: 'AccessKeyID',
AccessKeySecret: 'AccessKeySecret'
}
certbot certonly --manual-public-ip-logging-ok --agree-tos
--email gaoyu@hexdo.com
--preferred-challenges dns
--server https://acme-v02.api.letsencrypt.org/directory
--manual
--manual-auth-hook 'node /path/to/auth.js'
--manual-cleanup-hook 'node /path/to/cleanup.js'
-d T.example.com
certbot certonly --manual-public-ip-logging-ok --agree-tos
--email gaoyu@hexdo.com
--preferred-challenges dns
--server https://acme-v02.api.letsencrypt.org/directory
--manual
--manual-auth-hook 'node /path/to/auth.js'
--manual-cleanup-hook 'node /path/to/cleanup.js'
-d *.dev.example.com
- 查看列表 certbot certificates
- 删除命令 certbot delete --cert-name T.example.com
证书更新配置文件目录 /etc/letsencrypt/renewal
- manual_auth_hook = node /path/to/DNS/auth.js
- manual_cleanup_hook = node /path/to/DNS/cleanup.js
certbot renew
crontab -e
0 2 * * * /usr/bin/certbot renew >> /mnt/certbot-renew.log
service crond restart