如何在搬瓦工 VPS 上部署 Let's Encrypt 免费 SSL 证书

文章导读
在搬瓦工 VPS 上部署 Let's Encrypt 证书最推荐通过 SSH 使用 Certbot 工具自动完成,适用于拥有独立域名且 80 端口开放的 Linux 服务器。操作前需确保域名 DNS 已解析至 VPS IP,否则验证会失败。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

在搬瓦工 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/