gcx/docs/gogenex-domain-planning.md

351 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GoGenex 双域名架构规划方案
> 适用场景:企业门户 + 区块链全生态 + MPC 签名服务 + 对象存储 + 微服务架构
> 主域名:`gogenex.cn`(阿里云)、`gogenex.com`Namecheap
> 版本v1.1 | 2026-03-01
---
## 〇、双域名策略
| 域名 | 注册商 | DNS 服务 | 用途定位 |
| --- | --- | --- | --- |
| `gogenex.cn` | 阿里云 | 阿里云 DNS | **主力域名** — API 网关、后台、内部服务、区块链、运维 |
| `gogenex.com` | Namecheap | Namecheap DNS | **国际 & 品牌** — 官网、文档、开发者平台、状态页 |
> **原则:** `.cn` 承载所有业务和技术服务;`.com` 面向国际用户和品牌展示。
> 两个域名可以互相 CNAME例如 `api.gogenex.com` CNAME 到 `api.gogenex.cn`。
---
## 一、总体架构分层
```
gogenex.cn / gogenex.com
├── 🌐 门户与官网层
├── 🔌 API 网关层(对外 / 对内)
├── 🔐 安全与认证层MPC / Auth / KMS
├── ⛓️ 区块链服务层
├── 📦 存储与 CDN 层
├── 📊 运维监控层
├── 🧪 环境隔离层staging / dev
└── 📚 文档与开放平台
```
---
## 二、子域名详细规划
### 2.1 🌐 门户与官网
| 子域名 | 用途 | 访问范围 | DNS |
| --- | --- | --- | --- |
| `gogenex.com` / `www.gogenex.com` | 企业官网、品牌落地页 | 公开 | Namecheap |
| `gogenex.cn` / `www.gogenex.cn` | 中文官网(可跳转 .com | 公开 | 阿里云 |
| `portal.gogenex.cn` | 用户业务门户Web App | 公开 / 登录 | 阿里云 |
| `admin.gogenex.cn` | 内部运营管理后台 | 内网 / VPN | 阿里云 |
| `console.gogenex.cn` | 开发者 / 商户控制台 | 登录 | 阿里云 |
---
### 2.2 🔌 API 网关层
#### 对外公共 API统一网关入口
| 子域名 | 用途 | 说明 | DNS |
| --- | --- | --- | --- |
| `api.gogenex.cn` | 对外统一 API 网关 | 所有对外服务统一入口 | 阿里云 |
| `api.gogenex.com` | 国际 API 入口 | CNAME → `api.gogenex.cn` | Namecheap |
| ↳ `/v1/wallet/*` | 钱包服务 | 路径路由 | |
| ↳ `/v1/tx/*` | 交易服务 | 路径路由 | |
| ↳ `/v1/chain/*` | 链上查询服务 | 路径路由 | |
| ↳ `/v1/mpc/*` | MPC 签名对外接口 | 路径路由 | |
| ↳ `/v1/nft/*` | NFT 服务 | 路径路由 | |
| ↳ `/v1/defi/*` | DeFi 聚合服务 | 路径路由 | |
#### 对内微服务 API
| 子域名 | 用途 | 访问范围 | DNS |
| --- | --- | --- | --- |
| `api-internal.gogenex.cn` | 内部微服务 API 网关 | 内网 / VPN | 阿里云 |
| ↳ `/svc/user/*` | 用户中心 | 内部 | |
| ↳ `/svc/risk/*` | 风控引擎 | 内部 | |
| ↳ `/svc/notify/*` | 通知推送 | 内部 | |
| ↳ `/svc/settlement/*` | 清结算 | 内部 | |
---
### 2.3 🔐 安全与认证层MPC 重点)
| 子域名 | 用途 | 访问范围 | 备注 | DNS |
| --- | --- | --- | --- | --- |
| `auth.gogenex.cn` | 统一认证 / SSO / OAuth2 | 公开 | JWT 签发、2FA | 阿里云 |
| `mpc.gogenex.cn` | MPC 签名服务总入口 | **严格受限** | 独立部署,网络隔离 | 阿里云 |
| `mpc-relay.gogenex.cn` | MPC 中继 / 协调节点 | 内网 | 多方协调通信 | 阿里云 |
| `mpc-callback.gogenex.cn` | MPC 签名异步回调 | 白名单 | 签名结果回传 | 阿里云 |
| `kms.gogenex.cn` | 密钥管理服务KMS | 内网 | HSM / 密钥分片管理 | 阿里云 |
| `vault.gogenex.cn` | 机密存储HashiCorp Vault | 内网 | 配置密钥、证书管理 | 阿里云 |
> ⚠️ **MPC 安全建议**`mpc.gogenex.cn` 建议不解析到公网,仅通过 VPN / 内网访问。对外暴露的 MPC 能力通过 `api.gogenex.cn/v1/mpc/*` 走网关代理,经过认证、限流、风控后转发。
---
### 2.4 ⛓️ 区块链服务层
| 子域名 | 用途 | 访问范围 | 备注 | DNS |
| --- | --- | --- | --- | --- |
| `rpc.gogenex.cn` | 区块链 RPC 统一代理 | 公开 / 限流 | 多链 RPC 聚合入口 | 阿里云 |
| ↳ `/eth`, `/bsc`, `/tron`... | 按链路径路由 | | | |
| `ws.gogenex.cn` | WebSocket 长连接服务 | 公开 / 登录 | 交易推送、链上事件 | 阿里云 |
| `explorer.gogenex.cn` | 区块链浏览器 | 公开 | 交易 / 区块查询 | 阿里云 |
| `indexer.gogenex.cn` | 链上数据索引服务 | 内网 | The Graph 类服务 | 阿里云 |
| `bridge.gogenex.cn` | 跨链桥服务 | 公开 / 登录 | 跨链资产转移 | 阿里云 |
| `oracle.gogenex.cn` | 预言机服务 | 内网 / 受限 | 喂价、链下数据 | 阿里云 |
| `node.gogenex.cn` | 全节点管理入口 | 内网 | 节点运维、健康检查 | 阿里云 |
| `faucet.gogenex.cn` | 测试网水龙头 | 公开 | 测试代币发放 | 阿里云 |
---
### 2.5 📦 存储与 CDN 层
| 子域名 | 用途 | 访问范围 | DNS |
| --- | --- | --- | --- |
| `oss.gogenex.cn` | MinIO 对象存储 API | 内部 / 服务间 | 阿里云 |
| `static.gogenex.cn` | 静态资源 CDN前端资源、图片 | 公开 | 阿里云 |
| `ipfs-gw.gogenex.cn` | IPFS 网关NFT 元数据等) | 公开 | 阿里云 |
> MinIO 推荐路径风格:`oss.gogenex.cn/bucket/object`
> 如需虚拟主机风格可配置 `*.oss.gogenex.cn` 泛解析。
---
### 2.6 📊 运维监控层
| 子域名 | 用途 | 访问范围 | DNS |
| --- | --- | --- | --- |
| `monitor.gogenex.cn` | Grafana 监控面板 | 内网 / VPN | 阿里云 |
| `log.gogenex.cn` | 日志平台ELK / Loki | 内网 / VPN | 阿里云 |
| `trace.gogenex.cn` | 链路追踪Jaeger / Tempo | 内网 / VPN | 阿里云 |
| `alert.gogenex.cn` | 告警平台Alertmanager | 内网 / VPN | 阿里云 |
| `status.gogenex.com` | 服务状态页(对外) | 公开 | Namecheap |
| `ci.gogenex.cn` | CI/CD 平台Jenkins / GitLab | 内网 / VPN | 阿里云 |
---
### 2.7 🧪 环境隔离
采用 **`{env}-{service}.gogenex.cn`** 风格统一命名:
| 环境 | 示例 | 说明 |
| --- | --- | --- |
| **生产** | `api.gogenex.cn` | 无前缀 = 生产 |
| **预发布** | `staging-api.gogenex.cn` | staging 前缀 |
| **测试** | `test-api.gogenex.cn` | test 前缀 |
| **开发** | `dev-api.gogenex.cn` | dev 前缀 |
| | `dev-mpc.gogenex.cn` | |
| | `dev-portal.gogenex.cn` | |
| | `staging-rpc.gogenex.cn` | |
---
### 2.8 📚 文档与开放平台
| 子域名 | 用途 | 访问范围 | DNS |
| --- | --- | --- | --- |
| `docs.gogenex.com` | API 文档 / 开发者文档 | 公开 | Namecheap |
| `developer.gogenex.com` | 开发者开放平台 | 公开 | Namecheap |
| `sandbox.gogenex.com` | API 沙盒测试环境 | 公开 / 登录 | Namecheap |
---
## 三、DNS 记录规划
### 3.1 阿里云 DNS — `gogenex.cn`
```dns
# ----- 官网与门户 -----
gogenex.cn. A <JUMP_IP>
www.gogenex.cn. CNAME gogenex.cn.
portal.gogenex.cn. A <JUMP_IP>
console.gogenex.cn. A <JUMP_IP>
admin.gogenex.cn. A <内网 IP>
# ----- API 网关 -----
api.gogenex.cn. A <JUMP_IP>
# ----- 认证 -----
auth.gogenex.cn. A <JUMP_IP>
# ----- 区块链服务 -----
rpc.gogenex.cn. A <JUMP_IP>
ws.gogenex.cn. A <JUMP_IP>
explorer.gogenex.cn. A <JUMP_IP>
bridge.gogenex.cn. A <JUMP_IP>
faucet.gogenex.cn. A <JUMP_IP>
# ----- 存储与 CDN -----
static.gogenex.cn. CNAME <CDN 域名>
ipfs-gw.gogenex.cn. A <JUMP_IP>
# ----- 内部服务(私有 DNS / 内网解析) -----
api-internal.gogenex.cn. A <内网 IP>
mpc.gogenex.cn. A <内网隔离 IP>
mpc-relay.gogenex.cn. A <内网 IP>
mpc-callback.gogenex.cn. A <内网 IP>
kms.gogenex.cn. A <内网 IP>
vault.gogenex.cn. A <内网 IP>
oss.gogenex.cn. A <内网 IP>
indexer.gogenex.cn. A <内网 IP>
oracle.gogenex.cn. A <内网 IP>
node.gogenex.cn. A <内网 IP>
monitor.gogenex.cn. A <内网 IP>
log.gogenex.cn. A <内网 IP>
trace.gogenex.cn. A <内网 IP>
alert.gogenex.cn. A <内网 IP>
ci.gogenex.cn. A <内网 IP>
```
### 3.2 Namecheap DNS — `gogenex.com`
```dns
# ----- 品牌官网 -----
@ A <JUMP_IP>
www CNAME gogenex.com.
# ----- 国际 API 入口(CNAME .cn 主域名) -----
api CNAME api.gogenex.cn.
# ----- 文档与开放平台 -----
docs CNAME <文档托管>
developer A <JUMP_IP>
sandbox A <JUMP_IP>
# ----- 状态页 -----
status CNAME <状态页服务>
```
---
## 四、SSL 证书策略
| 证书 | 覆盖范围 | 说明 |
| --- | --- | --- |
| `*.gogenex.cn` + `gogenex.cn` | 所有 .cn 子域名 + 裸域 | 阿里云免费证书或 Let's Encrypt |
| `*.gogenex.com` + `gogenex.com` | 所有 .com 子域名 + 裸域 | Let's Encrypt |
| `*.oss.gogenex.cn` | MinIO 虚拟主机风格(可选) | 仅在需要时申请 |
**推荐方案:**
- 使用 **Let's Encrypt** 做自动续期DNS-01 验证方式(支持泛域名)
- 阿里云 DNS 验证插件:`certbot-dns-aliyun`
- K8s 场景配合 `cert-manager` 管理
- 内网服务可使用自签 CA + mTLS 双向认证
---
## 五、安全分区架构
```
┌──────────────────────────────────────────────────────┐
│ 公网 (Internet) │
│ │
│ .com: www / api(CNAME) / docs / developer / status │
│ .cn: portal / api / auth / rpc / ws / explorer │
│ static / faucet / bridge / console │
└─────────────────────┬────────────────────────────────┘
│ WAF / API Gateway / Rate Limit
┌─────────────────────┴────────────────────────────────┐
│ DMZ / 网关层 │
│ Nginx / Kong / APISIX / Cloudflare │
└─────────────────────┬────────────────────────────────┘
│ VPN / mTLS / 内网
┌─────────────────────┴────────────────────────────────┐
│ 内网服务区 │
│ │
│ .cn: api-internal / admin / oss / indexer / oracle │
│ monitor / log / trace / ci / node │
└─────────────────────┬────────────────────────────────┘
│ 网络隔离 / 硬件安全模块
┌─────────────────────┴────────────────────────────────┐
│ 🔒 安全隔离区 (MPC Zone) │
│ │
│ .cn: mpc / mpc-relay / mpc-callback / kms / vault │
│ 独立 VPC / 独立网段 / HSM 硬件 │
└──────────────────────────────────────────────────────┘
```
### 安全分区说明
| 分区 | 网络策略 | 典型服务 |
| --- | --- | --- |
| **公网区** | 经 WAF + CDN 保护,限流 | 官网(.com)、API 网关(.cn)、区块链浏览器 |
| **DMZ 网关层** | 反向代理,仅转发合法请求 | Nginx / Kong / APISIX |
| **内网服务区** | 仅 VPN / 内网可达 | 微服务、监控、存储 (均 .cn) |
| **MPC 安全隔离区** | 独立 VPC、独立网段、最小化出入口 | MPC 签名、KMS、Vault (均 .cn) |
---
## 六、子域名总览清单
### gogenex.cn阿里云 DNS— 28 条
| # | 子域名 | 用途 | 公网/内网 |
| --- | --- | --- | --- |
| 1 | `gogenex.cn` | 中文官网 | 公网 |
| 2 | `www.gogenex.cn` | 中文官网 (CNAME) | 公网 |
| 3 | `portal.gogenex.cn` | 业务门户 | 公网 |
| 4 | `admin.gogenex.cn` | 管理后台 | 内网 |
| 5 | `console.gogenex.cn` | 开发者/商户控制台 | 公网 |
| 6 | `api.gogenex.cn` | 对外 API 网关 | 公网 |
| 7 | `api-internal.gogenex.cn` | 对内 API 网关 | 内网 |
| 8 | `auth.gogenex.cn` | 统一认证 / SSO | 公网 |
| 9 | `mpc.gogenex.cn` | MPC 签名服务 | 内网(隔离) |
| 10 | `mpc-relay.gogenex.cn` | MPC 中继节点 | 内网(隔离) |
| 11 | `mpc-callback.gogenex.cn` | MPC 异步回调 | 内网(白名单) |
| 12 | `kms.gogenex.cn` | 密钥管理 | 内网(隔离) |
| 13 | `vault.gogenex.cn` | 机密存储 | 内网(隔离) |
| 14 | `rpc.gogenex.cn` | 区块链 RPC 代理 | 公网 |
| 15 | `ws.gogenex.cn` | WebSocket 服务 | 公网 |
| 16 | `explorer.gogenex.cn` | 区块链浏览器 | 公网 |
| 17 | `indexer.gogenex.cn` | 链上数据索引 | 内网 |
| 18 | `bridge.gogenex.cn` | 跨链桥 | 公网 |
| 19 | `oracle.gogenex.cn` | 预言机 | 内网 |
| 20 | `node.gogenex.cn` | 全节点管理 | 内网 |
| 21 | `faucet.gogenex.cn` | 测试网水龙头 | 公网 |
| 22 | `oss.gogenex.cn` | MinIO 对象存储 | 内网 |
| 23 | `static.gogenex.cn` | 静态资源 CDN | 公网 |
| 24 | `ipfs-gw.gogenex.cn` | IPFS 网关 | 公网 |
| 25 | `monitor.gogenex.cn` | Grafana 监控 | 内网 |
| 26 | `log.gogenex.cn` | 日志平台 | 内网 |
| 27 | `trace.gogenex.cn` | 链路追踪 | 内网 |
| 28 | `alert.gogenex.cn` | 告警平台 | 内网 |
| 29 | `ci.gogenex.cn` | CI/CD 平台 | 内网 |
### gogenex.comNamecheap DNS— 7 条
| # | 子域名 | 用途 | 公网/内网 |
| --- | --- | --- | --- |
| 1 | `gogenex.com` | 品牌官网 | 公网 |
| 2 | `www.gogenex.com` | 品牌官网 (CNAME) | 公网 |
| 3 | `api.gogenex.com` | 国际 API (CNAME → api.gogenex.cn) | 公网 |
| 4 | `docs.gogenex.com` | API 文档 | 公网 |
| 5 | `developer.gogenex.com` | 开发者平台 | 公网 |
| 6 | `sandbox.gogenex.com` | API 沙盒 | 公网 |
| 7 | `status.gogenex.com` | 服务状态页 | 公网 |
---
## 七、关键设计原则
1. **双域名分工**`.cn` 承载技术栈和业务服务,`.com` 面向国际品牌和文档,互不干扰。
2. **统一网关入口**:对外仅暴露 `api.gogenex.cn``.com` 的 API 通过 CNAME 跳转,避免子域名爆炸。
3. **MPC 严格隔离**MPC / KMS / Vault 部署在独立安全区,不直接暴露公网,所有对外 MPC 能力经网关代理。
4. **环境一致性**:采用 `{env}-{service}` 统一命名规范,生产无前缀。
5. **证书简化**`.cn` 一张泛域名证书 + `.com` 一张泛域名证书,各自覆盖所有子域名。
6. **内外分离**:内部服务使用私有 DNS 解析,不解析到公网 IP。
7. **可扩展性**:新增业务模块只需在网关层添加路径规则,无需频繁新增子域名。
---
> 📌 本方案为初始架构规划,可根据实际业务发展和团队规模进行裁剪或扩展。