mirror of
https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au.git
synced 2025-12-25 20:32:47 +00:00
修改python版本的脚本,自动添加和删除DNS记录,解决同时多个子域名的问题
sudo ./certbot certonly -d example.com -d *.example.com --manual --preferred-challenges dns-01 --dry-run --manual-auth-hook "/脚本目录/au.sh add" --manual-cleanup-hook "/脚本目录/au.sh delete"
⚠️注意:两个 hook 后边的双引号一定不能忘记!!!
This commit is contained in:
parent
94fda334ac
commit
56772b2017
|
|
@ -184,6 +184,7 @@ if __name__ == '__main__':
|
|||
# domain.delete_domain_record(item['RecordId'])
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
# 第一个参数是 action,代表 (add/clean)
|
||||
# 第二个参数是域名
|
||||
# 第三个参数是主机名(第三个参数+第二个参数组合起来就是要添加的 TXT 记录)
|
||||
|
|
@ -225,3 +226,18 @@ if __name__ == '__main__':
|
|||
|
||||
print ("域名 API 调用结束")
|
||||
|
||||
=======
|
||||
#print(sys.argv)
|
||||
file_name, cmd, certbot_domain, acme_challenge, certbot_validation = sys.argv
|
||||
|
||||
domain = AliDns(ACCESS_KEY_ID, ACCESS_KEY_SECRET, certbot_domain)
|
||||
if cmd == "add":
|
||||
domain.add_domain_record("TXT", acme_challenge, certbot_validation)
|
||||
elif cmd == "delete":
|
||||
data = domain.describe_domain_records()
|
||||
record_list = data["DomainRecords"]["Record"]
|
||||
if record_list:
|
||||
for item in record_list:
|
||||
if (item['RR'] == acme_challenge and item['Value'] == certbot_validation):
|
||||
domain.delete_domain_record(item['RecordId'])
|
||||
>>>>>>> 修改python版本的脚本,自动添加和删除DNS记录,解决同时多个子域名的问题
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
path=$(cd `dirname $0`; pwd)
|
||||
cmd=$1
|
||||
|
||||
echo $path"/alydns.py"
|
||||
|
||||
# 调用 python 脚本,自动设置 DNS TXT 记录。
|
||||
# 第一个参数:命令 add 和 delete
|
||||
# 第二个参数:需要为那个域名设置 DNS 记录
|
||||
# 第三个参数: 需要为具体那个 RR 设置
|
||||
# 第四个参数: letsencrypt 动态传递的 RR 值
|
||||
|
||||
echo $cmd $CERTBOT_DOMAIN "_acme-challenge" $CERTBOT_VALIDATION
|
||||
|
||||
if [[ -n "$cmd" ]]; then
|
||||
# 根据自己机器的python环境选择python版本
|
||||
python $path"/alydns.py" $cmd $CERTBOT_DOMAIN "_acme-challenge" $CERTBOT_VALIDATION >"/var/log/certdebug.log"
|
||||
|
||||
if [[ "$cmd" == "add" ]]; then
|
||||
# DNS TXT 记录刷新时间
|
||||
/bin/sleep 10
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "END"
|
||||
###
|
||||
Loading…
Reference in New Issue