锐力易思▼ 2018▼ ssl 证书 certbot 钉钉 监控

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 命令。

参考资料

脚本摘要

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

《R063.泛域证书Certbot》 监控证书过期时间,用钉钉通知。Certbot的泛域(wildcard domain)申请和单域的自动更新。
题图:Certbot的官方网站,发现其代码注释很有气质。