当前位置: 首页 > news >正文

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协议卡住啦!

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

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

http://www.cnnetsun.cn/news/48285.html

相关文章:

  • RuoYi-Vue终极指南:3步构建企业级Java应用系统
  • MOSES:重新定义药物发现中分子生成的基准测试
  • DeepSeek-Coder-V2:开源代码大模型的性能突破与行业影响
  • 代码解读dc
  • 网络安全需掌握的专业术语解析
  • 基于springboot + vue学生管理系统(源码+数据库+文档)
  • RPCS3多实例并行运行终极指南:突破单进程限制的完整解决方案
  • 告别瞎忙!16K星开源神器自动追踪时间
  • Inkscape在教学中的10个创新应用场景
  • 11.7亿参数挑战270亿模型性能:LFM2-1.2B-Extract重塑边缘智能文档处理
  • 从SyntaxError看Python交互式环境与脚本执行的差异
  • SeaTunnel终极指南:企业级数据集成完整解决方案
  • 微服务零风险发布:pig框架全链路灰度部署终极指南
  • 基于vue的大学生课堂考勤系统设计与实现_y72yw292_springboot php python nodejs
  • 基于vue的宠物健康档案信息管理系统_vxut6u52_springboot php python nodejs
  • 基于vue的旅游公司汽车租赁系统_g80v5wl4_springboot php python nodejs
  • 用AI优化音频处理:FXSound的智能增强技术解析
  • 列车售票|基于Java+ vue列车售票系统(源码+数据库+文档)
  • 需求可测试性分析Checklist:构建高质量软件测试的基石
  • 告别繁琐确认:AI如何提升操作效率
  • 视频处理性能瓶颈突破:ffmpeg-python管道化流式架构实战指南
  • 30分钟用LVM搭建弹性云存储原型
  • 鼠标手势革命:3分钟解锁10倍操作效率的终极指南
  • 1小时验证创意:用SenseVoice搭建语音控制智能家居原型
  • 腾讯HunyuanVideo提示词重写模型:让普通用户也能生成专业级视频的终极指南
  • AI如何帮你一键生成Xshell替代方案
  • 阿里:扩散模型强化学习框架d-TreeRPO
  • 33、商业技术管理中的外包、供应商管理与预算策略
  • 腾讯开源混元3D-Omni:四模态控制重构3D资产生产流程,效率提升10倍
  • 如何用AI自动生成天气API调用代码?快马平台3步搞定