1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# AcmeX v0.7.0 深度实现方案
**版本**: v0.7.0-alpha
**日期**: 2026-02-08
**目标**: 打造生产就绪的 TLS 自动化管理中台
---
## 1. REST API 业务驱动化方案
目前的 API 层主要由桩代码 (Stub) 组成。v0.7.0 将进行如下改造:
### 1.1 异步任务编排集成
- **方案**: 当 `POST /api/orders` 被调用时,不直接阻塞等待证书签发。
- **实现**:
1. 初始化 `CertificateProvisioner`。
2. 调用 `tokio::spawn(async move { orchestrator.execute().await })`。
3. 立即返回 `202 Accepted` 以及一个任务 ID。
4. 用户通过 `GET /api/orders/:id` 轮询 `status()`。
### 1.2 增强错误穿透
- **方案**: 利用 `problem_details` 模块。
- **实现**: 在 Axum 的处理器中,捕获 `AcmeError` 并调用 `.to_problem_details().into_response()`。
---
## 2. 安全强化方案
### 2.1 动态 API Key 管理
- **方案**: 支持从配置文件或环境变量加载多个授权 Key。
- **路径**: `src/server/auth.rs`。
- **逻辑**: 修改 `api_key_auth` 中间件,使其从 `AppState` 中读取有效的 Keys 列表。
### 2.2 审计日志 (Audit Logging)
- **方案**: 结合事件审计系统。
- **实现**: 在每个关键写操作 (Create/Delete/Revoke) 成功后,调用 `EventAuditor` 记录操作者、时间、资源 ID。
---
## 3. 性能优化方案
### 3.1 Nonce Pool 预取调优
- **方案**: 实现智能补给算法。
- **实现**: 根据系统 QPS 动态调整 `NoncePool` 的 `min_size`。
### 3.2 证书链验证并发化
- **方案**: 多个证书文件的异步并行验证。
- **实现**: 使用 `tokio::join!` 或 `futures::future::join_all` 在 `CertificateChain` 中执行校验。
---
## 4. DNS 提供商完整性补全
### 4.1 物理清理逻辑补全
- **目标**: 确保所有 Provider 的 `delete_txt_record` 方法不仅是日志记录,而是真实的 API 调用。
- **重点提供商**: Huawei Cloud, CloudNS, Alibaba Cloud。
### 4.2 智能解析重试
- **方案**: 集成指数退避算法。
- **实现**: 修改 `Dns01Solver` 的轮询逻辑,当首选 DNS 服务器尚未同步记录时,延迟重试时间。
---
## 5. 指标与追踪 (Observability)
### 5.1 全链路追踪集成
- **工具**: `tracing-opentelemetry` + OTLP 导出器。
- **埋点**:
- ACME 请求往返时间。
- 挑战验证耗时分布。
- 数据库/存储后端延迟。
---
## 🚀 交付清单 (v0.7.0)
- [ ] [Critical] 真正的异部订单处理流程。
- [ ] [Critical] 实时 OCSP 状态监控。
- [ ] [Important] API Key 的生产级持有方案。
- [ ] [Important] 补全所有 DNS Provider 的 API 驱动代码。
- [ ] [Secondary] OTLP 监控面板预设。