前言
最近小站新增了几个二级域名,如果给每个二级域名都单独申请一个 SSL/TLS 证书未免太过麻烦,因此这次希望申请一个通配符证书,使其支持所有二级域名。
此前我一直用 Certbot 申请 Let’s Encrypt 证书,这也是 Let’s Encrypt 官方推荐的证书管理工具,具体使用方法请见我的另一篇博文 『申请Let’s Encrypt免费SSL证书并在Node.js建立HTTPS服务』。但是后来我发现 Certbot 有些不方便,因为如果用 pip 进行安装很容易遇到 Python2 和 Python3 的兼容性问题,不过后来改用 certbot-auto 脚本解决了大部分问题。
尝试过 acme.sh 后我彻底抛弃了 Certbot,因为它使用纯 Shell 语言编写,对各大发行版都很友好,也自然不存在 Python 的兼容问题。最重要的是 acme.sh 和 Certbot 都支持申请通配符证书,而且 acme.sh 在安装的时候就自动通过 crontab 配置好了自动更新证书的定时任务,不需要我们自己手动配置。因此 acme.sh 总体给我的感觉就是比 Certbot 省事不少。
![上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)](/2020/04/trapping-rain-water/img1.png)