在搬瓦工 VPS 上部署 Let's Encrypt 证书最推荐通过 SSH 使用 Certbot 工具自动完成,适用于拥有独立域名且 80 端口开放的 Linux 服务器。操作前需确保域名 DNS 已解析至 VPS IP,否则验证会失败。
先说结论:使用 Certbot 客户端配合 Nginx 或 Apache 插件是成功率最高的方案。
- 适合:已有域名且能修改 DNS 解析的个人站长或企业测试环境
- 先看:服务器 80 端口是否未被防火墙拦截
- 建议:配置定时任务确保证书自动续期
命令速用版
以下命令适用于 Ubuntu/Debian 系统,CentOS 需调整包管理器命令。
apt update && apt install certbot python3-certbot-nginx certbot `--nginx` -d 你的域名.com
为什么会这样
Let's Encrypt 采用 ACME 协议验证域名所有权,Certbot 是电子前哨基金会(EFF)维护的官方推荐客户端。通过 HTTP-01 挑战时,证书机构会访问服务器 80 端口下的特定文件来确认控制权。
分步处理
第一步:解析域名。在域名服务商后台将 A 记录指向搬瓦工 VPS 的公网 IP,等待全球 DNS 生效。
第二步:安装 Certbot。登录 SSH,根据系统版本安装 Certbot 及对应的 Web 服务器插件。
第三步:获取证书。运行 certbot 命令,按提示输入邮箱并同意服务条款,工具会自动修改 Web 服务器配置。
第四步:设置续期。Certbot 安装后通常会自动创建 systemd 定时器或 cron 任务,需手动测试续期命令是否正常运行。
怎么验证是否生效
使用 curl 命令检查响应头,浏览器地址栏应显示锁形图标,且证书详情中颁发者为 Let's Encrypt。
curl -I https://你的域名.com
常见坑
防火墙拦截 80 端口会导致验证失败,搬瓦工后台安全组或系统内部 iptables/ufw 均需放行。频繁申请会触发速率限制,同一域名每周最多颁发 5 张证书,测试时建议使用 Staging 环境。
常见问题
证书过期了怎么办
Certbot 默认会自动续期,只需确保持有定时任务运行即可,无需手动干预。
支持通配符证书吗
支持,但必须使用 DNS-01 验证方式,需要配置域名服务商的 API 密钥。
搬瓦工面板能直接申请吗
部分旧版面板支持,但功能更新滞后,推荐直接在系统内部通过 SSH 部署以获得最新兼容性。
参考来源
- Let's Encrypt 官方文档:https://letsencrypt.org/
- Certbot 使用说明:https://certbot.eff.org/