FChao
发布于 2025-11-25 / 4 阅读
0
0

Let's Encrypt自动续签SSL证书

解决方案:使用 1Panel + Let's Encrypt + 阿里云 DNS API

你需要用到 1Panel 的 ACME 功能(自动化证书管理环境)。

准备工作:获取阿里云的 AccessKey

为了让 1Panel 能够证明“这个域名是你的”,它需要通过 API 自动去你的阿里云 DNS 里添加一条验证记录。

  1. 登录阿里云控制台。

  2. 进入 RAM 访问控制(不要直接用主账号的 Key,不安全)。

  3. 创建一个新用户(例如叫 1panel-ssl),勾选“OpenAPI 调用访问”(就是勾选开启AccessKey)。

  4. 给这个用户授权:搜索并添加 AliyunDNSFullAccess(管理云解析 DNS 的权限)。

  5. 保存好生成的 AccessKey IDAccessKey Secret

这里注意给用户RAM授权如果选错了会导致后续申请证书失败

操作步骤:在 1Panel 中配置

  1. 配置 DNS 账户

    • 打开 1Panel 面板 -> 左侧导航栏 “证书” -> 顶部 “DNS 账户”

    • 点击“创建 DNS 账户”。

    • 名称:随便填(比如 AliyunDNS)。

    • 类型:选择 “阿里云”

    • 填入你刚才获取的 AccessKey IDSecret -> 确认。

  1. 配置 ACME 账户

    • 切换到 “ACME 账户” 标签页。

    • 如果没有默认账户,创建一个。

    • 邮箱:填你的真实邮箱(证书快过期如果自动续期失败,Let's Encrypt 会发邮件提醒你)。

    • CA 服务商:默认 Let's Encrypt 即可(也可以选 ZeroSSL,Google 等,推荐 Let's Encrypt)。

  2. 申请证书(这是最后一次手动操作)

    • 切换到 “证书” 标签页 -> 点击 “申请证书”

    • 主域名:填你的域名(例如 example.com)。

    • 其他域名:如果你想要泛域名证书(即 *.example.com,支持所有二级域名),就在这里填 *.example.com

    • 验证方式:选择 “DNS 验证”(最推荐,支持泛域名,稳定性高)。

    • DNS 账户:选择第1步创建的 AliyunDNS

    • 自动续签必须勾选

    • 部署到网站:如果你已经在 1Panel 建好了网站,可以直接选上,申请成功后它会自动替换旧证书。

验证

  1. 在浏览器中查看证书颁发机构是否已修改

效果

  • 点击确认后,1Panel 会自动通过阿里云 API 添加一条 TXT 解析记录,验证成功后,Let's Encrypt 会下发证书。

  • Let's Encrypt 的证书有效期也是 90天

  • 关键点来了:1Panel 会每天运行定时任务。当它检测到证书还有 30 天过期(或更短)时,它会自动重复上述流程,申请新证书并替换旧证书,然后重启 Nginx。

补充知识

  • 免费证书 (DV - Domain Validation)

    • 验证方式:只验证**“你是否拥有这个域名的管理权”**(比如刚才你通过 API 加了一条 DNS 记录,证明域名是你的)。

    • 证书信息:点开浏览器的小锁头,证书里只会显示“域名”,不显示公司名称。

    • 含义:访客只知道“我正在访问 fchao.site”,但不知道这个网站背后是“张三”还是“李四”。

  • 企业付费证书 (OV - Organization / EV - Extended)

    • 验证方式:除了验证域名,CA 机构(发证方)还会人工审核企业的营业执照、打公司电话确认、查验物理地址。

    • 证书信息:点开小锁头,证书的“使用者”一栏里,会明确写着公司的全名(比如 Alibaba (China) Technology Co., Ltd.)。

    • 含义:访客可以确信“我正在访问的确实是阿里巴巴的官网,而不是一个长得很像的钓鱼网站”。

    • 比如 DigiCert 的 EV 证书通常带有 100 万美元以上的商业保险。如果因为 CA 机构的过错导致被伪造,企业可以索赔。这对银行、电商非常重要。

  • Let's Encrypt 是由一个叫 ISRG (Internet Security Research Group) 的非营利性组织运营的。

  • 主要赞助商:

    • Cisco (思科,网络设备巨头)

    • AWS (亚马逊云)

    • Chrome (谷歌浏览器)

    • Meta (Facebook)

    • Mozilla (火狐浏览器)

    • Microsoft (微软)

    • ...还有很多。

    为什么这些巨头愿意掏钱?

    • 谷歌/Chrome:为了推行“全网 HTTPS”,如果不把证书变免费,小网站永远买不起证书,谷歌的“安全互联网”愿景就无法实现。

    • AWS/云厂商:有了免费证书,更多人愿意建站、买云服务器。这是生态建设的一部分。

    • 降低成本:这些大厂自己内部也有海量域名需要管理,支持 Let's Encrypt 发展出自动化协议(ACME),也能帮他们自己省下巨额的内部管理成本。

  • 现在很多其他机构也支持 ACME 协议了。

    ZeroSSL:另一家免费证书提供商,支持 ACME。

    Google Trust Services:谷歌自家的 CA,现在也免费对外开放 ACME 申请。

    BuyPass:挪威的一家 CA,也免费。


评论