引言

在网络安全日益重要的今天,SSL/TLS 证书对保障网站安全与可信度起着关键作用。Let’s Encrypt 作为免费、自动化和开放的证书颁发机构,为广大网站提供免费的 SSL/TLS 证书,有力推动了互联网安全的发展。
然而,Let’s Encrypt 颁发的证书有效期已从早期的一年缩短至现在的三个月。缩短有效期有助于提升安全性,能够及时应对潜在的安全漏洞,并促使网站管理者更积极地维护证书。但对于网站运营者而言,每三个月手动更新一次证书不仅繁琐,也容易因疏忽/遗忘而导致证书过期。一旦证书过期未续,网站可能会触发安全警告,影响用户体验和网站信誉。因此,实现证书自动续期显得尤为必要。

什么是Certbot

Certbot 是一款由Mozilla维护的开源项目,同时也是由Electronic Frontier Foundation (EFF) 创建的,它主要用于自动化获取和安装 SSL/TLS 证书,特别是与 Let’s Encrypt 服务结合使用时,使得网站的 HTTPS 化变得简单且免费。

安装Certbot

  1. 在不同的操作系统上安装 Certbot 的方法会有所不同。以下是一些常见操作系统的安装方法:
    • Ubuntu/Debian:
      sudo apt-get update 
      sudo apt-get install certbot
      sudo apt-get install python3-certbot-nginx
      
    • CentOS/RHEL:
      sudo yum install epel-release
      sudo yum install certbot
      sudo yum install python3-certbot-nginx
      
  2. 安装完成后,可以通过运行以下命令来检查 Certbot 是否安装成功:
    certbot --version
    

签发证书

在签发过程中需要保证域名已完成解析,中途会要求输入email地址并选择是否同意相关协议。

前提条件:需先完成nginx的站点conf配置,再进行证书的签发。

certbot --nginx -d yourdomain

使用 Certbot 的 nginx 插件自动为 nginx 服务器上的 yourdomain 域名获取并安装 SSL/TLS 证书。

通过此方法安装的证书文件通常位于/etc/letsencrypt/live/yourdomain/目录下,包括fullchain.pem(证书链)和privkey.pem(私钥)。

由于使用了nginx插件,certbot会自动更改nginx对应站点的conf配置,无需手动重复更改。

自动续签配置

这是最关键的一步,好消息是Certbot 在安装和首次使用时,会自动配置好续期机制。

你可以通过以下方式查看其状态:

  • 检查 Systemd 定时器 (如果存在):

    sudo systemctl status certbot.timer
    

    确保其状态为 active。若未运行,可执行 sudo systemctl enable --now certbot.timer 来启动并设置开机自启。

  • 测试自动续期是否正常
    建议使用 --dry-run 参数模拟一次续期过程,以验证配置是否正确,而不会实际更改证书。

    sudo certbot renew --dry-run
    

    如果输出包含 Congratulations, all renewals succeeded 或类似信息,则表示测试通过。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐