news 2026/9/2 14:20:22

5分钟搞定HTTPS!Certbot免费SSL证书配置全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟搞定HTTPS!Certbot免费SSL证书配置全指南

5分钟搞定HTTPS!Certbot免费SSL证书配置全指南

有没有遇到过这样的情况:自己搭建的网站打开后,浏览器地址栏显示“不安全”,访客一看就不敢继续浏览;或者做小程序开发时,要求后端接口必须是HTTPS协议,卡在这里迟迟推进不了?

其实解决这个问题很简单,只需要一个SSL证书就行。今天就给大家分享一个免费又好用的工具——Certbot,手把手教你从安装到配置,5分钟搞定HTTPS,让你的网站安全又专业!

一、先搞懂:Certbot是什么?

Certbot 是一款由电子前哨基金会(EFF)开发的免费开源工具,专门用于自动获取、安装和续期 Let’s Encrypt 提供的免费SSL证书。

重点划一下:

  • 免费:全程零成本,不用花一分钱买证书

  • 自动:证书申请、安装、续期全自动化,不用手动操作

  • 通用:支持Nginx、Apache等主流服务器,兼容性拉满

小知识:Let’s Encrypt 是一个公益性质的证书颁发机构(CA),目的是推动整个互联网都使用HTTPS,让网络更安全~

二、准备工作:3个前提要满足

在开始之前,先确认你已经做好了这些准备,避免中途卡壳:

  1. 拥有一台云服务器(比如阿里云、腾讯云、华为云等),系统推荐CentOS、Ubuntu(本文以Ubuntu为例)

  2. 已经购买了域名,并且将域名解析到了你的服务器IP(解析后可以用ping命令测试是否生效)

  3. 服务器上已经安装了Web服务器(Nginx或Apache,本文以Nginx为例)

如果还没安装Nginx,参考往期:Linux系统安装Nginx超详细教程!

三、实操步骤:从安装到配置,一步到位

步骤1:安装Certbot

Ubuntu系统直接执行以下命令安装Certbot和Nginx插件(插件用于自动配置Nginx):

#更新软件源sudoaptupdate#安装certbotsudoaptinstall-y certbot#安装 Certbot 及 Nginx 插件sudoaptinstall-y python3-certbot-nginx

安装完成后,输入certbot --version,如果能显示版本号,说明安装成功啦!

步骤2:申请并自动配置SSL证书

这是最核心的一步,只需要一条命令就能搞定,跟着做就行:

sudocertbot --nginx -d 你的域名

比如你的域名是example.com,就输入:

sudocertbot --nginx -d example.com

如果想给www和非www版本都配置证书,可以这样写:

sudocertbot --nginx -d example.com -d www.example.com

执行命令后,会出现几个交互步骤,一步步选就行:

  1. 输入邮箱:用于接收证书到期提醒(一定要填正确,避免证书过期忘记续期)

  2. 同意服务条款:输入A并回车

  3. 是否共享邮箱:输入N并回车(不想接收EFF的邮件就选N)

  4. 确认域名:如果显示的域名正确,直接回车即可

  5. 选择HTTP跳转HTTPS:输入2并回车(这样访问HTTP会自动跳转到HTTPS,更安全)

当屏幕显示“Successfully obtained certificate”时,就说明证书申请成功,并且已经自动配置到Nginx里了!

步骤3:验证是否生效

打开浏览器,在地址栏输入你的域名(注意要加https://),比如https://example.com

如果地址栏出现小绿锁,就说明HTTPS配置成功啦!🎉

如果没出现绿锁,大概率是服务器防火墙没开放443端口(HTTPS默认端口),去你的云服务器控制台,在安全组里放行443端口即可。

步骤4:设置自动续期(关键!避免证书过期)

Let’s Encrypt的证书有效期只有90天,不过Certbot可以自动续期,我们只需要设置一个定时任务就行。

执行以下命令,添加定时任务:

sudocrontab-e

如果是第一次打开,会让你选择编辑器,输入2(用nano编辑器)并回车。

在文件末尾添加一行内容:

001* *sudocertbot renew --quiet

添加完成后,按Ctrl+O保存,再按Ctrl+X退出。

这个定时任务的意思是:每月1号的0点0分,自动执行续期命令,–quiet参数表示静默执行,不会输出多余信息。

可以执行sudo certbot renew --dry-run测试一下续期是否正常,如果显示“Congratulations, all simulated renewals succeeded.”,说明定时任务没问题~

四、常见问题:遇到这些问题不用慌

1. “E: 无法定位软件包 python3-certbot-nginx” 无法安装插件问题

原因:说明你的系统软件源里没有 Certbot Nginx 插件的包,需要先配置正确的软件源。

解决:执行以下命令一步步配置正确的源(适用于 Debian 10+/Ubuntu 18.04+)

# 安装必要的依赖包sudoaptupdatesudoaptinstall-y software-properties-common# 添加 Certbot 官方 PPA 源(Ubuntu 系统)sudoadd-apt-repository ppa:certbot/certbot -y# 如果是 Debian 系统(非 Ubuntu),执行以下命令替代上面的 add-apt-repository:# wget https://dl.eff.org/certbot-auto# chmod a+x certbot-auto# sudo mv certbot-auto /usr/local/bin/# 更新软件源(添加 PPA 后必须执行)sudoaptupdate# 安装 Certbot 及 Nginx 插件sudoaptinstall-y certbot python3-certbot-nginx# 检查已安装的插件certbot plugins

如果输出中能看到 nginx 插件(如下),说明安装成功:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * nginx Description: Nginx Web Server plugin Interfaces: Installer, Authenticator, Plugin Entry point: nginx=certbot_nginx.configurator:NginxConfigurator

2. 执行申请命令时,提示“Could not find a virtual host listening on port 80”

原因:Nginx没有配置对应域名的虚拟主机。

解决:先在Nginx的sites-available目录下创建虚拟主机配置文件,比如:

sudonano/etc/nginx/sites-available/example.com

添加以下内容(替换成你的域名):

server { listen 80; server_name example.com; location /{ root /var/www/html; index index.html index.htm; } }

然后创建软链接并重启Nginx:

sudoln-s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/sudonginx -t# 测试配置是否正确sudosystemctl restart nginx

3. 浏览器显示“证书无效”

原因:域名解析没生效,或者证书申请时域名填错了。

解决:先确认域名解析是否正确(ping域名看是否指向服务器IP),再检查申请命令里的域名是否和解析的一致。

4. 续期失败

原因:定时任务没设置对,或者服务器时间不对。

解决:重新检查定时任务配置,或者手动执行sudo certbot renew续期。如果是时间问题,执行sudo timedatectl set-ntp true同步时间。

五、总结

用Certbot配置HTTPS其实很简单,核心就3步:安装Certbot → 一条命令申请配置证书 → 设置自动续期。全程不用懂复杂的SSL原理,新手也能轻松搞定。

有了HTTPS,你的网站不仅更安全,还能提升访客信任度,做小程序、公众号开发也不会被HTTPS协议卡住啦!

如果操作过程中遇到问题,欢迎在评论区留言,我会尽力帮大家解答~

最后,别忘了关注、收藏、点赞、转发四连,给我一点创作动力呀!❤️

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:18:20

MySQL运维篇——分库分表和读写分离

分库分表数据分散存储垂直分库:以表为依据,根据业务将不同表拆分到不同库;特点:每个库表结构不同,数据也不同,并集是全量数据;垂直分表:以字段为依据,根据字段属性将一张…

作者头像 李华
网站建设 2026/9/2 21:26:10

基于Java + vue学生管理系统(源码+数据库+文档)

学生管理 目录 基于springboot vue学生管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue学生管理系统 一、前言 博主介绍&am…

作者头像 李华
网站建设 2026/9/2 19:48:13

离谱!加了一个 @NotNull,接口竟然返回两条重复报错?

问题现象 有个项目新增了一个接口,这个接口的请求参数里面定义了一个字段,这个字段使用了 NotNull 注解修饰,同时这个对象上使用了 Lombok 的 Data 注解修饰。然后调用这个接口的时候提示信息有重复的。如下图所示:问题复现 首先定…

作者头像 李华
网站建设 2026/9/2 19:27:45

GLM-4.6技术深度解析:智能体系统与代码生成能力的重大突破

GLM-4.6技术深度解析:智能体系统与代码生成能力的重大突破 【免费下载链接】GLM-4.6 GLM-4.6在GLM-4.5基础上全面升级:200K超长上下文窗口支持复杂任务,代码性能大幅提升,前端页面生成更优。推理能力增强且支持工具调用&#xff0…

作者头像 李华
网站建设 2026/9/2 19:07:17

Markdown幻灯片制作终极指南:从入门到精通

Markdown幻灯片制作终极指南:从入门到精通 【免费下载链接】marp The site of classic Markdown presentation writer app 项目地址: https://gitcode.com/gh_mirrors/ma/marp 还在为制作精美幻灯片而烦恼吗?🤔 每次打开传统演示软件都…

作者头像 李华
网站建设 2026/9/2 15:39:52

AltStore:解锁iOS应用安装的全新体验

AltStore:解锁iOS应用安装的全新体验 【免费下载链接】AltStore AltStore is an alternative app store for non-jailbroken iOS devices. 项目地址: https://gitcode.com/gh_mirrors/al/AltStore 你是否曾经因为App Store的限制而无法安装某些实用应用&…

作者头像 李华