Acme.sh全自动获取SSL通配符证书

2021-03-01 作者:

Here I’m gonna show you a quick how-to on obtaining a wildcard SSL cert from Let’s Encrypt with the “pure shell written” acme.sh, which is simple, light-weight and far beyond flexible.

And you may already aware that I’ve an earlier post on doing this with another tool called certbot-auto, well, unfortuantely it’s… kinda still working… but having no support or further update anymore. As for the “official successor” of the certbot-auto? It seems the official guys have decided to walk step and step closer into the mire, with that good-looking but evil-inside snapd… oh, don’t even say that word again. It’s weird enough – I saw nothing around Canonical brand on sponsors list from homepage of Let’s Encrypt. That’s another topic anyway, a wildcard SSL cert for free is still worth my sincere appreciation in this case.

今天简单聊下如何使用acme.sh来获取通配符证书,纯shell工具比之前聊过的certbot-auto更为简单、轻量且灵活。此外不幸的是,半年不见certbot已然走上邪路,奇怪的是Let’s Encrypt首页赞助商清单里并未发现Canonical在列,让我倍感意外。

废话少叙,先装为敬。

安装过程中会自动创建cronjob,如果不想自动创建,安装时要加个参数,也可以手动把cronjob删掉(则证书不会自动展期)。

此时把阿里云key和secret填入环境变量(建议使用RAM账户,风险最小化)。

然后一句话申请wildcard(通配符)证书。

这样锃光瓦亮的证书就到手了,接下来把证书“安装”到nginx(apache之类都行,无所谓)。

之所以安装二字打引号,是因为其实无论证书文件存放何处,无非都是web服务器配置的问题,而acme.sh的文档里建议呢,还是“安装”一下,而非直接在acme的home目录下使用,是该工具不保证今后证书的存储路径不做变更,所以这里有一个官方的安装指令。

好人做到底,多写一下nginx配置文件,启用SSL的玩法。其中 dhparam.pem 是可选的,建议自制一个,反正不费劲,据称可以提高ssllabs.com评分;如果没做,那么配置文件里不要加这一行。

最后就剩下自动续期和自动安装了,前者是acme.sh已经替你做好了cronjob(看起来是每天续期,实际运行一下就知道了,不到60天的话只检查,不真正触发);后者感觉没有,我多写一个cron试试看,应该可以实现自动安装。

至于通配符证书的多机共用,其实不用每台机器都安装acme.sh,不仅过程繁琐,且对Let’s Encrypt也是一种资源浪费。

只要让另外一台的root可以pubkey登录本机的root(关掉密码认证)就可以即时同步更新证书了。

大致就是这样了,这几个定时安装和同步的cronjob,根据OS的实际差异可能有所变化,不一而足。


附一下继续使用certbot-auto看到的关于不再支持的提示信息。

 

原创文章,转载请注明: 转载自渔人小径

本文链接地址: Acme.sh全自动获取SSL通配符证书

打赏 PayPal

文章的脚注信息由WordPress的wp-posturl插件自动生成

打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

最近文章

分享

发表评论

电子邮件地址不会被公开。 必填项已用*标注