网站之前买的SSL证书快到期了,查了一下, letsencrypt的免费证书居然都支持泛域名了,那还有什么好说的,搞起搞起。
#1 获取域名的管理token
这里以cloudflare为例,操作步骤很简单,直接上图:
#2 进服务器开始敲命令:
- 下载并安装acme.sh ssl证书签发脚本
curl https://get.acme.sh | sh
- 关闭并重新打开shell
- 配置cloudflare管理token(请保护好这个令牌的安全,不要泄露)
export CF_Token="第一步拿到的cloudflare访问令牌"
- 签发证书(需要把yourdomain.com替换成你的域名)
acme.sh --issue --dns dns_cf -d yourdomain.com -d *.yourdomain.com -k ec-256
- 安装签发后的证书到指定路径并设定nginx reload命令(不reload的话,新的ssl证书不会生效)
acme.sh --installcert -d yourdomain.com --fullchainpath /usr/local/nginx/conf/yourdomain.com.crt --keypath /usr/local/nginx/conf/yourdomain.com.key --ecc --reloadcmd "/usr/bin/sudo service nginx reload"
- acme脚本会自动生成一条crontab任务,为了方便观察,我们删掉它添加的任务,添加我们自己的定时任务:
23 0 * * * /home/centos/acme.sh --cron >> renew-ssl.log
- 定时任务的执行周期可以自行设定,更新证书的日志会到用户目录的renew-ssl.log文件里,生成的ssl证书文件访问路径为/usr/local/nginx/conf/yourdomain.com.crt和/usr/local/nginx/conf/yourdomain.com.key(这俩文件路径可以根据需要进行修改)
- 打完收工,具体效果欢迎访问https://hhacker.com查看
关注我,带你看不一样的数字江湖。