Certbot 申请证书
大约 2 分钟
Certbot 申请证书
相关信息
如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let’s Encrypt 就是一个 CA。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let’s Encrypt + Nginx 来让网站升级到HTTPS。
自动申请
安装
apt update -y
apt install -y certbot
apt install -y python3-certbot-nginx
执行生成https
1.certbot --nginx (第一次执行)
2.certbot (后面添加新网站直接执行这个命令)
执行完成之后他会自动把证书添加nginx下面
查看证书
sudo certbot certificates
删除证书
sudo certbot delete --cert-name name_of_certificate
自动更新
测试自动刷新是否生效
sudo certbot renew --dry-run
证书是90天才过期,我们只需要在过期之前执行更新操作就可以了。 这件事情就可以直接交给定时任务来完成。linux 系统上有 cron
可以来搞定这件事情。 我新建了一个文件 certbot-auto-renew-cron
, 这个是一个 cron
计划,这段内容的意思就是 每隔 两个月的 凌晨 2:15
执行 更新操作。
15 2 * */2 * certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
--pre-hook
这个参数表示执行更新操作之前要做的事情。--post-hook
这个参数表示执行更新操作完成后要做的事情,这里就恢复 nginx 服务的启用
crontab certbot-auto-renew-cron
最后我们用 crontab 来启动这个定时任务
crontab 基本操作
crontab -e # 编辑任务
crontab -l # 显示任务
crontab -r # 删除任务
结语
至此,整个网站升级到HTTPS就完成了。 总结一下我们需要做什么
- 获取Let’s Encrypt 免费证书
- 配置Nginx开启HTTPS
- 定时刷新证书