MailABC是科普电子邮件知识的个人Blog,接受交换友链。您可以关注公众号mailabc留言,或邮件联系feedback@mailabc.cn 。

ACME v2 SSL证书自动化续期快速入门

SSL证书 小胡子大魔王 5个月前 (04-30) 148次浏览
由于各大厂商对免费SSL证书的期限限制只有3个月,对于买不起SSL证书的博主来说每3个月就要更换一次证书。如果每次都需要手动申请、更换,无疑是一个很繁琐的工作。本文主要介绍通过ACME工具自动申请证书方案

参考来源:

1.ACME v2证书自动化快速入门 (freessl.cn)

2.ACME 客户端 – Let’s Encrypt – 免费的SSL/TLS证书 (letsencrypt.org)

安装acme.sh

建议切换到root账号下执行如下命令:

curl https://get.acme.sh | sh -s email=my@example.com

如果速度过慢,也可以通过国内镜像源安装:

curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false | sh -s email=my@example.com

注意:上述email=参数表示部署的账号,写上自己的邮箱账号即可。

默认安装在~/.acme.sh/目录(~表示用户主目录),同时自动设置了一条cron定时任务,类似如下:

1 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

同时自动配置了acme.sh的alias:

alias acme.sh='/root/.acme.sh/acme.sh'

验证域名

可以进行自动化验证,也可以手动进行验证。以freessl.cn为例,可以通过域名CNAME记录验证,也可以采用文件验证。

获取域名DCV信息:

然后进入域名管理系统(自己购买域名的服务商或者授权的DNS服务商)添加上述CNAME记录:

阿里云解析设置界面

正确配置后立即检测,即可获得相关配置命令:

证书申请配置

在系统上执行上述acme.sh的部署命令,即可进行证书部署。

acme.sh --issue -d www.mailabc.cn  --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxx

注意图中打码的部分是针对这个申请的专属ACME地址,不要泄露。部署完成后,在~/.acme.sh/目录下会生成域名目录,如~/.acme.sh/www.mailabc.cn/,这里存放申请的证书文件。

配置证书

针对Apache服务器,可以参考如下命令部署证书:

acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

针对Nginx服务器,可以参考如下命令部署证书:

acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

注意:上述reloadcmd需要根据Linux系统版本不同稍作修改,比如通过systemctl而不是service。

针对上面的命令,可以保存到一个脚本文件中,做一个定时任务自动执行。这样就可以享受证书自动续期了。


未标注来源的文章均为原创作品,版权所有,转载请注明出处。非原创文章均已标注来源,如有侵权请告知。 如您喜欢本站,可以收藏加关注(扫码关注右上角微信公众号mailabc)。
喜欢 (3)