在今年上半年,各大厂商纷纷调整了免费SSL证书的有效期,将其从12个月缩短至3个月。这一变动给那些管理大量免费证书的人带来了很多麻烦,因为需要频繁地进行申请和部署。
今天我要介绍的是一种自动化申请证书的流程,可以实现多域名证书在到期时的自动续期。这不仅可以帮助减轻管理者的工作负担,还可以确保证书始终处于有效状态
1、访问FreeSSL网站创建账号,域名授权
FreeSSL 免费的HTTPS证书申请https://freessl.cn/
登录之后,证书自动化-域名授权
添加域名,授权验证
将记录内容配置到域名解析处
2、自动化部署
2.1 安装ACEM客户端
官网下载地址:
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
安装之后校验生效
#安装之后 重载一下环境配置(不然后续命令不会生效)
source ~/.bashrc
#校验是否安装成功
acme.sh --version
2.2 申请证书
FreeSSL后台,证书自动化—>ACME客户端—>申请证书
复制申请证书命令
acme.sh --issue -d www.你的域名.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxx....
2.3 部署证书
acme.sh --install-cert -d www.你的域名.com \
--key-file /www/server/panel/vhost/cert/app.你的域名.com/privkey.pem \
--fullchain-file /www/server/panel/vhost/cert/app.你的域名.com/fullchain.pem \
--reloadcmd "/usr/local/nginx/sbin/nginx -s reload"
这个步骤是覆盖之前的证书,并自动重启nginx
对应的nginx配置如图
安装的过程中会自动将检测脚本加入到 crontab定时任务中,可以用crontab -l 查看
到此就大功告成了,证书进入到30天有效期,acme.sh 会自动完成续期。使用期间请勿删除域名及解析记录