Certbot一个能自动设置Nginx网站的SSL证书, 并且自动续费
- 运维笔记
- 2024-08-16
- 304热度
- 0评论
自动续费 SSL 证书是确保网站安全性和可靠性的关键步骤之一。使用 Let's Encrypt 提供的免费的 SSL 证书,可以通过 Certbot 工具实现自动续费。以下是如何在 Nginx 上配置自动续费 SSL 证书的详细步骤:
### 1. 安装 Certbot 和 Nginx 插件
首先,您需要安装 Certbot 和 Nginx 插件。以下是适用于 Ubuntu 的安装步骤:
sudo apt update
sudo apt install certbot python3-certbot-nginx
### 2. 获取 SSL 证书
使用 Certbot 来获取 SSL 证书。以下命令会自动配置 Nginx 并获取证书:
sudo certbot --nginx
您需要输入您的电子邮件地址并同意服务条款,然后 Certbot 会自动获取并安装证书。
### 3. 配置自动续费
Certbot 默认会安装一个系统定时任务(cron job)来自动续费证书。您可以通过以下命令查看这些定时任务:
sudo systemctl list-timers
您应该能看到一个名为 `certbot.timer` 的定时任务,它通常每天运行两次来检查证书是否需要续费。
### 4. 手动测试自动续费
为了确保自动续费功能正常工作,您可以手动测试续费过程:
sudo certbot renew --dry-run
这会模拟续费过程而不实际更新证书。如果没有错误消息,说明自动续费配置正常。
### 5. 配置 Nginx 以使用新的证书
Certbot 会自动配置 Nginx 使用获取的证书,您可以在 Nginx 配置文件中看到类似以下的配置:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# 其他配置...
}
确保这些路径是正确的,并且 Nginx 配置文件没有错误。
### 6. 重启 Nginx
每次获取或更新证书后,您可能需要重启 Nginx 以应用新的证书:
sudo systemctl restart nginx
### 7. 监控和维护
虽然 Certbot 的自动续费功能非常可靠,但定期检查证书状态和续费日志仍然是个好习惯。您可以查看 Certbot 的日志文件来确认续费过程是否顺利:
sudo less /var/log/letsencrypt/letsencrypt.log
通过以上步骤,您可以确保 Nginx 服务器上的 SSL 证书能够自动续费,从而保持网站的安全性和稳定性。