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