# VTY 品牌域名防护 · 产品方案 PRD

| 字段 | 内容 |
|------|------|
| 文档类型 | **产品方案**（不含技术实现细节） |
| 文档版本 | **v1.3** |
| 修订日期 | 2026-09-03 |
| **本次范围** | **仅品牌域名 · PC / H5**；**不涉及 App、不涉及分享域名** |
| 线上评审 | [index.html](./index.html) · [流程截图](./flow/) · [PRD.html](./PRD.html) · [产品定案](./PRD.html#part11) · [开发清单](./dev/) |

> **说明：** 本文档仅描述 **产品需求、流程、判断逻辑与验收标准**。接口、加密、SDK、部署等 **由技术团队自行设计**，不在本文范围。

> **范围（必读）：** 本文 **只** 规范用户通过 **品牌域名** 在 **PC 浏览器 / H5 浏览器** 进入主站的流程。**App 客户端** 与 **分享域名**（分享短链、分享落地域等）**均不在本文范围**，维持现网，不做产品变更。

---

<a id="part1"></a>

# 一、需求背景

## 1.1 为什么要做

VTY 对外使用 **品牌域名**（如 `winbet.com`）投放广告、口碑与物料。真正承载业务的是 **可轮换的主站域名**（如 `play-*.com`），会因区域封锁、投诉、扫描等原因失效。

**现网问题（以 vty.vip 为参考）：**

| 现象 | 影响 |
|------|------|
| 中国部分区域成功进入约 **75%** | 约 1/4 用户进不了首页 |
| 品牌域曾暴露或与业务强绑定 | 易被举报/扫描，**品牌域被标危险或无法访问** |
| 跳转目标写死 | 单主站挂则入口全挂 |
| 用户/爬虫可直接看到业务特征 | 加速封禁 |

## 1.2 产品目标

1. **品牌域干净**：用户与监管扫描品牌域时，**看不到**登录、钱包、赛事等业务页。  
2. **落地判定**：在 **落地中间域** 完成 **风控判定**（黑名单 / 刷机 / 脚本等，§3.3.1）；**不通过则在落地域拦截**，不进入主站。  
3. **动态主站**：判定通过后，下发 **加密的、最多 3 条** 可用主站域名；客户端 **探活后进入** 第一条可用域。  
4. **主站可换、品牌不换**：主站域被封可切换；**品牌域尽量不因连带被标危险**。

## 1.3 成功指标（产品 KPI）

| 指标 | 基线（vty.vip） | 目标 |
|------|-----------------|------|
| 中国区经 **品牌链** 成功进入首页 | ~75% | **≥88%**（稳定 30 天） |
| 品牌域首跳可打开（301 到落地域） | ~80～85% | **≥95%** |
| 落地域 Loading → 跳转主站 **P95** | — | **≤5 秒**（§11.3） |
| 7 日内品牌域因 **内容/举报** 失效 | 有发生 | **0 次** |

> **88% 口径、探活定义、备用机制、参数继承、埋点定位** 见 **[十一、产品定案](#part11)**（评审必读）。

---

<a id="part2"></a>

# 二、需求边界

## 2.0 范围一句话

**只涉及品牌域名（PC + H5）；不涉及 App；不涉及分享域名。**

## 2.1 本次包含（In Scope）

| 范围 | 说明 |
|------|------|
| **品牌域名 · PC 浏览器** | 用户访问品牌 URL 的完整流程（见 [流程截图](./flow/)） |
| **品牌域名 · H5 浏览器** | 与 PC **同一套逻辑**，仅布局适配移动端 |
| **运维 301** | 品牌域 **仅** 跳转到 **落地域**（产品规则，运维执行） |
| **落地域产品行为** | 风控判定（黑名单 / 刷机 / 脚本）、下发加密动态主站列表、探活、进入主站 |
| **落地域异常提示** | 判定失败在 **落地域** 展示（空页 / Loading / 全屏），**不暴露主站域名** |
| **主站进入后** | 使用现有 **主站动态域名 / 轮询切换** 能力（见 2.2） |

## 2.2 本次不包含（Out of Scope）

| 范围 | 说明 |
|------|------|
| **App（全部）** | App 打开、App 动态域名、App 切流/强更等 — **不涉及、不改** |
| **分享域名（全部）** | 分享短链、分享落地域、分享页跳转逻辑等 — **不涉及、不改** |
| **技术实现方案** | 接口、加密算法、服务器架构、代码 — **技术另册** |
| **其它非品牌入口** | 如收藏主站直访等 — **不在本文** |
| **业务功能** | 登录、投注、充值等 — 不在本文 |

## 2.3 角色分工（产品视角）

| 角色 | 负责 |
|------|------|
| **运维** | 品牌域 DNS/CDN；**301 → 落地域**；品牌域零内容 |
| **技术** | 落地域风控判定、加密下发、探活、异常页实现（刷机/脚本识别标准 **技术补充**） |
| **运营/风控** | 维护 **IP / 设备黑名单** |
| **产品** | 流程、文案、验收标准 |
| **测试** | 按本文第九、十章验收 |

---

<a id="part3"></a>

# 三、具体需求

## 3.1 域名角色（产品定义）

| 角色 | 示例 | 用户是否看到业务 | 产品要求 |
|------|------|------------------|----------|
| **品牌域** | `winbet.com` | 否 | 仅跳转，无业务页 |
| **落地域** | `entry.vty.net` | 否（仅加载/报错） | 判定与报错发生在此 |
| **主站域** | `play-a.com` | **是** | 完整业务首页/登录 |

## 3.2 品牌域 → 落地域（运维 301）

| 编号 | 需求 |
|------|------|
| R-B1 | 用户访问品牌域 **任意路径**，均 **301/308** 到 **落地域**（带品牌标识参数） |
| R-B2 | 品牌域响应 **不得** 出现业务 HTML（登录、首页、钱包等） |
| R-B3 | 301 目标 **不得** 直接指向主站域 `play-*.com` |
| R-B4 | 品牌域被投诉或扫描时，能提供的材料 **仅为跳转或空响应** |
| R-B5 | 落地域至少 **主 + 备** 两套；主失效走备用机制（**§11.1**） |
| R-B6 | 品牌域 **原始 path + query** 须透传至落地域，并最终继承到主站（**§11.2**） |

## 3.3 落地域判定与动态主站

| 编号 | 需求 |
|------|------|
| R-L1 | 用户进入落地域后，系统进行 **风控判定**：黑名单 IP/设备、**刷机**、**脚本/自动化** 等（见 §3.3.1） |
| R-L2 | **风控不通过**（§3.3.1 任一项命中）：落地域 **空页**，**不进入主站**，不下发主站列表 |
| R-L2b | **非风控失败**（频率限制、接口异常、探活全失败）：落地域 **规范报错**（全屏 + 文案，见第八章），仍 **不暴露主站域名** |
| R-L3 | **风控通过**：系统返回 **加密的动态主站域名列表**（最多 **3** 条，有序） |
| R-L4 | 客户端在 **落地域页面内** 按顺序 **探活**；**第一条可用** 即进入（探活规则见 §3.3.3） |
| R-L5 | 探活过程中用户地址栏 **仍为落地域**；**仅探活成功后** 跳转到主站域 |
| R-L6 | 落地域阶段任何失败，文案 **不得** 出现主站域名明文 |
| R-L7 | **频率限制**：同一访问主体在配置窗口内超阈值 → 落地域全屏「访问过于频繁」，不下发主站（阈值 **技术/风控配置**） |

### 3.3.1 异常访问 · 产品定义

以下情况一律视为 **异常**，落地域 **空页**，**不进入主站**（对用户无业务文案）：

| 类型 | 产品说明 |
|------|----------|
| **IP 黑名单** | 当前 IP 命中 **后台配置的 IP 黑名单** |
| **设备黑名单** | 当前设备标识（浏览器指纹等）命中 **后台配置的设备黑名单** |
| **刷机设备** | 用户终端为 **刷机 / Root** 等高风险环境 |
| **脚本进入** | **脚本、自动化工具、爬虫** 等非正常人工浏览器访问 |

> - **命中任一项** → 异常，落地域空页  
> - **均未命中** → 不因风控项拦截，继续频率限制、探活等后续流程  

### 3.3.2 判定标准 · 技术补充

> **产品不限定** 刷机识别、脚本识别、指纹采集等 **具体技术手段与阈值**。  
> 上述各项的 **判定规则、特征库、接口字段**，由 **技术团队在实现方案中补充**（详见 [技术开发清单](./dev/)）；产品只要求：**识别为异常时的用户表现** 与本文一致（空页，不暴露主站）。

### 3.3.3 探活与异常表现 · 产品规则

| 环节 | 产品规则 |
|------|----------|
| **探活顺序** | 按下发列表 **1 → 2 → 3** 依次探测，**最多 3 条** |
| **探活成功（业务定义）** | 见 **§11.3**：探测点超时内返回「可用」即可跳转，**不等于** 首页完整渲染 |
| **单条探活超时** | **≤2 秒**；超时即试下一条 |
| **整体跳转 P95** | 落地域 Loading 起 → 跳转主站域：**P95 ≤5 秒**（§11.3） |
| **探活全失败** | 落地域 **全屏**「暂时无法连接」，可重试；**不** 跳主站 |
| **风控命中** | **空页**（与 E1 一致，**非** 全屏报错） |
| **频率限制** | **全屏**「访问过于频繁」（E6） |
| **接口/数据异常** | **全屏**「加载失败」或「暂时无法连接」（E4/E5） |

### 3.3.4 需求编号索引

| 编号 | 摘要 |
|------|------|
| R-B1～R-B4 | 品牌域 301、零业务 |
| R-L1～R-L2 | 风控判定；命中 → **空页** |
| R-L2b、R-L7 | 频率 / 接口 / 探活失败 → **规范全屏** |
| R-L3～R-L6 | 加密下发、探活进站、不暴露主站 |
| R-S1～R-S2 | 进站后沿用现有主站切换 |

## 3.4 主站进入后

| 编号 | 需求 |
|------|------|
| R-S1 | 进入主站后，沿用 **现有** 主站动态域名、故障切换逻辑 |
| R-S2 | 运行期主站不可用时的提示与切换，**在主站域** 完成（Toast 等），**不跳回落地域** |

## 3.5 涉及端（仅以下两端）

| 端 | 是否涉及 | 需求 |
|----|----------|------|
| **PC 浏览器** | ✓ | 品牌域 → 落地 → 主站，完整流程 |
| **H5 浏览器** | ✓ | 同 PC；异常提示适配移动端（430px 设计参考） |
| **App** | ✗ | **不涉及** |
| **分享域名** | ✗ | **不涉及** |

---

<a id="part4"></a>

# 四、涉及范围

## 4.1 页面与系统

| 模块 | 是否涉及 |
|------|----------|
| 品牌域 CDN / 301 规则 | ✓ 运维 |
| 落地域页面（加载/报错） | ✓ 技术+UI |
| 后台 IP / 设备黑名单 | ✓ 运营/风控配置，落地域判定读取 |
| 刷机 / 脚本风控识别 | △ **判定标准技术补充**；异常时产品表现同 §3.3.1 |
| 主站首页 / 登录（进站后） | ✓ 仅「被跳转到」 |
| App 客户端 | ✗ **不涉及** |
| 分享域名 / 分享短链 | ✗ **不涉及** |
| 后台域名池配置 | △ 技术实施，产品仅约束品牌链结果 |

## 4.2 用户入口

```text
✓ 本次唯一产品变更入口：
    PC 浏览器 / H5 浏览器 → 打开 【品牌域名】

✗ 明确不涉及：
    App 任意入口
    分享域名 / 分享链接任意入口
```

## 4.3 文案与语言

| 项 | 要求 |
|----|------|
| 默认语言 | 简体中文 |
| 越南语 | 与中文 **同场景同 key**，产品定稿语义（中/越双语） |
| 禁止对用户说 | 「IP 被封」「指纹异常」「域名池」「刷机」「脚本」等 |

---

<a id="part5"></a>

# 五、注意事项

1. **品牌域永不挂业务**：任何「救急把首页挂回品牌域」**禁止**。  
2. **落地域不是主站**：落地域 **不得** 出现投注、钱包、完整首页。  
3. **失败不暴露主站**：判定失败阶段，用户 **不应** 在地址栏或文案中看到 `play-*.com`。  
4. **主站可牺牲**：单个主站域被封 **允许** 换池内其它域；**品牌域不应连带失效**。  
5. **PC 与 H5 流程一致**：差异仅在 **布局**，流程与判断 **相同**。  
6. **异常访问统一处理**：黑名单、**刷机**、**脚本/自动化** 等风控命中，均 **空页、不进主站**（见 §3.3.1）。  
7. **黑名单口径**：「IP / 设备异常」首先指 **后台黑名单命中**；非泛指网络故障或终端型号不支持。  
8. **刷机 / 脚本**：产品要求 **直接当异常**；**如何识别** 由技术补充（§3.3.2），对用户 **不展示** 「刷机」「脚本」等字样。  
9. **范围外系统不动**：**App**、**分享域名** 相关能力与流程 **不在本文修改**；若有关联需求需 **单独立项**。

---

<a id="part6"></a>

# 六、逻辑判断

## 6.1 判定顺序（产品规则）

```text
1. 用户是否从品牌域 301 到达落地域？（运维保障）
2. 落地域风控判定（产品规则，识别方式见 §3.3.2 技术补充）：
   a. 当前 IP 是否命中 【后台 IP 黑名单】？
   b. 当前设备是否命中 【后台设备黑名单】？
   c. 是否为 【刷机 / Root】 等高风险终端？
   d. 是否为 【脚本 / 自动化 / 爬虫】 访问？
3. 是否触发 **频率限制**（R-L7）？
   → 风控命中：停止，落地域 **空页**（E1），不下发主站
   → 频率命中：停止，落地域 **全屏**「访问过于频繁」（E6），不下发主站
4. 风控与频率均通过：下发加密动态主站列表（≤3 条）
5. 按顺序探活主站（§3.3.3）
   → 有可用：跳转主站首页/登录
   → 全无可用：落地域 **全屏**「暂时无法连接」（E4），可重试
   → 接口/data 异常：落地域 **全屏**「加载失败」（E5），可重试
```

## 6.2 判断结果与用户体验

| 判断 | 地址栏 | 用户看到 | 是否进主站 | 场景 ID |
|------|--------|----------|------------|---------|
| 风控异常（黑名单 / 刷机 / 脚本） | 落地域 | **空页**（无文案） | 否 | E1 |
| 频率过高 | 落地域 | 「访问过于频繁」全屏 | 否 | E6 |
| 获取主站列表 / 数据异常 | 落地域 | 「加载失败」全屏 + 重试 | 否 | E5 |
| 探活：第 1 条可用 | 落地域→**主站** | Loading 后进首页 | **是** | E2→进站 |
| 探活：第 1 慢、第 2 成功 | 落地域→主站 | Toast「切换线路」 | **是** | E3 |
| 探活：全部失败 | 落地域 | 「暂时无法连接」全屏 | 否 | E4 |
| 已在主站，主站故障 | 主站 | Toast「已切换线路」 | 仍在主站 | §8.2 |

## 6.3 谁做什么（产品决策表）

| 环节 | 运维 | 技术 | 产品 |
|------|------|------|------|
| 301 到落地域 | **执行** | 提供落地域 URL 规范 | **定规则** |
| IP/设备/风控判定 | — | **实现**（含刷机、脚本识别，标准技术补充） | **定通过/失败体验** |
| 加密动态域名 | — | **实现** | **定最多 3 条、有序** |
| 探活进入 | — | **实现** | **定 Loading/Toast 文案** |
| 主站切换 | — | 现有能力 | 不变 |

---

<a id="part7"></a>

# 七、流程

> **可视化：** [flow/index.html](./flow/index.html) — PC / H5 **页面截图式** 分步说明。

## 7.1 PC 打开品牌域（总览）

```text
步骤1  用户 PC 浏览器输入/点击 winbet.com
步骤2  【运维】品牌 CDN 301 → entry.vty.net（落地域）
步骤3  落地域：显示「正在连接最佳线路…」
步骤4  落地域：风控判定 + 频率检查（识别标准见 §3.3.2）
       ├─ 风控命中（黑名单/刷机/脚本）→ 空页（E1）
       ├─ 频率限制 → 全屏「访问过于频繁」（E6）
       └─ 通过 ↓
步骤5  落地域：获得加密动态主站列表 → 解密 → 依次探活
       ├─ 某条可用 → 步骤6
       └─ 均不可用 → 落地域全屏「暂时无法连接」
步骤6  浏览器跳转到 play-x.com 主站首页（完整业务）
步骤7  之后主站故障 → 现有动态域名切换（不变）
```

## 7.2 H5 打开品牌域（总览）

与 **§7.1 逻辑完全相同**。差异：

| 项 | H5 |
|----|-----|
| 设备 | 手机浏览器 / WebView |
| 布局 | 430px 宽；顶栏 Loading、Toast 位置见 Demo |
| 地址栏 | 同样经历 品牌→落地→主站 |

## 7.3 流程与截图对照

| 步骤 | PC/H5 截图编号 | 说明 |
|------|----------------|------|
| 1 | S1 | 用户点击品牌域 |
| 2 | S2 | 301 后地址栏变为落地域 |
| 3 | S3 | 落地域 Loading |
| 4 | S4 | 风控判定（命中 → S0 空页；通过 → 继续） |
| 5a | S5 | 探活切换 Toast（可选） |
| 5b | S6 | 探活 **全失败** 全屏（E4，非风控空页） |
| 6 | S7 | 进入主站首页 |
| — | S0 | 风控异常（黑名单 / 刷机 / 脚本）：空页 |

---

<a id="part8"></a>

# 八、异常场景描述

## 8.1 落地域阶段（报错在落地域）

> **表现分级：** **风控命中（E1）= 空页**；**频率 / 探活 / 接口失败 = 全屏报错**。二者不可混用。

| 场景 ID | 触发条件 | 用户操作 | 产品表现 | 地址栏 | 文案要点（zh-CN） |
|---------|----------|----------|----------|--------|-------------------|
| E1 | 风控命中 | 点击品牌 | **空页** | 落地域 | **无**（黑名单 / 刷机 / 脚本） |
| E2 | 风控通过 | 点击品牌 | 顶栏 Loading | 落地域 | 正在连接最佳线路… |
| E3 | 探活切换 | 等待 | Toast 3s | 落地域 | 正在切换备用线路… |
| E4 | 探活全失败 | 等待 | 全屏 | 落地域 | 暂时无法连接 + 重新连接 / 联系客服 |
| E5 | 接口/数据异常 | 等待 | 全屏 | 落地域 | 加载失败 + 刷新重试 |
| E6 | 频率限制 | 短时间多次访问 | 全屏 | 落地域 | 访问过于频繁 |
| E7 | 品牌域不可用 | 点击品牌 | 浏览器报错 | 品牌域 | （运维域，非落地逻辑） |

## 8.2 主站阶段（进站后 · 沿用现有）

| 场景 | 产品表现 | 说明 |
|------|----------|------|
| 主站 API 失败 | Toast「已切换备用线路」 | **现有** 动态域名能力 |
| 主站全挂 | 全屏「暂时无法连接」 | 可重试；**不** 跳回品牌域 |

## 8.3 产品禁止表现

- 判定失败时展示 **主站域名** 或「域名池」字样  
- 风控命中时用 **全屏报错** 代替 **空页**（E1 必须空页）  
- 对用户展示「刷机」「脚本」「黑名单」「指纹异常」等 **内部原因**  
- 判定失败时用 **业务首页** 壳子展示赌博/钱包内容  
- 品牌域出现 **200 业务页**  

---

<a id="part9"></a>

# 九、产品验收标准

## 9.1 品牌域（运维 + 产品联合）

| # | 验收项 | 标准 |
|---|--------|------|
| A1 | PC/H5 访问品牌根路径 | **301** 到落地域 |
| A2 | 访问 `/login` 等品牌路径 | 仍 **301**，无业务页 |
| A3 | 品牌页 Body | **无** 登录/钱包/赛事关键词 |
| A4 | 301 Location | **仅** 落地域，**非** play-*.com |

## 9.2 落地域

| # | 验收项 | 标准 |
|---|--------|------|
| B1 | 正常用户 PC | 经 Loading → **进入主站** |
| B2 | 正常用户 H5 | 同 B1 |
| B3 | 模拟 **黑名单 IP / 黑名单设备** | **空页**（非全屏），地址栏仍为落地域 |
| B4 | 模拟 **刷机终端** 或 **脚本/自动化** 访问 | 同 B3；识别规则由 **技术方案** 定义 |
| B5 | 模拟主站列表 **探活全不可用** | 落地域 **全屏** E4，**不出现** play-*.com |
| B6 | 模拟 **频率限制** 触发 | 落地域 **全屏** E6 |
| B7 | 单条主站慢、下一条可用 | Toast E3 后进入 **另一条** 主站 |
| B8 | 文案 | 与 [flow/](./flow/) 一致；中/越 **同场景同 key** |

## 9.3 主站与范围外（回归）

| # | 验收项 | 标准 |
|---|--------|------|
| C1 | 进站后 | 地址栏为 **主站域**，业务可交互 |
| C2 | 主站故障切换 | **现有** 能力正常，产品 **无回归** |
| C3 | **App** 任意打开方式 | **与改前一致**（本文 **不涉及** App） |
| C4 | **分享域名** 任意打开方式 | **与改前一致**（本文 **不涉及** 分享域名） |

## 9.4 KPI 验收（上线 30 天后）

| # | 指标 | 标准 |
|---|------|------|
| D1 | 品牌链成功进入率 | ≥ **88%**（中国区 · **UV** · 口径见 **§11.4**） |
| D2 | 品牌 7 日内内容类失效 | **0 次** |
| D3 | 较 vty.vip 基线 | 提升 ≥ **13pp** |
| D4 | 落地 Loading → 跳转主站 P95 | ≤ **5 秒**（§11.3） |
| D5 | 埋点漏斗可定位 | §11.5 六段埋点齐全，可区分 CDN/落地/风控/域名/探活/主站 |

## 9.5 签字

| 角色 | 验收内容 | 签字 |
|------|----------|------|
| 产品 | 流程/文案/边界 | |
| 运维 | 301 + 品牌零内容 | |
| 技术 | 落地判定 + 探活进站 | |
| 测试 | A～D 全通过（含 B3/B4 空页与 B5/B6 全屏区分） |

---

<a id="part10"></a>

# 十、评审检查清单

> 评审时可按本清单 **逐项勾选**，确保逻辑闭环、范围清晰、可验收。

## 10.1 范围与边界

| ✓ | 检查项 |
|---|--------|
| ☐ | 仅 **品牌域名 · PC/H5**，不含 App、分享域名 |
| ☐ | 品牌域 **301 → 落地域**，不直连主站 |
| ☐ | 进站后主站切换 **沿用现网**，不要求改造 |

## 10.2 核心流程

| ✓ | 检查项 |
|---|--------|
| ☐ | 品牌 → 301 → 落地 Loading → 风控 → 下发列表 → 探活 → 主站，链路完整 |
| ☐ | PC 与 H5 **逻辑一致**，仅布局不同 |
| ☐ | 探活成功前地址栏 **保持落地域** |

## 10.3 风控与异常（重点）

| ✓ | 检查项 |
|---|--------|
| ☐ | 黑名单 / 刷机 / 脚本 → **空页**（E1），不下发主站 |
| ☐ | 刷机、脚本 **识别标准** 由技术补充（§3.3.2），产品不管实现细节 |
| ☐ | 频率限制 → **全屏** E6，与 E1 **不可混用** |
| ☐ | 探活全失败 → **全屏** E4，文案 **无** play-*.com |
| ☐ | 对用户 **不解释** 风控原因（禁止词见 §4.3） |

## 10.4 角色与交付

| ✓ | 检查项 |
|---|--------|
| ☐ | 运维：301 + 品牌零内容 |
| ☐ | 运营/风控：IP/设备黑名单维护 |
| ☐ | 技术：风控实现 + 加密下发 + 探活 + 异常页 |
| ☐ | 测试：第九章 A～D 用例可执行 |

## 10.5 成功标准

| ✓ | 检查项 |
|---|--------|
| ☐ | 品牌链进入率目标 ≥88%（D1）有基线对比；**分子分母/UV/风控排除** 按 §11.4 |
| ☐ | 品牌域 7 日内容类失效 **0 次**（D2） |
| ☐ | 跳转 P95 ≤5s（D4）；探活业务定义按 §11.3 |
| ☐ | 落地域主备机制（§11.1）、参数继承（§11.2）、埋点漏斗（§11.5）已定案 |

---

<a id="part11"></a>

# 十一、产品定案（评审必读）

> 本章对评审中易悬空的问题给出 **产品定案**。技术实现细节不在此展开，但验收与 KPI **按本章执行**。

---

## 11.1 落地域失效后的备用机制

### 定案结论

| 项 | 定案 |
|----|------|
| **落地域数量** | 至少 **2 套**：主落地域 + 备落地域（示例：`entry.vty.net` / `entry-b.vty.net`） |
| **切换主体** | **运维** 负责健康检查与切换；品牌域 **301 Location** 改指向备落地域 |
| **切换触发** | 主落地域不可用（DNS/证书/CDN/5xx/大面积超时）→ 切备；可自动告警 + 人工确认，SLA：**30 分钟内** 完成切换 |
| **用户侧** | 已打不开主落地的用户：刷新品牌域后走新 301；**不** 在品牌域回挂业务页 |
| **禁止常备** | ❌ 品牌域直连主站 `play-*` 作为常备兜底（破坏品牌干净） |
| **禁止** | ❌ 把业务首页挂回品牌域救急 |
| **极端应急** | 仅在产品 + 运维 **书面双签** 后临时启用「品牌 → 备落地」以外的方案，并限时回滚 |

### 产品说明

```text
正常：  品牌域 ──301──► 主落地域 ──风控/探活──► 主站
失效：  品牌域 ──301──► 备落地域 ──同逻辑──► 主站
禁止：  品牌域 ──301──► 主站（常备）
禁止：  品牌域 ──挂业务页──► 用户
```

备落地域与主落地域 **产品逻辑完全一致**（风控、加密下发、探活、异常态）。

---

## 11.2 品牌域名原始参数如何继承到主站

### 定案结论

| 项 | 定案 |
|----|------|
| **必继承** | 品牌 URL 的 **path** + **全部 query**（含 `utm_*`、渠道、推广、邀请、落地页指定路径等） |
| **必附加** | 品牌标识（如 `from=winbet` / `brand=winbet`），供统计与多品牌区分 |
| **透传链路** | 品牌原始 URL → **301 到落地域时带上** → 落地域内存持有 → **跳转主站时拼接到主站 URL** |
| **主站最终形态** | `https://play-x.com{原path}?{原query}&from={品牌}`（原 query 与 from 冲突时：**原参数优先**，`from` 用约定键名不覆盖业务键） |
| **Hash** | `#` 片段浏览器不随 301 到服务端；能拿到则尽量带到主站，拿不到不阻塞进站 |
| **敏感信息** | 参数可进主站 URL；**服务端日志脱敏**（技术执行） |
| **验收** | 带 `utm_source=test&invite=abc` 打开品牌域 → 主站地址栏仍含上述参数 + 品牌标识 |

### 示意

```text
用户打开：
  https://winbet.com/promo?utm_source=fb&invite=abc

301 后落地域（示意）：
  https://entry.vty.net/?from=winbet&_raw=...   ← 或等价透传方式（技术自定）
  产品要求：落地域能还原 path=/promo 与 query

跳转主站：
  https://play-a.com/promo?utm_source=fb&invite=abc&from=winbet
```

> 实现上可用 query 展开、短 token 兑换等，**产品只验收主站最终 URL 含原业务参数**。

---

## 11.3 主站探活 · 业务定义与跳转 P95

### 探活成功（业务定义）

| 项 | 定案 |
|----|------|
| **定义** | 对列表中某一主站域的 **探活探测点**，在超时内收到 **「可用」** 响应（HTTP **2xx**，或双方约定的健康态码） |
| **算成功** | 判定该域可跳转，立即 `location` 到主站（可带 §11.2 参数） |
| **不算成功** | 超时、5xx、网络错误、TLS 失败、非约定响应 |
| **明确不等于** | ❌ 不等于主站首页 **完整首屏渲染**；❌ 不等于用户已登录 |
| **单条超时** | **≤ 2 秒**；超时即试下一条（Toast 可用） |
| **最多条数** | **3**；全失败 → E4 全屏 |

### 整体跳转耗时（产品 SLA）

| 指标 | 定案 |
|------|------|
| **计时起点** | 落地域页面 **开始执行**（`landing_ready` / Loading 出现） |
| **计时终点** | 浏览器 **开始跳转主站域**（地址栏即将/已经变为 play-*，埋点 `jump_to_site`） |
| **P95 目标** | **≤ 5 秒**（中国区 · 风控通过用户） |
| **P99 参考** | ≤ 8 秒（非硬门禁，用于告警） |
| **不含** | 品牌域 301 网络耗时（另用「品牌→落地」可用性监控）；主站首页渲染（另用 `site_home_ready`） |

> 多数用户应 **首条探活成功**；P95=5s 已覆盖「风控+下发+1 次探活」。三条串行最坏可超过 5s，属尾部，用 P99/告警观察，不放宽 P95。

---

## 11.4 88% 成功进入率 · 分子分母 / UV / 风控排除 / 误杀恢复

### 统计维度

| 项 | 定案 |
|----|------|
| **粒度** | **日 UV**（不是 PV） |
| **去重键** | 优先 **deviceId / 指纹**；无则会话 ID；中国区 IP 归属过滤 |
| **区域** | **中国区**（与基线 vty.vip 对齐） |
| **窗口** | 自然日；上线后连续 **30 天** 稳定达标 |

### 分子 / 分母（定案）

| | 定义 | 对应埋点 |
|--|------|----------|
| **分母** | 当日到达落地域且页面加载成功，且 **风控判定通过** 的 UV | `landing_ready` ∩ `risk_pass` |
| **分子** | 分母中，当日完成 **主站首页可交互** 的 UV | `site_home_ready` |
| **公式** | **成功进入率 = 分子 ÷ 分母** | 目标 **≥ 88%** |

### 风控排除规则（谁不进分母）

| 类型 | 是否进分母 | 说明 |
|------|------------|------|
| IP/设备 **黑名单** 命中（E1） | **排除** | 预期不让进，不算「该进没进」 |
| **脚本 / 爬虫 / 自动化**（E1） | **排除** | 非真人 |
| **刷机 / Root**（E1） | **排除** | 产品定义为异常设备 |
| **频率限制**（E6） | **计入分母**，未进站计 **失败** | 可能是真人刷太快，需进成功率压力 |
| 域名获取失败 / 探活失败 / 主站未 ready | **计入分母**，计 **失败** | 正是 88% 要拉升的部分 |
| 落地域都未打开（卡在品牌/301） | **不进本指标分母** | 另算「品牌→落地到达率 ≥95%」 |

### 辅助指标（必报，不替代 88%）

| 指标 | 用途 |
|------|------|
| 品牌→落地到达率 | 监控 CDN/301 |
| 风控拦截率（分 reason） | 监控误杀/黑产占比 |
| 探活成功率 | 监控主站池质量 |
| `landing_ready`→`jump_to_site` P95 | 监控 §11.3 |

### 风控误杀正常用户 · 恢复机制（定案）

| 项 | 定案 |
|----|------|
| **空页无申诉入口** | E1 空页 **不展示**「申诉/解封」（避免暴露风控） |
| **恢复渠道** | ① 客服工单 → 运营/风控后台 **移出黑名单 / 加白** ② 临时黑名单到期自动解封 |
| **生效时效** | 后台变更后 **≤ 15 分钟** 对落地域判定生效 |
| **加白** | 支持按 **IP**、按 **deviceId** 加白；加白优先于黑名单 |
| **误杀率监控** | 周环比：黑名单拦截中「次日正常登录成功」占比异常升高 → 风控复盘 |
| **产品原则** | 宁可客服解封，**不在空页教育用户如何绕过** |

---

## 11.5 上线后埋点 · 如何定位卡在哪一段

### 定案：六段漏斗（同一 `trace_id` / `session_id` 串联）

| 序号 | 埋点事件 | 含义 | 失败则问题在 |
|------|----------|------|----------------|
| 1 | `brand_request` / `brand_301_ok` | 品牌域被访问且 301 成功 | **CDN / 品牌域 / 301** |
| 2 | `landing_ready` | 落地域页面加载完成、Loading 可见 | **落地域**（DNS/证书/落地页） |
| 3 | `risk_result` | 风控结束；属性 `pass` + `reason` | **风控**（黑名单/脚本/刷机/频率） |
| 4 | `domains_result` | 动态域名下发成功/失败 | **域名获取**（接口/加密/池为空） |
| 5 | `probe_result` | 每条探活结果；属性 `index`+`ok` | **探活 / 主站连通** |
| 6 | `jump_to_site` → `site_home_ready` | 跳转主站 → 首页可交互 | **主站**（跳转后业务/资源） |

### 判读口诀（产品/运营）

```text
有 brand_301_ok，无 landing_ready     → 查 CDN / 落地域可用性 / 是否该切备落地
有 landing_ready，risk pass=false     → 查风控 reason（是否误杀）
risk pass，无 domains 成功            → 查域名接口 / 域名池
domains 成功，probe 全失败            → 查主站池质量 / 区域封锁
有 jump_to_site，无 site_home_ready   → 查主站前端/API（非品牌链问题）
```

### 必带属性（产品要求）

`trace_id`、`brand`、`deviceId`、端（PC/H5）、国家/地区、`risk.reason`、探活 `index`、耗时 ms（各段）。

---

## 11.6 定案一览表（签字用）

| # | 议题 | 产品定案 | 状态 |
|---|------|----------|------|
| 1 | 落地域失效备用 | 主+备落地；运维切 301；禁止品牌挂业务/常备直连主站 | **已定** |
| 2 | 参数继承 | path+query 透传至主站，附加品牌标识 | **已定** |
| 3 | 探活定义 | 探测点 2xx/健康态；单条 ≤2s；不等于首页渲染完 | **已定** |
| 4 | 跳转 P95 | 落地 Loading→跳转主站 **P95 ≤5s** | **已定** |
| 5 | 88% 口径 | 日 UV；分子 site_home_ready；分母 landing∩risk_pass；E1 类排除分母 | **已定** |
| 6 | 误杀恢复 | 客服/后台解封或加白，≤15min 生效；空页无申诉入口 | **已定** |
| 7 | 问题定位 | 六段埋点 + trace 串联 | **已定** |

| 角色 | 对第十一章确认 | 签字 |
|------|----------------|------|
| 产品 | | |
| 技术 | | |
| 运维 | | |
| 风控/运营 | | |
| 数据/埋点 | | |

---

**文档结束 · 产品方案 v1.3**
