如果你已经在 Ubuntu 上安装了 Nginx 和 Let’s Encrypt,以下是如何使用 Certbot 获取免费的 SSL 证书的步骤。

1. 安装 Certbot 和 Nginx 插件

即使你已经安装了 Let’s Encrypt,仍然需要安装 Certbot 和其 Nginx 插件来自动处理证书生成和配置。

更新包管理器
sudo apt update
安装 Certbot 和 Nginx 插件



sudo apt install certbot python3-certbot-nginx

2. 获取 SSL 证书

Certbot 提供了一个简单的命令,可以自动获取 SSL 证书并更新 Nginx 配置文件。

使用 Certbot 获取证书



sudo certbot --nginx

在执行此命令时,Certbot 会:

  1. 检测 Nginx 的配置并列出你在 Nginx 中配置的所有域名。
  2. 提示你选择想要获取 SSL 证书的域名。
  3. 自动更新 Nginx 配置以支持 HTTPS 并获取 SSL 证书。

如果你想为特定域名获取证书,可以指定域名:



sudo certbot --nginx -d your_domain -d www.your_domain

Certbot 会自动验证域名,获取证书,并配置 Nginx。

3. 自动续订证书

Let’s Encrypt 的证书有效期为 90 天,因此你需要设置证书自动续订。

检查自动续订是否正常

Certbot 安装后通常会自动创建定时任务来更新证书。你可以运行以下命令来测试续订功能是否正常:



sudo certbot renew --dry-run

如果没有问题,你的证书将在过期前自动更新。

4. 验证 HTTPS 配置

证书安装完成后,你可以访问你的域名以验证 HTTPS 是否正常工作。

常见问题和提示

  1. 端口 80 必须开放:Let’s Encrypt 使用 HTTP-01 挑战来验证域名的所有权,因此端口 80 需要在验证过程中保持开放。
  2. 重定向到 HTTPS:Certbot 在配置过程中会询问你是否希望自动将 HTTP 请求重定向到 HTTPS,建议选择“是”来确保所有流量都通过加密连接。
  3. 检查 Nginx 配置:在证书获取成功后,Certbot 会自动修改你的 Nginx 配置。你可以通过以下命令验证 Nginx 配置是否正确:
sudo nginx -t

这样你就完成了使用 Let’s Encrypt 获取免费 SSL 证书并配置 Nginx 的步骤。