使用Certbot工具来申请和管理Let’s Encrypt证书

Certbot 是一个自动化工具,可以帮助你申请和管理 Let’s Encrypt SSL 证书。以下是如何使用 Certbot 申请和管理 Let’s Encrypt 证书的详细步骤:

1. 安装 Certbot 和 Nginx 插件

首先,你需要安装 Certbot 和适用于 Nginx 的插件。

sudo apt update
sudo apt install certbot python3-certbot-nginx

2. 使用 Certbot 申请证书

Certbot 提供了一个简单的命令来自动配置 SSL 证书并更新 Nginx 配置文件。假设你的域名是 www.example.com,执行以下命令:

sudo certbot --nginx -d www.example.com

这将做以下几件事:

  • 自动与 Let’s Encrypt 通信并申请 SSL 证书。
  • 自动配置 Nginx 以使用新的证书。
  • 更新 Nginx 配置文件中的 SSL 设置。

申请中会让你输入你的邮箱:

安装完成后会有类似下面的提示:

3. 配置自动重定向(可选)

在申请证书时,Certbot 会自动尝试配置 HTTP 到 HTTPS 的重定向。如果没有自动配置,或者你希望手动配置,可以修改你的 Nginx 配置:

server {
    listen 80;
    server_name www.example.com;
    return 301 https://$host$request_uri;  # 强制 HTTP 重定向到 HTTPS
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
    # 其他 SSL 配置
}

4. 自动续期证书

Let’s Encrypt 的证书有效期为 90 天,因此你需要定期续期。Certbot 提供了一个自动续期的功能。你可以使用 cronsystemd 来定期运行续期命令。

要测试自动续期,运行以下命令:

sudo certbot renew --dry-run

如果测试成功,Certbot 会自动配置系统定期运行证书续期。通常情况下,Certbot 会自动将续期命令添加到系统的任务调度器中,确保证书在过期前得到更新。

5. 查看和管理证书

  • 列出所有证书
  sudo certbot certificates
  • 撤销证书
  sudo certbot revoke --cert-path /etc/letsencrypt/live/www.example.com/fullchain.pem
  • 删除证书
  sudo certbot delete

6. 检查证书的有效性

你可以通过访问网站,或者使用以下命令检查证书是否正确安装并有效:

sudo systemctl status nginx

如果一切设置正确,你的 Nginx 应该已经成功使用 Let’s Encrypt 证书,网站访问时应当是安全的(HTTPS)。

本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:使用Certbot工具来申请和管理Let’s Encrypt证书
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇
下一篇