使用certbot为网站配置https
是她咯

对于个人站长而言,网站的https一般都是使用的免费的证书。certbot是Linux下的一款申请赛门铁克免费https证书的工具,但申请的证书有效时效只有三个月。本文介绍了如何使用该工具,以及后续如何自动更新证书。

使用 certbot 为网站配置 https

更新软件源

# 列出所有可更新的软件清单
apt update

# 升级软件包
apt upgrade -y

# 查看所有安装的软件包
apt list --installed

安装 certbot

使用以下命令进行安装 certbot

apt installl -y certbot python3-certbot-nginx

使用 apt list --installed 命令查看是否安装成功

apt list --installed | grep certbot

# 如果找到类似 /bin/certbot 的结果,说明 certbot 安装完成
find / -name "certbot"

生成证书

生成证书有两条命令:

  • cerbot --nginx:获取证书,并且让 certbot 自动编辑 Nginx 配置
  • certbot certonly --nginx:只生成证书,需要手动更改 Nginx 配置
# 这个命令会去 /etc/nginx 目录去寻找 Nginx 配置
certbot --nginx

运行命令后,会列出所有的域名进行选择。在选择域名之后,会让选择是否对 http 流量进行强制重定向到 https。选项1为不进行重定向,选项2为将 http 访问全部都强制重定向到 https。

image-20220825211508951

证书自动续订

使用 crontab -e 命令编辑 crontab 任务,并插入以下命令。

0 0 1 * * /usr/bin/certbot renew --pre-hook “service nginx stop” --post-hook “service nginx start” --quiet > /etc/letsencrypt/renewals.log

任务添加完成之后,使用 service crond reload 命令重载定时任务。

这将会在每月的1号对所有证书进行更新,在开始更新前会停止 Nginx,更新完成再进行启动。

certbot 命令

(默认) run       获取并安装证书到当前网页服务器
renew 更新已经获取但快过期的所有证书

--nginx 使用Nginx插件进行身份认证和安装

certificates 显示使用Certbot生成的所有证书的信息
revoke 撤销证书(supply --cert-path)
delete 删除证书

-q, --quiet 程序运行只输出错误信息。这个选项对于 cron 等自动化工具很有用。
该选项默认包含了 --non-interactive 选项的功能。(默认: False)
--pre-hook
--post-hook
  • 本文标题:使用certbot为网站配置https
  • 本文作者:是她咯
  • 创建时间:2022-08-27 20:20:25
  • 本文链接:https://blog.cvengr.com/posts/3de59fef/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!