补充:certbot在大多数linux上是自带的,若没有可执行以下命令下载
Ubuntu:sudo apt-get update sudo apt-get install --only-upgrade certbot
Centos
sudo yum update sudo yum install certbot
因为执行Certbot时需要,它需要占用80端口,所以执行以下命令暂时先关闭Nginx。
sudo systemctl stop nginx
将example.com
替换成要生成SSL证书的域名
sudo certbot certonly --standalone -d example.com
如果还是提示:“Problem binding to port 80: Could not bind to IPv4 or IPv6.”,可能是有其他应用占用了,使用以下命令查证,并杀死进程。
// 查看占用80端口的进程 lsof -i:80 // 关闭占用80的进程 kill -9 PID进程号
sudo systemctl start nginx
注意将example.com
改为实际域名,其它路径名不用变动,也可去路径下检查一下是否生成成功
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chuzilaolin.com/privkey.pem;
# 其他 SSL 配置项...
}
使用Cron进行定时更新SSL证书
第一步:首先使用以下命令打开Cron,第一次使用Cron会提示让你选择熟悉的操作方式,可以选择第二种vim方式。
crontab -e
第二步:添加定时任务,一下表示每天凌晨 2 点执行 Certbot 续订(如果不续订,默认是三个月过期)
0 2 * * * certbot renew --quiet