当前位置:首页>Linux>别再手动续期了!腾讯云Linux一键部署永久免费SSL证书(附避坑指南)

别再手动续期了!腾讯云Linux一键部署永久免费SSL证书(附避坑指南)

  • 2026-10-11 07:55:34
别再手动续期了!腾讯云Linux一键部署永久免费SSL证书(附避坑指南)

作者:12年OTA公司资深程序员适合人群:个人站长、全栈开发者、DevOps初学者


🎯 引言:为什么你的网站必须上 HTTPS?

在如今的互联网环境中,HTTPS 早已不是“可选项”,而是网站的“标配”:

  • 🔒 数据安全:保障用户数据传输安全,防止中间人攻击。
  • 🏆 信任背书:浏览器地址栏的“小绿锁”能显著提升用户信任度。
  • 🚀 SEO 优化:搜索引擎(如 Google、百度)对 HTTPS 站点有排名加权。
  • 📝 合规要求:国内域名备案及小程序开发均强制要求 HTTPS。

对于个人站长或小型项目,我们完全没必要花冤枉钱买商业证书。Let’s Encrypt 提供的免费证书配合 Certbot 工具,不仅能实现全自动申请,还能自动续期,彻底解决“每3个月手动换证书”的烦恼。

本文基于 腾讯云 Ubuntu 22.04 LTS + Nginx 环境,带你从零开始,避开所有坑,一次性搞定 HTTPS 自动化部署。


💡 一、市面上有哪些靠谱的免费 SSL 证书?

在开始实操前,我们先盘点一下主流方案,方便你根据需求选择:

证书品牌
有效期
自动续期
特点
推荐指数
Let's Encrypt
90天
✅ 支持
全球最流行,开源免费,工具链成熟(Certbot)
⭐⭐⭐⭐⭐
ZeroSSL
90天
⚠️ 需配置
提供 Web 界面管理,兼容性好
⭐⭐⭐
云厂商免费版
3个月
❌ 不支持
申请简单,但需手动下载替换,易过期
⭐⭐
Cloudflare SSL
永久
✅ 自动
CDN 边缘加密,无需在源站配置
⭐⭐⭐⭐
Buypass Go SSL
180天
✅ 支持
挪威 CA 颁发,有效期较长
⭐⭐⭐

💡 为什么本文首选 Let's Encrypt?虽然腾讯云控制台也提供免费证书,但必须手动续期。一旦忘记,网站就会报“不安全”。而 Let's Encrypt 配合 Certbot 可以实现全自动静默续期,真正做到了“一次配置,终身无忧”。


云厂商免费版的SSL证书,对于负载均衡和对象存储COS是可以一键托管,自动续期,但是对于Linux服务器,还是需要单独下载证书,上传到服务器上

🛠️ 二、前期准备(3个核心条件)

  1. 服务器
    :腾讯云 Ubuntu 服务器(22.04 LTS),已安装 Nginx。
  2. 域名
    :已完成 ICP 备案(国内服务器必需),且解析指向服务器公网 IP。
  3. 权限
    :拥有 root 或 sudo 权限,且服务器能正常访问外网。

🚀 三、核心操作流程(分步实操)

Step 1: 更新系统软件包

确保后续安装的工具是最新版本,避免兼容性问题:

sudo apt updatesudo apt upgrade -y

Step 2: 安装 Certbot 及 Nginx 插件

Certbot 是官方推荐的自动化工具。

⚠️ 踩坑预警:包名变了!很多旧教程会教你运行 sudo apt install python-certbot-nginx,但在 Ubuntu 20.04/22.04 上这会报错!因为 Python 默认版本已升级为 Python3。

✅ 正确命令请直接复制:

sudoaptinstall certbot python3-certbot-nginx -y

安装完成后,输入 certbot --version 看到版本号即表示成功。

Step 3: 一键申请并配置证书

Certbot 最强大的地方在于它能自动修改 Nginx 配置文件。执行以下命令:

sudo certbot --nginx-d yourdomain.com -d www.yourdomain.com

(请将 yourdomain.com 替换为你的实际域名)

交互过程说明:

  1. 输入邮箱(用于接收紧急通知)。
  2. 同意服务条款(输入 Y)。
  3. 选择是否强制跳转 HTTPS(强烈建议选择 2:Redirect,将所有 HTTP 请求自动转为 HTTPS)。

等待片刻,出现 Congratulations! 提示即表示成功。证书文件默认存储在 /etc/letsencrypt/live/你的域名/ 目录下。

Step 4: 放行端口(双重保险)

如果证书申请成功但浏览器无法访问,通常是端口没开。你需要检查两层防火墙:

1. 腾讯云安全组(外部防线)

登录腾讯云控制台 -> 云服务器 -> 安全组 -> 入站规则:

  • 协议端口
    :TCP:80,443
  • 来源
    :0.0.0.0/0
  • 策略
    :允许

2. Ubuntu UFW 防火墙(内部防线)

在终端执行:

sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw reload

Step 5: 验证与自动续期测试

  1. 浏览器验证
    :访问 https://你的域名.com,查看是否有“小绿锁”。
  2. 续期模拟测试
    :Let's Encrypt 证书有效期为 90 天,Certbot 会自动续期。你可以运行以下命令模拟测试:
    sudo certbot renew --dry-run
    若输出 Congratulations, all simulated renewals succeeded.,说明自动续期功能完美运行。

❓ 四、实战避坑指南(常见问题 Q&A)

Q1: 提示 "Could not bind to port 80" 怎么办?

原因:80 端口被其他程序(如 Apache 或另一个 Nginx 进程)占用了。解决:停止占用端口的服务,或者先临时关闭 Nginx (sudo systemctl stop nginx),申请完证书后再启动。

Q2: 浏览器显示“不安全”或连接超时?

排查顺序:

  1. 检查腾讯云安全组是否放行了 443 端口。
  2. 检查 UFW 防火墙状态 (sudo ufw status)。
  3. 检查 Nginx 配置是否正确 (sudo nginx -t)。

Q3: 自动续期失败了怎么办?

解决:查看日志定位原因:

sudocat /var/log/letsencrypt/letsencrypt.log

通常是因为 80 端口在续期那一刻被占用,或者服务器网络无法访问 Let's Encrypt 的验证服务器。


📊 五、总结与建议

对于腾讯云 Ubuntu 用户,Let's Encrypt + Certbot 是目前性价比最高、维护成本最低的 HTTPS 方案。

核心要点回顾:

  1. 安装包名要用 python3-certbot-nginx。
  2. 记得在腾讯云控制台和系统内部同时放行 80/443 端口。
  3. 务必运行 --dry-run 确认自动续期功能正常。

写在最后:如果你也是个人开发者或站长,建议花 10 分钟完成这个配置,从此告别半夜收到“证书即将过期”的焦虑邮件。

觉得有用,请点个「在看」或「转发」,让更多开发者少走弯路!🚀


如果你觉得这篇文章有帮助,欢迎分享给更多开发者! ✨

最新文章

随机文章