前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >certbot—30秒部署你的HTTPS,永久免费,自动续约

certbot—30秒部署你的HTTPS,永久免费,自动续约

作者头像
huolong
发布2023-09-13 08:05:12
6.2K0
发布2023-09-13 08:05:12
举报
文章被收录于专栏:技术指北

在之前我已经介绍过部署反向代理的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

  1. 执行安装命令 sudo snap install --classic certbot
  2. 设置软链接 sudo ln -s /snap/bin/certbot /usr/bin/certbot

到这里,certbot已经安装好了,简单介绍一下它的2个工作模式

  • sudo certbot --nginx 运行此命令获取证书,并让Certbot自动编辑您的nginx配置以提供证书,在一个步骤中打开HTTPS访问。
  • sudo certbot certonly --nginx 如果你感觉更保守,只需要证书。其他想手工修改nginx配置,运行这个命令。 在这里,我采用第一种方式。
  1. 接下来,我随便启动一个docker服务,比如IT工具站。让他映射出去端口。 docker run -d --name it-tools --restart unless-stopped -p 3420:80 corentinth/it-tools:latest 可以看到,通过IP+端口可以访问了。
  1. 这一步我们通过certbot配置反向代理。 vim /etc/nginx/conf.d/it.conf 然后输入
代码语言:javascript
复制
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;
   }
}
  1. 执行命令: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,强烈推荐!!!创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档