通过Certbot自动申请更新HTTPS网站的SSL证书

原文地址:通过Certbot自动申请更新HTTPS网站的SSL证书

现在很多云服务运营商免费的HTTPS证书有效期只有3个月,对于个人网站来说,这就很麻烦,现在可以用 Certbot + Crontab 自动申请并定期更新 HTTPS 网站的 SSL 证书,来解决我们这个痛点。

需要云服务器可以看这里:云服务器优惠合集。

1. 安装 Certbot

不同系统安装方式略有不同,这里给你 CentOS / RHEL 和 Debian / Ubuntu 的常用方法。

CentOS / RHEL 7/8/9

bash 复制代码
# 安装 EPEL
sudo yum install epel-release -y

# 安装 Certbot 和 Nginx 插件(如果用 Apache 就换成 python3-certbot-apache)
sudo yum install certbot python3-certbot-nginx -y

Debian / Ubuntu

bash 复制代码
sudo apt update
sudo apt install certbot python3-certbot-nginx -y

2. 申请 SSL 证书

如果你用 Nginx

bash 复制代码
sudo certbot --nginx -d example.com -d www.example.com
  • -d 参数后面写你的域名(可以多个)
  • Certbot 会自动修改 Nginx 配置并申请证书
  • 申请过程中会让你选择是否重定向 HTTP → HTTPS

注意:这里需要你的nginx的conf文件里面的sercer_name指定对应的域名,如果你配置的是下划线 "_",会导致该命令运行失败,报下面的错误。

bash 复制代码
Could not automatically find a matching server block for zhangfeidezhu.com. Set the `server_name` directive to use the Nginx installer.

如果你用 Apache

bash 复制代码
sudo certbot --apache -d example.com -d www.example.com

3. 测试证书是否生效

申请完成后,可以在浏览器访问你的域名,查看是否已经是有效的 Let's Encrypt 证书。

4. 自动更新证书

Let's Encrypt 证书有效期是 90 天,所以要自动续签。

Certbot 自带定时任务(通常是 /etc/cron.d/certbot 或 systemd 定时器),也可以手动添加 crontab:

bash 复制代码
sudo crontab -e

加入:

bash 复制代码
0 3 1 */3 * certbot renew --quiet --post-hook "nginx -s reload"

解释:

  • 0 3 1 */3 * → 每隔 3 个月的1号3点执行一次
  • --quiet → 静默模式
  • --post-hook "nginx -s reload" → 续签后自动重载 Nginx

5. 检查自动续签是否正常

手动测试续签:

bash 复制代码
sudo certbot renew --dry-run

如果提示 Congratulations, all renewals succeeded,说明没问题。

✅ 这样配置后,你的网站 HTTPS 证书会在到期前自动续签,Nginx 会自动加载新证书,几乎可以做到"一劳永逸"。

相关推荐
呆呆敲代码的小Y1 天前
TCP / UDP 对比介绍
网络·网络协议·tcp/ip·udp·tcp·tcp/udp
你不是我我1 天前
【AI 测评】群晖 NAS 部署 Vaultwarden:从 HTTPS 到浏览器自动填充的完整密码管理流程
网络协议·http·https
明月_清风2 天前
MCP vs ACP vs LSP:AI 时代三大协议的「三足鼎立」
人工智能·网络协议·agent
我爱cope2 天前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
myy-learn2 天前
30-HTTP协议
网络·网络协议·http
开开心心就好2 天前
免费刷题软件推荐,支持导入题库自动判题
网络·网络协议·tcp/ip·jupyter·智能手机·电脑·idea
幼儿园蛋小黄2 天前
基于 TCP 的嵌入式网络通信学习总结
网络协议·学习·tcp/ip
木井巳2 天前
【网络原理】TCP/IP 协议栈
网络·网络协议·tcp/ip·udp
++==2 天前
RPC:grpc的使用与安装、server和client的使用示例、lsb_relese、自定制协议(LVC)+protobuf的RPC调用框架的实现
网络·网络协议·rpc
Lsetea2 天前
ACME 报 rate limit:Let‘s Encrypt 限速类型与重试策略
运维·https·证书·ssl·acme