# 063.泛域证书Certbot
不等不靠,有囧有料。为质量和风险买单,不卖呆儿。
有关ssl证书的一期,先监控证书过期时间,用钉钉通知。
再演示certbot申请泛域名(wildcard domain)证书
和单域证书的自动更新。
@史荣久 / 2018-06-25 / CC-BY-SA-3.0
## 观看视频
* [腾讯视频(被转720P)](https://v.qq.com/x/page/c0702ass0rj.html)
* [百度网盘(原始1080P)](https://pan.baidu.com/s/1iTaf1nU1X0wZWYQklktiZQ)
## 内容摘要
* 监控ssl证书过期时间,使用钉钉群机器人通知。
* 泛域(*.moilioncircle.com),裸域(moilioncircle.com)的ssl证书申请。
* certbot 和 certbot-auto 有那么点区别。
* 钉钉群机器人,建立一个人的群(只通知给自己)。
* 通过真实访问(非pem文件),查看证书过期时间。
* curl openssl 命令。
## 参考资料
* 欧盟《通用数据保护条例》(简称GDPR)将于2018年5月25日生效
* [泛域证书,通配符证书](https://www.jianshu.com/p/c5c9d071e395)
* [全站 HTTPS 支持](http://blog.zengrong.net/post/2650.html)
* [Let’s Encrypt](https://letsencrypt.org/)
* [Certbot](https://certbot.eff.org/)
* [自动更新](https://certbot.eff.org/docs/using.html#renewal)
* [单个域更新](https://stackoverflow.com/questions/42591165/how-to-renew-only-one-domain-with-certbot)
* [钉钉群机器人](https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1)
## 脚本摘要
``` bash
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 \
--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) ))"
```
``` nginx
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/;
}
```
## 欢迎围观
``` java
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的官方网站,发现其代码注释很有气质。
领取专属 10元无门槛券
私享最新 技术干货