在之前我已经介绍过部署反向代理的2种方式了。第一种是通过宝塔的反向代理配置然后开启HTTPS。 第二种是通过nginxproxymanager。
今天要给大家分享的是一个 certbot。
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-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配置,运行这个命令。 在这里,我采用第一种方式。
- 接下来,我随便启动一个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的使用步骤。比较人性化!
certbot,强烈推荐!!!创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。