最近阿里云的免费SSL证书开始收费了,免费的只有3个月,3个月配一次怪麻烦的。官方有推出一个68的,但也只能设置一个域名,不论一级二级,多几个也着不住。
安装Certbot
本人服务器环境是debain+nginx,其他linux系统问题也不大,只是下载命令不同,其他都一致。
sudo apt install certbot python3-certbot-nginx
centos 7及其以上
sudo yum install certbot python3-certbot-nginx
这里说明一下 python3-certbot-nginx
是因为我本地装了nginx,如果没有使用nginx的话,可以不用安装哈。
安装完成,通过 certbot -h
验证一下
centos安装python3-certbot-nginx,提示找不到的话
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
# 等待十几秒再执行下面的安装
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
获取免费证书
有nginx的话,获取起来就简单了
通过 certbot --nginx
命令,会自动扫描你nginx中的配置涉及到的域名,按我下图示意的流程操作即可。
有的同学可能会让输入邮箱啥的,按步骤提示走继续,我在尝试其他命令的时候已经输入过了,故而图上没有相关参数输入提示。
没有使用nginx的同学,可以参考这篇文章Nginx 通过 certbot 为网站自动配置 SSL 证书并续期
自动更新
采用crontab进行定期更新,更新的指令是 certbot --nginx renew
。
尝试了一下提示未过期
但真的可以续订的时候是否会提示其他信息并执行操作,我这里也未知,到时候过期了我尝试更新成功后再来更新这篇文章。
有心急的伙伴可以尝试以下命令,我们通过crontab,新增一个每月1号定时的任务执行更新。
//增加定时任务
crontab -e
// vim下插入一下命令
0 0 1 * * certbot --nginx renew
若是未启动crontab
启动 crond 服务:
sudo systemctl start crond
设置开机自动启动:
sudo systemctl enable crond
参考:
简单使用Certbot申请和使用Let's Encrypt的SSL证书
Nginx 通过 certbot 为网站自动配置 SSL 证书并续期