scripts-github-mirror/le-dns
tianyu 4d04ee21aa
Update cloudflare.sh
2018-09-08 15:18:59 +08:00
..
README.md Fix chmod www-data iss and letsencrypt.sh protocol issues 2018-06-27 21:24:09 +08:00
cloudflare-hook.sh Update cloudflare-hook.sh 2018-03-05 21:01:27 +08:00
cloudflare.conf fix cloudflare dns update 2017-10-21 14:55:49 +08:00
cloudflare.sh Update cloudflare.sh 2018-09-08 15:18:59 +08:00
cloudxns-hook.sh Update cloudxns-hook.sh 2018-03-05 21:05:03 +08:00
cloudxns.conf update le-cloudxns.sh 2016-02-14 22:37:07 +08:00
cloudxns.sh Update cloudxns.sh 2016-04-08 12:25:56 +08:00
dnspod-hook.sh Update dnspod-hook.sh 2018-03-05 21:04:19 +08:00
dnspod.conf Update dnspod.conf 2016-03-24 13:17:36 +08:00
dnspod.sh Update dnspod.sh 2016-02-20 21:52:58 +08:00
le-cloudflare.sh Update le-cloudflare.sh 2018-06-27 21:40:37 +08:00
le-cloudxns.sh Update le-cloudxns.sh 2017-02-10 16:49:55 +08:00
le-dnspod.sh Update le-dnspod.sh 2017-02-10 16:45:23 +08:00

README.md

通过 DNS 验证方式获取 lets-encrypt 证书的快速脚本

脚本基于 letsencrypt.sh,通过调用 dns 服务商接口更新 TXT 记录用于认证,实现快速获取 lets-encrypt 证书。无需root权限无需指定网站目录及DNS解析

cloudflare

下载

wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-cloudflare.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/cloudflare.conf
chmod +x le-cloudflare.sh

配置

cloudflare.conf 文件内容

CF_EMAIL="YOUR_API_KEY"
CF_EMAIL="YOUR_SECRET_KEY"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE

修改其中的 CF_EMAILCF_EMAIL 为您的邮箱和 cloudflare api key ,修改 DOMAIN 为你的根域名,修改 CERT_DOMAINS 为您要签的域名列表,需要 ECC 证书时请取消 #ECC=TRUE 的注释。

野卡证书

脚本支持野卡证书,请修改 CERT_DOMAINS 为 "example.com *.example.com sub.example.com *.sub.example.com" 。注意如果之前使用过脚本,需要更新脚本内容,删除所有 *.sh 文件再下载运行脚本。

运行

./le-cloudflare.sh ./cloudflare.conf

最后生成的文件在当前目录的 certs 目录下

cron 定时任务

如果证书过期时间不少于30天 letsencrypt.sh 脚本会自动忽略更新所以至少需要29天运行一次更新。

每隔20天(每个月的2号和22号)自动更新一次证书,可以在 le-cloudflare.sh 脚本最后加入 service nginx reload等重新加载服务。

0 0 2/20 * * /etc/nginx/le-cloudflare.sh /etc/nginx/le-cloudflare.conf >> /var/log/le-cloudflare.log 2>&1

注意 ubuntu 16.04 不能定义 day of month 含有开始天数的 step values,可以替换命令中的 2/202,22

更详细的 crontab 参数请参考 crontab.guru 进行自定义

cloudxns

下载

wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-cloudxns.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/cloudxns.conf
chmod +x le-cloudxns.sh

配置

cloudxns.conf 文件内容

API_KEY="YOUR_API_KEY"
SECRET_KEY="YOUR_SECRET_KEY"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE

修改其中的 API_KEYSECRET_KEY 为您的 cloudxns api key ,修改 DOMAIN 为你的根域名,修改 CERT_DOMAINS 为您要签的域名列表,需要 ECC 证书时请取消 #ECC=TRUE 的注释。

运行

./le-cloudxns.sh cloudxns.conf

最后生成的文件在当前目录的 certs 目录下

cron 定时任务

如果证书过期时间不少于30天 letsencrypt.sh 脚本会自动忽略更新所以至少需要29天运行一次更新。

每隔20天(每个月的2号和22号)自动更新一次证书,可以在 le-cloudxns.sh 脚本最后加入 service nginx reload等重新加载服务。

0 0 2/20 * * /etc/nginx/le-cloudxns.sh /etc/nginx/le-cloudxns.conf >> /var/log/le-cloudxns.log 2>&1

注意 ubuntu 16.04 不能定义 day of month 含有开始天数的 step values,可以替换命令中的 2/202,22

更详细的 crontab 参数请参考 crontab.guru 进行自定义

dnspod

下载

wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-dnspod.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/dnspod.conf
chmod +x le-dnspod.sh

配置

dnspod.conf 文件内容

TOKEN="YOUR_TOKEN_ID,YOUR_API_TOKEN"
RECORD_LINE="默认"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE

修改其中的 TOKEN 为您的 dnspod api token ,注意格式为123456,556cxxxx。 修改 DOMAIN 为你的根域名,修改 CERT_DOMAINS 为您要签的域名列表,需要 ECC 证书时请取消 #ECC=TRUE 的注释。

运行

./le-dnspod.sh dnspod.conf

最后生成的文件在当前目录的 certs 目录下

cron 定时任务

如果证书过期时间不少于30天 letsencrypt.sh 脚本会自动忽略更新所以至少需要29天运行一次更新。

每隔20天(每个月的5号和25号)自动更新一次证书,可以在 le-dnspod.sh 脚本最后加入 service nginx reload等重新加载服务。

0 0 5/20 * * /etc/nginx/le-dnspod.sh /etc/nginx/le-dnspod.conf >> /var/log/le-dnspod.log 2>&1

注意 ubuntu 16.04 不能定义 day of month 含有开始天数的 step values,可以替换命令中的 5/205,25

更详细的 crontab 参数请参考 crontab.guru 进行自定义