https://mp.weixin.qq.com/s/7wXjCUV1FWs3f3AkaNZOLQ

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生效。sudo yum install epel-releasesudo yum install snapdsudo systemctl enable –now snapd.socketsudo 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配置,运行这个命令。 在这里,我采用第一种方式。
接下来,我随便启动一个docker服务,比如IT工具站。让他映射出去端口。docker run -d –name it-tools –restart unless-stopped -p 3420:80 corentinth/it-tools:latest 可以看到,通过IP+端口可以访问了。图片
这一步我们通过certbot配置反向代理。vim /etc/nginx/conf.d/it.conf 然后输入

server {
   listen 80;
   server_name XXXX; # 换成你的域名
   client_max_body_size 0;

location / {
   proxy_pass       http://127.0.0.1:3420; #要映射的端口
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   }
}

执行命令:sudo certbot –nginx 即可,当页面出现successful即可。日志里展示了证书和key的存放位置,以及域名等。图片
请确保你的服务器80端口打开,因为它要去验证证书。若端口没打开就会报这样的错:Fetching http://test.aionlinefun.icu/.well-known/acme-challenge/CKS49Vb9riya-XlSFnYEca2mZTD4A232iCzq4B_jpgg: Error getting validation data 。我在最初的时候一直验证报错,查问题查到凌晨1点多。结果最终原因竟然是端口问题。

此时,我们通过HTTPS来访问我们绑定的域名即可。一切正常~~ 。至此以后我们就不需要在登录宝塔配置反代,也不需要npm了。只需要certbot即可。图片

Certbot 软件包附带一个 cron 作业或 systemd 计时器,可在证书过期之前自动更新我们的证书。所以我们就不需要再次运行 Certbot,除非更改了配置,换一句话说,以后只要你不动这个网站,那么它将永远有HTTPS。

Certbot的官网如下:https://certbot.eff.org/ 当你进入官网选择了对应的web环境和操作系统。下面就会出现certbot的使用步骤。比较人性化!图片

文档更新时间: 2023-09-23 06:17   作者:admin