早两天域名的 https 证书要到期了,用的是 Let's Encrypt 的 wildcard 证书,这种证书需要添加 DNS 解析记录来验证域名所有权。
之前申请的时候手动添加记录,当为多个域名(如 example.com 和 *.example.com )申请 SAN 证书时,需分别添加多条记录,略觉麻烦且容易出错。
于是寻思找一个工具自动化该过程,在 Github 上找到了一个 certbot-letencrypt-wildcardcertificates-alydns-au,由于我的域名使用腾讯云解析,而该工具仅提供了 PHP 版本的腾讯云钩子,服务器没有 PHP 环境又不想安装。
于是动手写了一个 https://github.com/akgnah/certbot-wildcard-qcloud-hook ,求建议求 Star。
拓展阅读:
2
xiexingjia OP 我写完之后也发现了 acme.sh ,不过想着写了就发出来吧
|
3
yearliny 2019-03-24 22:32:20 +08:00 via Android
30 秒可以手动复制粘贴解决的事情,用 30 分钟写个脚本,再用 30 秒部署,然后享受一行命令自动解决的快感。
虽然手动粘贴复制操作繁琐,但问题是这玩意只需要做一次啊 |
4
xiexingjia OP Let's Encrypt 的证书有效期是 90 天呀
|
6
xiexingjia OP |
8
skylancer 2019-03-25 09:35:53 +08:00
其实我觉得奇怪
现在我有时间,我折腾了脚本 谁知道我几个月以后有没有时间人工 renew cert. 我乘现在有时间的时候为未来做一下准备不行么 |
9
janxin 2019-03-25 10:14:29 +08:00 via Android
赞一个,我用 lego
|
10
msg7086 2019-03-25 10:28:20 +08:00 via Android
|
13
xiexingjia OP @msg7086 #3 说是手动复制黏贴,手动肯定不是只需要做一次。
|
14
msg7086 2019-03-25 11:01:35 +08:00
@xiexingjia 哦,我以为是手动复制粘贴一下脚本的配置文件,然后以后让 cron 来跑就行了。
|
15
titanium98118 2019-03-25 11:04:14 +08:00
如果证书要放在不同的机器上,要怎么弄?
|
16
alexmy 2019-03-25 11:04:55 +08:00
acme 虽然是 90 天,不过有带定时任务啊,完全不用我们操心。
|
17
xiexingjia OP @titanium98118 我只有一台机器,没考虑过多机器的情况。大概从 /etc/letsencrypt/archive 拷贝出来可以,我之前试过在两台机器挪过,能正常工作。
|
18
msg7086 2019-03-25 11:23:57 +08:00
@titanium98118 我是直接把整个目录复制到另一台机器上,然后两台机器分别自己签自己的证书。
|
19
7sDream 2019-03-25 11:58:48 +08:00
自用的 Cloudflare auto renew script: https://github.com/7sDream/certbot-dns-challenge-cloudflare-hooks
|
20
zealot0630 2019-03-25 12:23:40 +08:00 via Android
更新 dns 有标准的 nsupdatw,rfc2136。bind 和 aws 的 route53 都支持,不知道国内云厂商是否支持
|
21
LokiSharp 2019-03-25 12:40:02 +08:00 via iPhone
certbot
|
22
xiexingjia OP @LokiSharp 就是 certbot 的 hook 呢。
|
23
hawhaw 2019-03-25 14:51:03 +08:00 via iPhone
非泛域名证书,可以自动在 corn 里定时 renew,但泛域名证书不行
|
24
Qzier 2019-03-25 16:17:26 +08:00 via iPhone
我用 caddy,自动续期
|