Skip to content

certbot 阿里云、腾讯云DNS解析验证自动化执行示例

Notifications You must be signed in to change notification settings

kkl-fe/certbot-hook-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

certbot-hook-example

这是 certbot 通过 DNS 解析验证来申请 let's encrypt 证书的示例, 包含两个云服务DNS的解析,阿里云 DNS 和腾讯云 DNSPod。目前配合计划任务可无限期自动更新免费的 let's encrypt 证书。
运行环境为 Linux,需要准备好 certbot 和 node.js,并使用 root 权限执行命令

dnspod 配置

cd ./dnspod

安装依赖

npm i

腾讯云API访问授权配置

修改 config/index.js

secretId: '',
secretKey: '',

aliyun配置

cd ./aliyun

安装依赖

npm i

阿里云API访问授权配置

修改 config/index.js

accessKeyId: '',
accessKeySecret: '',

执行示例(dnspod)

certbot certonly --manual --preferred-challenges dns --manual-auth-hook 'node ./dnspod/auth.js' --manual-cleanup-hook 'node ./dnspod/cleanup.js' --register-unsafely-without-email --agree-tos -d *.your.domain

注意

如通过计划任务自动更新证书,默认需要在过期前一个月内才能申请,否则自动执行会中断,需要修改/etc/letsencrypt/renewal下域名配置文件中下面这个值(取消注释)

# renew_before_expiry = 30 days

需要确保 90 - renew_before_expiry 值 < 执行周期
例如,可以无脑设置为90,这样过期前什么时候申请都可以(符合频次限制的前提下)

renew_before_expiry = 90 days

或者干脆在/etc/letsencrypt目录下包括archive、renewal、live目录中把待更新的域名相关文件都删除

参考文档

About

certbot 阿里云、腾讯云DNS解析验证自动化执行示例

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published