证书3月一换很麻烦?一行命令让你解放双手

作者:微信小助手

发布时间:2024-09-05T19:49:59

问题

目前证书的大部分有效期都是3个月(免费),对于我们就需要每次在各大运营商平台进行重新申请,替换秘钥,虽然快到期的时候会提醒,但是还是很麻烦。

建议

如果你的nginx配置文件有多个,比如一个二级域名一个配置文件,我建议使用Certbot的手动模式,这样更好自己去管理

Certbot简介

CertbotCertbot 是一个由 Electronic Frontier Foundation(电子前线基金会,简称 EFF)开发的开源工具,主要用于自动获取和更新 Let’s Encrypt 颁发的 SSL/TLS 证书。它能够帮助网站管理员轻松地为其网站配置 HTTPS,提供更安全的数据传输。

Certbot 的主要功能

  1. 自动化获取证书:Certbot 能够自动与 Let’s Encrypt 交互,验证域名所有权并获取 SSL/TLS 证书。
  2. 自动配置 HTTPS:Certbot 可以自动配置 Web 服务器(如 Apache、Nginx),使其使用新获得的证书提供 HTTPS 服务。
  3. 自动续期:Let’s Encrypt 证书的有效期为 90 天,Certbot 会自动在证书到期前更新它们,确保 HTTPS 服务的持续性。
  4. 支持多种操作系统和 Web 服务器:Certbot 支持多种操作系统(如 Ubuntu、Debian、CentOS 等)和多种 Web 服务器(如 Apache、Nginx)。

使用 Certbot 的基本步骤

  1. 安装 Certbot:根据操作系统和 Web 服务器的类型,使用包管理器或直接下载方式安装 Certbot。
  2. 获取证书:通过 Certbot 命令行工具,指定域名并获取 SSL/TLS 证书。
  3. 配置 Web 服务器:Certbot 可以自动配置 Web 服务器,也可以手动配置。
  4. 测试和验证:确保 Web 服务器正确启用了 HTTPS,并验证证书的有效性。
  5. 自动续期:Certbot 会定期运行并检查证书的有效期,自动续期证书。

适用场景

  • 个人或小型网站:不需要购买商业证书,使用 Let’s Encrypt 提供的免费证书即可。
  • 希望自动管理证书的用户:Certbot 自动化的流程可以节省手动管理证书的时间和精力。

总的来说,Certbot 是一个强大且易于使用的工具,能够帮助网站管理员轻松地为其网站配置和管理 SSL/TLS 证书,提高网站的安全性。

自动配置(可忽略)

在CentOS上使用Certbot为Nginx配置SSL证书并设置自动续签的步骤如下:

1. 安装Certbot

首先,确保系统已更新:

sudo yum update -y

然后,安装EPEL(Extra Packages for Enterprise Linux)存储库:

sudo yum install epel-release -y

接下来,安装Certbot和Nginx插件:

sudo yum install certbot python2-certbot-nginx -y

2. 获取SSL证书

使用Certbot获取SSL证书。这里假设你的域名是example.com,请替换成你的实际域名:

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

在运行此命令时,Certbot会自动配置Nginx以使用生成的SSL证书。按照提示完成域名验证。

3. 验证Nginx配置

Certbot成功生成证书后,它会自动更新Nginx的配置文件。你可以通过以下命令测试Nginx配置是否正确:

sudo nginx -t

如果配置正确,重启Nginx以应用更改:

sudo systemctl restart nginx

4. 设置自动续签

Certbot安装时通常会创建一个定时任务(cron job)来自动续签证书。你可以通过以下命令查看已存在的续签任务: