在之前我已经介绍过部署反向代理的2种方式了。第一种是通过宝塔的反向代理配置然后开启HTTPS。 第二种是通过nginxproxymanager。 今天要给大家分享的是一个 certbot。
Certbot 是一个由 Let's Encrypt 开发的免费开源工具,用于自动化部署和管理 SSL/TLS 证书。它具有以下几个显著的好处:
要安装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 run -d --name it-tools --restart unless-stopped -p 3420:80 corentinth/it-tools:latest
可以看到,通过IP+端口可以访问了。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;
}
}
请确保你的服务器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,强烈推荐!!!创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。