Certbot一个能自动设置Nginx网站的SSL证书, 并且自动续费

自动续费 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 证书能够自动续费,从而保持网站的安全性和稳定性。