HTML + Tailwind CSS + PHP

Let's Encrypt 证书申请/续签平台

使用 Let's Encrypt ACME v2 协议,默认采用 `HTTP-01` 的 DV 验证方式。证书申请成功后生成固定任务 ID, 后续用户可使用 `任务 ID + 申请邮箱 + 邮箱验证码` 完成验证,再以同一个任务 ID 发起续签。

本项目适合域名已解析到当前服务器、且 Web 根目录就是 `public` 的场景。

首次联调建议先选 `Staging`,确认流程通了再切 `Production`。

申请证书

支持单域名或多域名证书,多个域名用英文逗号或空格分隔。当前实现以 `HTTP-01` 挑战为主, 即 Let's Encrypt 会访问 `http://你的域名/.well-known/acme-challenge/令牌` 进行 DV 验证。

DV 验证说明:

  • 本项目当前实现的是 `HTTP-01`,它属于 DV 验证的一种。
  • 目标域名必须解析到部署此平台的服务器。
  • Web 服务器必须允许外部访问 `public/.well-known/acme-challenge/` 下的挑战文件。
  • 如果你要签发的是别的服务器上的域名,需要改造成 `DNS-01` 或对接 DNS API。

查询任务

输入任务 ID 后可查看证书状态、挑战信息、版本历史与日志。

验证并续签

使用任务 ID + 申请邮箱发送验证码。验证通过后,即可创建续签任务,原任务 ID 不变。 当前演示模式会把验证码写入 `storage/logs/mail.log`。