真实账号测试指南
阿里云 ESA 部署、ESA 边缘应答与 Namecheap SSL Manager 目前仅通过替身接口测试,参见服务商支持与测试情况。本指南以下述场景为例,说明使用真实账号逐项验证的步骤、各步骤的预期结果以及失败时需要记录的信息:
- 网站托管于阿里云 ESA;
- DNS 解析托管于腾讯云 DNSPod;
- 证书购自 Namecheap。
仅使用免费证书时,完成第 1 至 4 步即可。
准备工作
- 按快速开始部署 JEC。
deploy/docker-compose.yml默认使用最新测试版(镜像标签beta);已部署时,在docker-compose.yml所在目录执行docker compose pull && docker compose up -d更新(参见升级)。设置页“关于”中的版本应不低于0.1.0-alpha.6。 - 建议在“通知”页添加通知渠道(如 Telegram 或邮件),以便及时获知签发与部署结果;Namecheap 的签发可能需要一天左右。
- 所有密钥仅在 JEC 界面中填写,不得写入文件、截图或聊天记录。
1. 创建访问密钥
| 平台 | 操作 | 所需权限 |
|---|---|---|
| 阿里云 | 在 RAM 访问控制中创建子账号及 AccessKey | esa:ListSites、esa:ListCertificates、esa:SetCertificate、esa:DeleteCertificate;使用边缘应答时另需 esa:*Kv* 与 esa:*Routine*(明细见 PLAN.md 5.4) |
| 腾讯云 | 在访问管理(CAM)中创建子用户及 API 密钥 | QcloudDNSPodFullAccess |
在“凭据”页分别添加“阿里云 AccessKey”与“腾讯云 API 密钥”。也可在后续添加服务商时选择“新建凭据”,所填密钥将自动保存为凭据。
2. 添加部署目标:阿里云 ESA
- 在“部署目标”页选择“添加部署目标”→“阿里云 ESA 站点”。
- 凭据选择阿里云凭据,接入点选择中国站(
esa.cn-hangzhou.aliyuncs.com),站点填写 ESA 中的站点名称。 - 保存后选择“测试连接”。
预期结果:提示连接正常,并显示站点现有的证书数量。如提示权限不足或站点不存在,请记录界面提示与日志中的错误码。
免费版站点最多容纳 2 张自定义证书,JEC 只删除自己部署过的证书。如站点现有证书数量已为 2,请先在 ESA 控制台删除一张不再使用的证书,否则首次部署将因证书已满而失败。
3. 添加验证方式:DNSPod
- 在“域名验证”页选择“添加验证方式”,搜索“Tencent Cloud DNS”,凭据选择腾讯云凭据。
- 保存后选择“测试连接”。
预期结果:提示连接正常,并列出该账号可管理的域名,其中应包含待测域名。
4. 签发免费证书
- 在“证书来源”页添加“ACME 账号”,证书颁发机构选择 Let's Encrypt。
- 在“证书”页添加证书:域名填写 ESA 站点下的域名,证书来源选择上述 ACME 账号,验证方式选择 DNSPod,部署目标选择 ESA。
- 签发进度页依次记录下单、添加 TXT 记录、CA 验证与下载证书等步骤;签发完成后,证书自动部署至 ESA。
- ESA 控制台的证书列表中应出现一张名称以
jec-开头的证书。在证书详情页选择“立即签发”再签发一次后,上一张证书应被删除,免费版站点的 2 个证书位置不会被占满。 - 数分钟后,证书详情页的“线上检查”应显示新证书。
- (可选)验证吊销:线上检查显示新证书后,在证书详情页的“历史版本”中,对标有“被替换”的上一版选择“吊销”,原因选择“已有新证书取代它”,输入密码后确认。预期结果:该版本下显示“……吊销:已有新证书取代它”。吊销无法撤销,JEC 也不允许吊销正在使用的版本。
如有失败,请完整复制签发进度页或部署记录页的日志(日志中不含密钥),并记录 ESA 控制台中的相应状态。
5. ESA 边缘应答(可选)
- 在“域名验证”页添加“ESA 边缘应答”,凭据选择阿里云凭据,“用来测试的域名”填写 ESA 站点下的一个域名,然后选择“测试连接”。
- 首次测试会自动创建边缘 KV 命名空间
jec_validation、边缘函数jec-validation以及站点上/.well-known/的路由,可能需要一至两分钟。如测试超时,请稍后重试。 - 测试通过后,可另行添加一张证书,并选择“ESA 边缘应答”作为验证方式(ACME 将使用 HTTP-01)。
请记录:边缘函数与路由是否出现在 ESA 控制台、测试耗时以及报错信息。
6. Namecheap SSL Manager
- 在“模块”页启用 Namecheap 模块(标有“实验”)。
- 在 Namecheap 控制台激活或重签 PositiveSSL 证书时选择 Server-side automation,复制所提供的一次性令牌(有效期 24 小时,仅可使用一次)。
- 在“证书来源”页添加“Namecheap SSL Manager”并填写一次性令牌,保存后立即选择“测试连接”,以完成注册。
- 添加证书:域名填写该证书的域名(仅支持单域名证书),证书来源选择 Namecheap,验证方式选择“ESA 边缘应答”(或网站目录、JEC 自行应答);如 Namecheap 要求 DNS 验证,则选择 DNSPod。
- 签发进入“等待来源”状态,每 5 分钟查询一次 Namecheap 的订单状态,完成可能需要数小时至一天。
以下信息只能通过真实账号确认(参见 PLAN.md 5.6),请留意日志中的相关内容:
- 注册后 JEC 能看到账户中的哪些证书:仅为选择了 Server-side automation 的证书,还是全部证书。
- 提交验证后、证书签发前,日志中“Namecheap 上的状态”的取值。
- Namecheap 采用 HTTP 文件验证还是 DNS 验证;若为 DNS 验证,记录名为完整域名还是相对名称。
- 是否出现“CSR 不是这次签发提交的”“尚无证书”等等待提示。
- 下一张证书(200 天后)是否需要重新获取令牌注册。
7. 反馈内容
请提供:
- 每一步的结果(成功或失败)及界面提示;
- 失败步骤的完整日志(复制自签发进度页或部署记录页);
- 出错时间前后的服务端日志:Docker 部署执行
docker logs jec,systemd 服务执行journalctl -u jec。Namecheap 刷新令牌失败等后台错误只记录在这里; - Namecheap 的状态名称及 ESA 控制台中的变化。
请勿提供:AccessKey、API 密钥、一次性令牌、数据目录中的 secret.key 以及数据库文件。