Certbot 是一个由 Let’s Encrypt 开发的免费开源工具,用于自动化部署和管理 SSL/TLS 证书。它具有以下几个显著的好处:
- 免费证书:Certbot 使用 Let’s Encrypt 作为其证书颁发机构,Let’s Encrypt 提供免费的 SSL/TLS
证书。这意味着您可以使用 Certbot 轻松获取和更新有效的证书,而无需支付费用。 - 自动化:Certbot 可以自动化证书签发和更新的过程,减少了手动操作的工作量和错误的风险。您可以设置定期任务,让 Certbot
自动检查证书的到期日期,并在需要时自动进行更新。 - 安全性:使用 SSL/TLS 证书可以加密网站与用户之间的通信,确保数据在传输过程中的安全性。Certbot
简化了证书的获取和管理过程,使您能够快速轻松地为您的网站启用 HTTPS,提供更安全的访问方式。
话不多说,我们今天就来讲一下在nginx环境上的安装和使用certbot
要安装certbot,我们需要先安装snapd 。需要依次执行以下几条命令,执行完最后一步,需要重新登录服务器或者重启机器让snap生效。重新连接ssh就行;
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
接下来,来安装certbot
执行安装命令 sudo snap install --classic certbot
设置软链接 sudo ln -s /snap/bin/certbot /usr/bin/certbot
到这里,certbot已经安装好了,简单介绍一下它的2个工作模式
sudo certbot --nginx
运行此命令获取证书,并让Certbot自动编辑您的nginx配置以提供证书,在一个步骤中打开HTTPS访问。
sudo certbot certonly --nginx
如果你感觉更保守,只需要证书。其他想手工修改nginx配置,运行这个命令。 在这里,我采用第一种方式
注: 由于我使用的是宝塔安装的nginx; 配置文件路径不在/etc/ngnix/ 下
看起来 Certbot
在尝试使用默认的 Nginx 配置文件路径 /etc/nginx/nginx.conf
,但是您的 Nginx 实际配置文件路径是 /www/server/nginx/conf/nginx.conf。您可以通过使用 --nginx-server-root 参数来告诉 Certbot 您的 Nginx 配置文件的实际路径
sudo certbot --nginx --nginx-server-root /www/server/nginx/conf/
这样 Certbot 就会使用指定的路径来查找 Nginx 配置文件,从而避免了路径错误导致的问题。
之后按照提示:
1: 输入邮箱
2: 同意条款; balabala
如果您只想为特定的域名启用 HTTPS
,请输入相应的数字,用逗号或空格分隔
,然后按 Enter
键;
测试自动续签
您系统上的 Certbot 软件包附带一个 cron 作业或 systemd 计时器,可在证书过期之前自动更新您的证书。您不需要再次运行 Certbot,除非您更改配置。您可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
续订 certbot 的命令安装在以下位置之一:
/etc/crontab/
/etc/cron./
systemctl list-timers
结语
certbot网站, 网站有详细介绍, 及安装说明
https://certbot.eff.org/instructions