[moz] docs(§98): CloudCLI 外网部署与 VPS 服务暴露规范 #127

Merged
jiangwei-infra merged 1 commits from docs/98-cloudcli-external-deployment into main 2026-06-24 23:27:54 +00:00
Member

内容

CloudCLI 外网部署完整记录,包含:

  • 架构设计(FRP + Caddy)
  • 配置详情(DNS / frpc / Caddy)
  • ⚠️ 关键教训:腾讯云防火墙不需要开后端端口
  • 添加新外网服务的标准流程

关键教训

配置完成后误以为需要开放腾讯云防火墙 13001 端口。实际上 Caddy 反代走 127.0.0.1 本地回环,不需要对外开放后端端口。此规则适用于所有通过 Caddy 反代的服务。

验收

  • 文档内容完整
  • 关键教训记录清晰
  • 标准流程可复现
## 内容 CloudCLI 外网部署完整记录,包含: - 架构设计(FRP + Caddy) - 配置详情(DNS / frpc / Caddy) - ⚠️ 关键教训:腾讯云防火墙不需要开后端端口 - 添加新外网服务的标准流程 ## 关键教训 配置完成后误以为需要开放腾讯云防火墙 13001 端口。实际上 Caddy 反代走 `127.0.0.1` 本地回环,不需要对外开放后端端口。此规则适用于所有通过 Caddy 反代的服务。 ## 验收 - [x] 文档内容完整 - [x] 关键教训记录清晰 - [x] 标准流程可复现
claude_dev added 1 commit 2026-06-24 23:25:14 +00:00
simayi-challenger approved these changes 2026-06-24 23:26:41 +00:00
simayi-challenger left a comment
Member

审查结论: Approve

风险级别:低(纯文档 PR,docs/*.md)

确认项

  • 架构链路描述正确:外网 → HTTPS → VPS Caddy → FRP 隧道 → Mac Mini CloudCLI
  • §4 防火墙教训逻辑正确:Caddy reverse_proxy 到 127.0.0.1 走本地回环,不需在腾讯云防火墙开放后端端口
  • 服务清单(§5)三组服务端口/域名对应关系一致
  • 无硬编码密钥/Token
  • 文档结构清晰,含架构图、配置详情、教训记录、标准流程

⚠️ 建议改(不阻断合并)

S1. [§3.4: 绑定地址] CloudCLI 绑定 0.0.0.0:3001 可收敛
→ frpc 连接目标是 127.0.0.1:3001(§3.2),CloudCLI 绑定 0.0.0.0 意味着 LAN 设备也能直接访问 3001 端口。虽然影响有限(局域网内),但建议绑定 127.0.0.1:3001 更符合最小暴露原则。

S2. [§5: 服务清单] Gitea 内网目标 IP 与其他两项不同,缺少注释
→ OpenClaw 和 CloudCLI 内网目标是 127.0.0.1,Gitea 是 192.168.2.154:3000(NAS LAN IP)。这是因为 Gitea 运行在 NAS 上而非 Mac Mini,frpc 跨机连接。建议在表格下方加一行注释说明差异原因,避免读者困惑。

S3. [§7: 安全说明] 建议强化公网暴露的安全建议
→ 当前方案仅依赖 CloudCLI 自带账号密码认证作为唯一安全层,服务直接暴露在公网。文档虽提到了可加 Caddy Basic Auth 或 IP 白名单,但作为 optional 建议。建议改为 🟡 级别推荐:生产环境至少配置 IP 白名单或 Caddy Basic Auth 作为第二层防护。

🟢 小问题

P1. [§2: 架构图] frps → frpc 箭头方向
frps :7000 ↓ FRP 隧道 Mac Mini frpc 中 ↓ 暗示数据流方向是 VPS→Mac Mini,但 FRP 隧道是双向的。不影响理解,可保持。


总结 必修 建议 小问题 风险级别
通过 0 3 1
## 审查结论:✅ Approve **风险级别**:低(纯文档 PR,docs/*.md) ### ✅ 确认项 - [x] 架构链路描述正确:外网 → HTTPS → VPS Caddy → FRP 隧道 → Mac Mini CloudCLI - [x] §4 防火墙教训逻辑正确:Caddy reverse_proxy 到 127.0.0.1 走本地回环,不需在腾讯云防火墙开放后端端口 - [x] 服务清单(§5)三组服务端口/域名对应关系一致 - [x] 无硬编码密钥/Token - [x] 文档结构清晰,含架构图、配置详情、教训记录、标准流程 ### ⚠️ 建议改(不阻断合并) **S1. [§3.4: 绑定地址] CloudCLI 绑定 `0.0.0.0:3001` 可收敛** → frpc 连接目标是 `127.0.0.1:3001`(§3.2),CloudCLI 绑定 `0.0.0.0` 意味着 LAN 设备也能直接访问 3001 端口。虽然影响有限(局域网内),但建议绑定 `127.0.0.1:3001` 更符合最小暴露原则。 **S2. [§5: 服务清单] Gitea 内网目标 IP 与其他两项不同,缺少注释** → OpenClaw 和 CloudCLI 内网目标是 `127.0.0.1`,Gitea 是 `192.168.2.154:3000`(NAS LAN IP)。这是因为 Gitea 运行在 NAS 上而非 Mac Mini,frpc 跨机连接。建议在表格下方加一行注释说明差异原因,避免读者困惑。 **S3. [§7: 安全说明] 建议强化公网暴露的安全建议** → 当前方案仅依赖 CloudCLI 自带账号密码认证作为唯一安全层,服务直接暴露在公网。文档虽提到了可加 Caddy Basic Auth 或 IP 白名单,但作为 optional 建议。建议改为 🟡 级别推荐:生产环境至少配置 IP 白名单或 Caddy Basic Auth 作为第二层防护。 ### 🟢 小问题 **P1. [§2: 架构图] frps → frpc 箭头方向** → `frps :7000 ↓ FRP 隧道 Mac Mini frpc` 中 ↓ 暗示数据流方向是 VPS→Mac Mini,但 FRP 隧道是双向的。不影响理解,可保持。 --- | 总结 | 必修 | 建议 | 小问题 | 风险级别 | |------|------|------|--------|----------| | 通过 | 0 | 3 | 1 | 低 |
jiangwei-infra merged commit 1d539f4f58 into main 2026-06-24 23:27:54 +00:00
jiangwei-infra deleted branch docs/98-cloudcli-external-deployment 2026-06-24 23:27:55 +00:00
Sign in to join this conversation.