HTTPS 免费证书实战:从 Let's Encrypt 申请到自动续期一次讲清


很多站长把网站部署上线之后,打开浏览器一看,地址栏还挂着一把"不安全"的锁。其实现在给网站配上 HTTPS 已经是零成本的事情——Let's Encrypt 免费证书完全够用,配合 Certbot 还能全自动续期,根本不用花钱去第三方买证书。这篇文章就按真实操作顺序,从申请前的准备讲起,到配置自动续期,把 HTTPS 一次讲清。

一、为什么你的网站必须上 HTTPS

先说结论:没有 HTTPS 的网站在今天几乎是"裸奔"状态,主要体现在三个方面:

一是浏览器信任问题。Chrome、Edge 等主流浏览器早已把 HTTP 页面标记为"不安全",用户在访问时会直接看到警告提示,网站的可信度大打折扣。

二是数据安全。HTTP 是明文传输,用户提交的密码、订单信息、个人资料在链路上都可以被中间人截获篡改,这是最根本的安全隐患。

三是功能限制。小程序、PWA、WebRTC、支付接口等很多功能都强制要求 HTTPS,搜索引擎对 HTTPS 站点也有一定的收录偏好。所以无论从安全还是从业务角度,上 HTTPS 都是必做的一步。

二、申请前的准备

在动手申请证书之前,先确认三件事,缺一不可:

第一,域名解析要生效。把域名 A 记录解析到你的 VPS 公网 IP,并且确认解析已经全球生效,可以在本地用 ping 或者在线工具验证。

第二,80 和 443 端口要放行。Let's Encrypt 的 HTTP 验证方式需要访问你的 80 端口,而 HTTPS 需要 443 端口,这两个端口必须在云厂商的安全组和服务器防火墙里都放行。

第三,确认 Web 环境。无论你用的是宝塔面板、LNMP 一键包,还是手动编译的 Nginx,都需要确认 Web 服务运行正常,且网站根目录可以正常访问。

三、用 Certbot 申请 Let's Encrypt 免费证书

申请证书最常用的工具是 Certbot,它是 Let's Encrypt 官方推荐的客户端。以 Debian/Ubuntu 系统为例,安装很简单:

第一步,安装 Certbot 及 Nginx 插件:sudo apt update && sudo apt install -y certbot python3-certbot-nginx

第二步,执行申请命令,Certbot 会自动识别 Nginx 配置并完成验证:sudo certbot --nginx -d 你的域名.com -d www.你的域名.com

执行过程中会要求填写接收到期提醒的邮箱,并选择是否将 HTTP 自动跳转到 HTTPS,按提示选择即可。签发成功后,Certbot 会显示证书存放路径和到期时间。

四、配置 HTTPS 站点

如果使用宝塔面板,操作更直观:在网站设置里找到 SSL 选项卡,选择 Let's Encrypt 并勾选域名,面板会自动申请并配置证书,同时可以一键开启强制 HTTPS 跳转。

如果是手动配置 Nginx,Certbot 在申请时已经自动修改了站点配置。你只需要在 server 块里确认以下几项:ssl_certificate 和 ssl_certificate_key 指向证书路径,listen 443 ssl; 监听 443 端口,再单独加一个 80 端口的 server 块做 301 跳转。配置完成后执行 nginx -t 检查语法,然后 reload 生效。

最后用浏览器访问 https://你的域名.com,确认地址栏出现小锁图标,说明 HTTPS 已经生效。

五、配置自动续期

Let's Encrypt 的证书有效期只有 90 天,手动续期很容易忘记,所以自动续期是必配项。Certbot 本身自带续期机制:

第一步,先测试续期命令是否正常:sudo certbot renew --dry-run

第二步,确认输出没有报错后,配置定时任务。Certbot 的安装包一般会在 /etc/cron.d 或 systemd timer 里自动创建续期任务,你可以用 crontab -e 加一条保险:0 3 * * * certbot renew --quiet --deploy-hook "nginx -s reload"

这样每天凌晨 3 点会自动检查,证书剩余不足 30 天时才真正续期,续期后自动重载 Nginx,全程无需人工干预。

六、常见问题排查

最后整理几个高频问题,遇到可以直接对照排查:

证书申请失败提示 80 端口不通?先检查安全组和防火墙是否放行 80 端口,再确认域名解析是否生效,用 curl -I http://你的域名.com 测试。

续期失败?多半是 HTTP 验证被拦截,检查是否开启了 CDN 且没放行 80 端口,或者防火墙误伤了验证请求。另外确认 nginx 配置里的 server_name 和证书域名一致。

证书到期没自动续?检查系统时间是否正确,再手动跑一次 certbot renew 看报错信息。

想要多域名通配证书?可以改用 --manual 模式配合 DNS 验证,申请 *.你的域名.com 的通配证书,但需要手动处理 DNS 记录,更适合进阶玩家。

总结

给网站配置 HTTPS,本质上就是三步:装好 Certbot、申请证书、配置自动续期。第一次配置完,后面基本可以做到完全免维护。免费证书到期自动续、浏览器小锁图标常驻、用户数据链路加密,这三件事一次搞定,网站的信任度和安全性都能上一个台阶。如果你还没有给自己的 VPS 站点配置 HTTPS,现在就可以动手了。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

-

宝塔面板安装与建站实战:从零搭建个人网站一次讲清

评 论