Cerbot Feb 27, 2026
Certbot 是一个免费的开源工具,用于自动使用 Let’s Encrypt 证书来启用 HTTPS
1. 安装
- Ubuntu/Debian
sudo apt update sudo apt install certbot - CentOS/RHEL
sudo yum install epel-release sudo yum install certbot - 使用 Snap(推荐,保持最新)
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
2. 获取证书(常见方式)
方式一:Webroot 模式(推荐)
# 临时启动服务器验证,需确保 80/443 端口可用
sudo certbot certonly --standalone -d example.com -d www.example.com
方式二:Standalone 模式
# 临时启动服务器验证,需确保 80/443 端口可用
sudo certbot certonly --standalone -d example.com -d www.example.com
方式三:Nginx 插件模式
# 自动配置 Nginx
sudo certbot --nginx -d example.com -d www.example.com
方式四:Apache 插件模式
# 自动配置 Apache
sudo certbot --apache -d example.com -d www.example.com
3 . 证书位置
证书通常保存在:
/etc/letsencrypt/live/example.com/
├── cert.pem # 证书链
├── chain.pem # 中间证书
├── fullchain.pem # 完整证书链
└── privkey.pem # 私钥
4. 自动续期
#测试续期
sudo certbot renew --dry-run
# 手动续期所有证书
sudo certbot renew
# 设置自动续期(crontab)
sudo crontab -e
# 添加以下行(每天检查续期)
0 0,12 * * * /usr/bin/certbot renew --quiet
5. 常用命令
查看证书信息
sudo certbot certificates
撤销证书
sudo certbot revoke --cert-path /etc/letsencrypt/live/example.com/cert.pem
删除证书
sudo certbot delete --cert-name example.com
6. Nginx 配置示例
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# 其他配置...
}
7. 注意事项
- 域名验证:确保域名已解析到服务器 IP
- 端口开放:80 端口(HTTP验证)或 443 端口(TLS验证)必须可访问
- 防火墙:可能需要开放相应端口
- 权限:Webroot 目录需要可读权限
- 证书有效期:Let’s Encrypt 证书有效期为 90 天