# HTTPDNS 主计划(V1.2 现行设计) ## 1. 目标 1. 构建独立的 HTTPDNS 管理闭环:集群、应用、域名、自定义解析、访问日志、运行日志、解析测试。 2. 方案以当前已确认的页面与交互为准,不保留历史分支设计。 3. 优先保证可运维、可灰度、可观测,先落地稳定版本。 ## 2. 信息架构(菜单) 1. 左侧 HTTPDNS 菜单顺序: - 集群管理 - 应用管理 - 访问日志 - 运行日志 - 解析测试 2. 不再保留独立“全局配置”菜单。 3. 不再保留独立“SDK接入引导”菜单。 ## 3. 核心设计约束 1. SNI 防护策略固定为“隐匿 SNI”(不提供 level1/level3、mask/empty切换入口)。 2. 服务入口按“集群服务域名”管理,不使用全局单入口。 3. 回源协议默认 HTTPS,不提供开关。 4. 域名校验默认开启,不在用户侧暴露开关。 5. 自定义解析先做精简版:不支持 SDNS 参数匹配。 ## 4. 集群管理 ### 4.1 集群列表 1. 字段:集群名称、服务域名、节点数、在线节点数、状态、操作。 2. 操作:节点列表、集群设置、删除集群。 ### 4.2 节点列表 1. 字段:节点名称、IP、CPU、内存、负载、状态、操作。 2. IP 列不展示“[下线]/[宕机]”附加标识。 ### 4.3 集群设置 1. 页面布局对齐智能DNS:左侧菜单 + 右侧配置区(`left-box with-menu` / `right-box with-menu`)。 2. 配置分组: - 基础设置 - TLS 3. 基础设置字段: - 集群名称 - 服务域名 - 默认解析 TTL(秒) - 降级超时容忍度(毫秒) - 节点安装根目录(默认 `/opt/edge-httpdns`) - 启用当前集群 - 默认集群(勾选) 4. TLS 配置: - 样式与交互对齐智能DNS TLS页 - 维护并绑定该集群服务域名使用的证书 - 保证节点回源链路为 HTTPS ## 5. 应用管理 ### 5.1 应用列表 1. 字段:应用名称、AppID、绑定域名数、状态、操作。 2. 操作:域名列表、应用设置、SDK集成、删除应用。 3. 删除应用页面交互风格对齐“删除集群”页面。 ### 5.2 应用设置 1. 页面布局对齐智能DNS设置页风格(左侧菜单 + 右侧配置区)。 2. 分组: - 基础配置 - 认证与密钥 3. 基础配置字段: - AppID(只读) - 主集群 - 备集群(可选) - 应用启用 - SNI 防护配置(文案展示:隐匿 SNI) 4. 认证与密钥字段: - 请求验签(状态展示 + 独立启停按钮 + 确认提示) - 加签 Secret(查看、复制、重置、最近更新时间) 5. 交互约束: - 强制 HTTPS 传输,不再提供独立“数据加密 Secret”配置项。 - 密钥操作区使用紧凑图标样式,减少视觉噪音。 ## 6. 域名管理与自定义解析 ### 6.1 域名管理 1. 页面采用框架标准顶部 tab + 面包屑样式。 2. 字段: - 域名列表 - 规则策略(仅展示数字,表示该域名规则数,可点击) - 操作(自定义解析、解绑) 3. 入口:在域名行操作中直接进入“自定义解析”。 ### 6.2 自定义解析(精简版) 1. 规则字段: - 规则名称 - 线路 - 解析记录值 - TTL - 状态 2. 线路联动: - 第一层:`中国地区` / `境外` - 中国地区:运营商 -> 大区 -> 省份 - 境外:洲 -> 国家/地区(亚洲内使用中国香港/中国澳门/中国台湾) 3. 解析记录: - 每条规则最多 10 条 - 支持 A / AAAA - 可开启权重调度 4. 不包含 SDNS 参数配置。 ## 7. 访问日志 1. 菜单与页面文案统一为“访问日志”(不再使用“解析日志”)。 2. 页面结构:筛选区与列表区分离,间距与智能DNS访问日志风格一致。 3. 列字段:集群、节点、域名、类型、概要。 4. 概要展示: - 使用单行拼接 - 按“访问信息 -> 解析结果”顺序 - 不显示字段名堆叠 ## 8. 运行日志 1. 字段与智能DNS运行日志保持一致。 2. 级别样式使用文字着色,不使用大块背景色。 ## 9. 解析测试 1. 去掉“API在线沙盒”标题与右侧等待占位图标区。 2. 解析配置区标题统一为“解析测试”。 3. 测试参数保留:目标应用、所属集群、解析域名、模拟客户端IP、解析类型(A/AAAA)。 4. 所属集群使用下拉框选择。 5. 解析域名使用下拉框选择(按当前目标应用联动展示)。 6. 去掉 SDNS 参数。 7. 结果区保留核心结果展示,参考阿里云风格的简洁结果布局。 ## 10. SDK 集成 1. SDK 集成不作为左侧独立菜单。 2. 在“应用管理”操作列进入 SDK 集成页。 3. 页面只保留: - SDK 下载 - 集成文档 4. 卡片与按钮采用紧凑布局,避免按钮区域拥挤。 ## 11. SDK 与服务端接口(现行) 1. 解析接口:`/resolve` - SDK 请求域名解析结果的主接口。 2. 启动配置接口:`/bootstrap`(规划/联调口径) - 用于 SDK 获取可用服务域名与策略参数(替代节点IP调度模式)。 3. SDK 地址策略:优先主集群服务域名,不可用时切备集群;失败后按客户端降级策略处理。 ## 12. 本文明确不包含 1. 不包含全局配置独立页面设计。 2. 不包含 SDK 接入向导独立菜单设计。 3. 不包含 SNI level1/level3、ECH 控制台、Public SNI 池分级配置。 4. 不包含 SDNS 参数匹配链路。 5. 不包含第三方 DNS 依赖与复用方案。