R063.泛域证书Certbot
不等不靠,有囧有料。为质量和风险买单,不卖呆儿。
有关ssl证书的一期,先监控证书过期时间,用钉钉通知。 再演示certbot申请泛域名(wildcard domain)证书 和单域证书的自动更新。
@史荣久 / 2018-06-25 / CC-BY-SA-3.0
观看视频
内容摘要
- 监控ssl证书过期时间,使用钉钉群机器人通知。
- 泛域(*.moilioncircle.com),裸域(moilioncircle.com)的ssl证书申请。
- 单域(www.moilioncircle.com)名证书申请和自动更新。
- certbot 和 certbot-auto 有那么点区别。
- 钉钉群机器人,建立一个人的群(只通知给自己)。
- 通过真实访问(非pem文件),查看证书过期时间。
- curl openssl 命令。
参考资料
- 欧盟《通用数据保护条例》(简称GDPR)将于2018年5月25日生效
- 泛域证书,通配符证书
- 全站 HTTPS 支持
- Let’s Encrypt
- Certbot
- 自动更新
- 单个域更新
- 钉钉群机器人
脚本摘要
certbot --version #certbot 0.25.0
sudo certbot -d 'moilioncircle.com' -d '*.moilioncircle.com' \
--manual --preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory \
certonly
sudo certbot renew \
--cert-name goodidea.moilioncircle.com \
--dry-run
--post-hook="service nginx reload"
## 检查证书
now_epoch=$( date +%s )
expiry_date=$( echo | \
openssl s_client -showcerts -servername $domain \
-connect $domain:443 2>/dev/null \
| openssl x509 -inform pem -noout -enddate \
| cut -d "=" -f 2 )
echo -n " $expiry_date";
expiry_epoch=$( date -d "$expiry_date" +%s )
expiry_days="$(( ($expiry_epoch - $now_epoch) / (3600 * 24) ))"
ssl on;
ssl_certificate /data/letsencrypt/live/moilion.com/fullchain.pem;
ssl_certificate_key /data/letsencrypt/live/moilion.com/privkey.pem;
# 指定 webroot 路径
location /.well-known {
root /var/www/html/;
}
欢迎围观
if (you.accept(MoilionCircle.SPIRIT)) {
if(you.haveADL()){
MoilionCircle we = you.search(MoilionCircle.SLOGAN);
we.welcome(you);
}
if(you.share(this)){
We.thank(you);
We.mayFind7Moilion();
}
}
后记
说到数据安全和个人信息保护就心塞,几乎少有人买单。
我是不是有被迫害妄想症,密码要用16位英数大小写的:D
题图:Certbot的官方网站,发现其代码注释很有气质。