Files
jiahong e303bb868a 更新
2026-03-22 15:19:22 +08:00

541 lines
24 KiB
Markdown
Raw Permalink 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.
# 自然写科技互联网服务体系规划建设
## 一、域名定位
自然写科技拥有四个域名,各自承担明确的角色分工:
| 域名 | 角色 | 注册/托管 | 说明 |
|------|------|----------|------|
| **yink.ai** | **品牌主域 / 全球前端** | **阿里云** | 解析到阿里云新加坡服务器,对外统一宣传,所有营销材料、名片、包装统一使用此域名 |
| writech.ai | 品牌辅助域 | 阿里云 | 与 yink.ai 指向同一站点,301 跳转至 yink.ai,保留完整品牌名的可达性 |
| writech.cn | 大陆数据服务 | 腾讯云 | ICP 备案已完成,承载 API、存储、AI 处理,所有用户数据留存于大陆 |
| writech.hk | 备用 / 香港节点 | 阿里云 | 可作 yink.ai 的 CNAME 或备用入口 |
**为什么选择 yink.ai 作为品牌主域**
- **更简洁**yink.ai 仅 7 个字符(writech.ai 为 10 个字符),输入更快,记忆更容易
- **品牌基因一致**:yink 延续 ink 系列命名基因(Y 可代表 "Your ink"),与硬件产品(Bink / Cink / Mink / Tink …)的命名体系高度统一
- **视觉友好**:短域名在二维码、产品丝印、名片、APP 启动页等印刷空间受限场景下显示效果更佳
- **域名后缀**:.ai 后缀体现公司 AI 智能教育的技术定位
**writech.ai 的辅助角色**writech.ai 保留不弃用,所有通过 writech.ai 的访问自动 301 永久跳转至 yink.ai,确保历史链接和搜索引擎收录不失效,同时将 SEO 权重集中到 yink.ai。
**核心设计原则**:品牌形象与数据服务解耦。对外统一用 yink.ai 呈现品牌(writech.ai 自动跳转至 yink.ai),用户实际的数据读写全部落在 writech.cn 的大陆服务器上,符合数据安全合规要求。
---
## 二、网站与 API 架构
### 2.1 首页(yink.ai
- 部署于阿里云新加坡服务器(47.84.109.13),并接入**阿里云 CDN** 全球加速
- 页面为纯静态(HTML / CSS / JS),内容基本不变,CDN 全球缓存后访问极快
- 大陆用户访问 yink.ai 属于"浏览境外网站",只要页面不含敏感内容,一般可正常访问(与 GitHub Pages、Notion 等性质相同)
- 访问 writech.ai 自动 301 跳转至 yink.ai,两个域名共享同一阿里云新加坡源站
- **首页服务器不存放任何用户数据**,仅作品牌展示与产品介绍
### 2.2 大陆数据服务(writech.cn
writech.cn 已完成 ICP 备案,部署于腾讯云广州服务器(106.55.191.177),承载全部后端业务:
- 用户账号注册 / 登录 / 认证(OAuth2 / JWT
- 智能笔笔迹数据上传 / 下载
- AI 手写识别推理(OCR、笔顺评分、数学识别)
- 文件对象存储(OSS / COS
- MQTT / WebSocket 实时数据通道(笔迹实时同步)
- 设备管理、OTA 升级
大陆端 APP、SDK、设备固件的 API BaseURL 统一配置为:
```
https://api.writech.cn/v1/
```
### 2.3 前后端跨域调用(CORS
yink.ai 首页中的前端 JS 调用大陆 API 涉及跨域,通过标准 CORS 机制解决:
```
yink.ai 前端 JS
└─ fetch("https://api.writech.cn/v1/...")
└─ 大陆 API 服务端响应头配置:
Access-Control-Allow-Origin: https://yink.ai
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
```
配套要点:
- 大陆 API 网关(Nginx / API Gateway)统一拦截并注入 CORS 响应头,允许 `yink.ai``writech.ai` 两个来源,无需每个服务单独配置
- 用户 Token 使用 `Authorization: Bearer <token>` Header 方式传递,避免跨域 Cookie 的复杂性
- 敏感操作(注册、实名认证、支付)建议直接跳转至 `writech.cn` 页面完成,减少跨域风险面
### 2.4 海外数据服务(按需扩展)
当海外业务增长到需要独立节点时,通过阿里云 CDN 边缘脚本(EdgeScript)或 API 网关实现地区智能路由,无需改动客户端代码:
```
用户访问 yink.ai 首页
└─ 阿里云 CDN 边缘节点检测用户 IP 所在地区
├─ 大陆用户 → API BaseURL = https://api.writech.cn
└─ 海外用户 → API BaseURL = https://api-sg.yink.ai(新加坡)
或 https://api-us.yink.ai(美西)
```
- 海外 API 节点部署于新加坡 / 美西云服务器,用户数据按所在地合规存储
- 阿里云 CDN 边缘脚本提供地区检测能力,前端 JS 首次加载时调用一次,缓存地区信息后动态切换 API BaseURL
- 海外节点与大陆节点通过消息队列异步同步必要的公共数据(如产品目录、固件版本),用户私有数据不跨境传输
### 2.5 DNS 规划
.ai 和 .hk 域名 DNS 托管于**阿里云 DNS**.cn 域名 DNS 托管于**腾讯云 DNSPod**
| 记录 | 类型 | 指向 | DNS 平台 | 用途 |
|------|------|------|---------|------|
| **yink.ai** | **A** | **阿里云新加坡服务器** | **阿里云 DNS** | **品牌主域首页** |
| www.yink.ai | CNAME | yink.ai | 阿里云 DNS | 带 www 访问 |
| api.yink.ai | CNAME | api.writech.cn | 阿里云 DNS | 预留,转发至大陆 API |
| api-sg.yink.ai | A | 新加坡服务器 | 阿里云 DNS | 海外 API(按需) |
| writech.ai | A | 阿里云新加坡服务器 | 阿里云 DNS | 辅助域,301 跳转至 yink.ai |
| www.writech.ai | CNAME | writech.ai | 阿里云 DNS | 301 跳转至 yink.ai |
| writech.cn | A | 腾讯云广州服务器 | 腾讯云 DNSPod | 大陆数据服务(ICP 已备案) |
| api.writech.cn | A | 腾讯云广州服务器 | 腾讯云 DNSPod | 大陆数据 API |
| writech.hk | CNAME | yink.ai | 阿里云 DNS | 备用入口 |
---
## 三、电子邮件服务规划
### 3.1 可行性结论
**完全可行,推荐统一使用 `xxx@yink.ai`**
电子邮件走 SMTP / IMAP 协议,与网站是否在大陆 ICP 备案没有任何关系。只要 yink.ai 域名的 DNS MX 记录指向合规的企业邮件服务器,全体员工和所有客服地址均可统一使用 `@yink.ai` 后缀,国内外用户侧完全一致,品牌形象统一。
> **备注**:如有历史 `@writech.ai` 邮箱地址在外部流通,可同步在 writech.ai 域名下配置 MX 记录,将 `xxx@writech.ai` 来信转发到对应的 `xxx@yink.ai` 邮箱,确保过渡期不丢信。
### 3.2 推荐方案
**方案 A — 免费邮件转发服务(适合早期)**
```
yink.ai DNS 托管于阿里云
└─ 配置 MX 记录指向免费邮件转发服务(如 ImprovMX / ForwardEmail.net
└─ 将 xxx@yink.ai 转发到员工实际收件邮箱
├─ 个人员工:转发到各自的 Gmail / QQ 邮箱
└─ 客服角色:转发到飞书群邮箱 / 企业微信
└─ 发件配置:在 Gmail / Outlook 中添加"以其他地址发送"
配置 SMTP 凭据,对外显示 xxx@yink.ai 发出
```
优点:免费或极低成本,配置简单,无需购买额外服务
适合:公司初创期,人员 20 人以内
---
**方案 B — 腾讯企业邮箱(推荐,国内访问最稳定)**
```
yink.ai MX 记录 → 腾讯企业邮箱 MX 服务器(exmail.qq.com
└─ 管理后台统一分配 xxx@yink.ai 邮箱账号
└─ 支持 Web 端、Outlook、iPhone / Android 原生邮件 APP
└─ 大陆访问极速稳定,海外员工同样可用
```
- 费用约 **8 元/人/月**,腾讯企业邮箱明确支持 `.ai` 后缀域名
- 提供邮件归档、反垃圾、大附件等企业级功能
- 适合团队规模 10 人以上,长期使用推荐此方案
---
**方案 C — Google Workspace(国际形象,大陆需 VPN**
```
yink.ai MX 记录 → Google MX 服务器
└─ 全员 Google 账号,收发地址均为 xxx@yink.ai
└─ 大陆员工需通过 VPN 访问,不适合全员在国内的团队
```
适合:海外团队为主,或公司已有 VPN 基础设施
### 3.3 功能邮箱规划
| 用途 | 邮件地址 | 说明 |
|------|----------|------|
| 客户服务 | support@yink.ai | 统一对外,国内外用户均用此地址联系 |
| 商务合作 | bd@yink.ai | 渠道合作、商务洽谈 |
| 技术支持 | tech@yink.ai | 开发者、SDK 集成客户 |
| 媒体公关 | pr@yink.ai | 媒体采访、公关事务 |
| 管理员 | admin@yink.ai | 系统通知,内部使用 |
客服邮箱**国内外统一,不做地区区分**,后台由客服管理系统(如飞书、Zendesk)按用户语言或地区自动路由分派给对应客服人员处理。
### 3.4 必须配置的 DNS 邮件记录
邮件送达率依赖以下四类 DNS 记录,缺少任何一项都会导致邮件被对方标记为垃圾邮件:
```dns
# ===== yink.ai 主邮件域 =====
# 1. MX 记录 指定收件服务器(按选定方案填写)
yink.ai. MX 10 exmail.qq.com. # 腾讯企业邮箱示例
# 2. SPF 声明授权发件服务器,防伪造发件人
yink.ai. TXT "v=spf1 include:spf.mail.qq.com ~all"
# 3. DKIM 邮件内容数字签名,防篡改
selector._domainkey.yink.ai. TXT "v=DKIM1; k=rsa; p=<公钥由邮件服务商提供>"
# 4. DMARC 声明 SPF/DKIM 验证失败时的处理策略
_dmarc.yink.ai. TXT "v=DMARC1; p=quarantine; rua=mailto:admin@yink.ai"
# ===== writech.ai 辅助邮件域(过渡期接收转发)=====
writech.ai. MX 10 exmail.qq.com. # 同一邮件服务商
writech.ai. TXT "v=spf1 include:spf.mail.qq.com ~all"
```
> **说明**:以上记录中的具体值(MX 主机名、SPF include、DKIM 公钥)在选定邮件服务商后,由服务商管理后台提供,按实际值填写到对应 DNS 托管平台(阿里云 DNS)即可。writech.ai 辅助域的 MX 配置确保历史 @writech.ai 邮件可正常接收并转发至对应 @yink.ai 邮箱。
---
## 四、SSL / TLS 证书规划
全站 HTTPS 是安全底线,四个域名及其子域均须配置 SSL 证书。统一采用 **ZeroSSL** 作为证书签发服务,由 **writech.hk 服务器**集中运行 acme.sh 脚本完成所有域名的证书申请与自动续期,再分发至各业务服务器。
### 4.1 统一证书方案:ZeroSSL
**为什么选择 ZeroSSL**
- 免费 DV 证书,90 天有效期,通过 ACME 协议自动续期
- 根证书为 Sectigo(原 Comodo),全球浏览器和设备信任链完整,兼容性优于 Let's Encrypt 在部分老旧设备上的表现
- 提供 Web 管理面板(zerossl.com),可随时查看已签发证书状态
- 完整支持 ACME v2 协议,与 acme.sh 工具无缝集成
- 支持通配符证书(Wildcard)和多域名 SAN 证书
**证书覆盖范围**
| 域名 / 子域 | 证书类型 | 费用 | 有效期 / 续期 |
|------------|---------|------|---------------|
| yink.ai / *.yink.ai | DV 通配符 | 免费 | 90 天,acme.sh 自动续期 |
| writech.ai / *.writech.ai | DV 通配符 | 免费 | 90 天,acme.sh 自动续期 |
| writech.cn / *.writech.cn | DV 通配符 | 免费 | 90 天,acme.sh 自动续期 |
| writech.hk / *.writech.hk | DV 通配符 | 免费 | 90 天,acme.sh 自动续期 |
> **DV**Domain Validation)= 域名验证型证书,签发快、免费,满足绝大多数场景。若未来需要在浏览器地址栏显示企业名称(绿色标识),可升级为 OV/EV 证书。
### 4.2 证书管理架构
**writech.hk 服务器**承担证书集中管理节点的角色:
```
writech.hk 服务器(证书管理中心)
|
|-- acme.sh + ZeroSSL ACME
| |-- 申请/续期 yink.ai 通配符证书
| |-- 申请/续期 writech.ai 通配符证书
| |-- 申请/续期 writech.cn 通配符证书
| |-- 申请/续期 writech.hk 通配符证书
|
|-- cron 定时任务(每天凌晨 2:00 检查续期)
|
|-- 续期成功后自动分发证书文件
|-- SCP 推送至阿里云应用服务器
|-- SCP 推送至腾讯云应用服务器
|-- SCP 推送至私有云 Linux 服务器
|-- 各服务器执行 reload Nginx
```
**通配符证书验证方式**:通配符证书必须通过 DNS TXT 记录验证(DNS-01 Challenge)。acme.sh 内置阿里云 / 腾讯云(DNSPod)DNS API 插件,可全自动完成 DNS 记录的添加与清理,无需人工干预。
### 4.3 acme.sh 安装与配置(writech.hk
**首次安装 acme.sh**
```bash
# 安装 acme.sh(以普通用户身份运行,不要使用 root)
curl https://get.acme.sh | sh -s email=admin@yink.ai
# 将默认 CA 切换为 ZeroSSL
acme.sh --set-default-ca --server zerossl
# 注册 ZeroSSL 账号(首次使用需要)
acme.sh --register-account --server zerossl \
--eab-kid "<YOUR_EAB_KID>" \
--eab-hmac-key "<YOUR_EAB_HMAC_KEY>"
```
> **EAB 凭据获取**:在 zerossl.com 注册账号后,进入 Developer 页面生成 EAB KID 和 HMAC Key。
**申请通配符证书**(.ai / .hk 域名使用阿里云 DNS API):
```bash
# 配置阿里云 DNS API 凭据(用于 .ai 和 .hk 域名)
export Ali_Key="<YOUR_ALI_ACCESS_KEY>"
export Ali_Secret="<YOUR_ALI_SECRET_KEY>"
# 申请 yink.ai 通配符证书
acme.sh --issue --dns dns_ali \
-d "yink.ai" -d "*.yink.ai" \
--keylength ec-256
# 申请 writech.ai 通配符证书
acme.sh --issue --dns dns_ali \
-d "writech.ai" -d "*.writech.ai" \
--keylength ec-256
# 申请 writech.hk 通配符证书
acme.sh --issue --dns dns_ali \
-d "writech.hk" -d "*.writech.hk" \
--keylength ec-256
```
**申请 writech.cn 通配符证书**(使用腾讯云 DNSPod API):
```bash
# 配置腾讯云 DNSPod API 凭据(用于 .cn 域名)
export DP_Id="<YOUR_DNSPOD_ID>"
export DP_Key="<YOUR_DNSPOD_KEY>"
# 申请 writech.cn 通配符证书
acme.sh --issue --dns dns_dp \
-d "writech.cn" -d "*.writech.cn" \
--keylength ec-256
```
> **ec-256**:使用 ECC P-256 密钥,比传统 RSA 2048 握手更快、密钥更短,现代浏览器和服务器均已支持。
### 4.4 证书分发与部署
证书申请成功后,需要安装到各业务服务器。当前服务器清单:
| 服务器 | 角色 | 使用的证书 |
|-------|------|----------|
| **腾讯云应用服务器(广州)** | writech.cn 大陆数据服务 | writech.cn 通配符 |
| **阿里云应用服务器(新加坡)** | yink.ai / writech.ai 品牌站点及海外服务 | yink.ai + writech.ai 通配符 |
| **私有云 Linux 服务器** | 数据源站、用户账户信息源 | 按需部署各域名证书 |
| **writech.hk 服务器** | 证书管理中心 | yink.ai + writech.ai + writech.cn + writech.hk 通配符 |
**acme.sh 安装证书到本地(writech.hk 自身)**
```bash
# 安装 yink.ai 证书到 Nginx 目录
acme.sh --install-cert -d "yink.ai" -d "*.yink.ai" \
--key-file /etc/ssl/private/yink_ai.key \
--fullchain-file /etc/ssl/certs/yink_ai.pem \
--reloadcmd "sudo systemctl reload nginx"
# 安装 writech.ai 证书
acme.sh --install-cert -d "writech.ai" -d "*.writech.ai" \
--key-file /etc/ssl/private/writech_ai.key \
--fullchain-file /etc/ssl/certs/writech_ai.pem \
--reloadcmd "sudo systemctl reload nginx"
# 安装 writech.hk 证书
acme.sh --install-cert -d "writech.hk" -d "*.writech.hk" \
--key-file /etc/ssl/private/writech_hk.key \
--fullchain-file /etc/ssl/certs/writech_hk.pem \
--reloadcmd "sudo systemctl reload nginx"
```
**自动分发脚本(deploy_certs.sh**
acme.sh 续期成功后通过 `--reloadcmd` 触发此脚本,将证书推送到远程服务器:
```bash
#!/bin/bash
# deploy_certs.sh — 证书续期后自动分发到各业务服务器
# 部署在 writech.hk 服务器上,由 acme.sh --reloadcmd 触发
LOG_FILE="/var/log/cert_deploy.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')
# === 远程服务器列表 ===
ALIYUN_HOST="root@<阿里云内网IP>"
TENCENT_HOST="root@<腾讯云内网IP>"
PRIVATE_HOST="root@<私有云IP>"
# === 证书源路径 ===
CERT_DIR="$HOME/.acme.sh"
# === 分发函数 ===
deploy_cert() {
local host=$1
local domain=$2
local remote_cert_dir="/etc/ssl/certs"
local remote_key_dir="/etc/ssl/private"
echo "[$DATE] 分发 $domain 证书到 $host" >> $LOG_FILE
scp -q "${CERT_DIR}/${domain}_ecc/fullchain.cer" \
"${host}:${remote_cert_dir}/${domain//\./_}.pem"
scp -q "${CERT_DIR}/${domain}_ecc/${domain}.key" \
"${host}:${remote_key_dir}/${domain//\./_}.key"
ssh -q "$host" "sudo systemctl reload nginx" && \
echo "[$DATE] $host ($domain) 部署成功" >> $LOG_FILE || \
echo "[$DATE] $host ($domain) 部署失败!" >> $LOG_FILE
}
# === 分发 writech.cn 证书到大陆服务器 ===
deploy_cert "$ALIYUN_HOST" "writech.cn"
deploy_cert "$TENCENT_HOST" "writech.cn"
# === 分发所有域名证书到私有云服务器 ===
for domain in yink.ai writech.ai writech.cn writech.hk; do
deploy_cert "$PRIVATE_HOST" "$domain"
done
# === 重载本地 Nginxwritech.hk 自身)===
sudo systemctl reload nginx
echo "[$DATE] 本地 writech.hk Nginx 已重载" >> $LOG_FILE
echo "[$DATE] === 证书分发完成 ===" >> $LOG_FILE
```
**配置 acme.sh 续期后自动触发分发**
```bash
# 为每个域名设置续期后的部署钩子
acme.sh --install-cert -d "writech.cn" -d "*.writech.cn" \
--reloadcmd "/home/deploy/deploy_certs.sh"
```
> **SSH 免密登录**writech.hk 需预先配置到各远程服务器的 SSH Key 免密登录(`ssh-copy-id`),确保 SCP 和 SSH 命令无需交互。
### 4.5 Nginx HTTPS 配置模板
各服务器的 Nginx 推荐配置(以 writech.cn API 服务器为例):
```nginx
server {
listen 80;
server_name api.writech.cn writech.cn;
return 301 https://$host$request_uri; # HTTP 强制跳转 HTTPS
}
server {
listen 443 ssl http2;
server_name api.writech.cn;
ssl_certificate /etc/ssl/certs/writech_cn.pem;
ssl_certificate_key /etc/ssl/private/writech_cn.key;
# TLS 安全加固
ssl_protocols TLSv1.2 TLSv1.3; # 禁用 TLS 1.0/1.1
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
# HSTS — 告诉浏览器此后只允许 HTTPS 访问(建议上线稳定后开启)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# CORS 头(允许 yink.ai 和 writech.ai 前端跨域调用)
# 生产环境建议通过 Nginx map 动态匹配多个 Origin
add_header Access-Control-Allow-Origin "https://yink.ai" always;
add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always;
add_header Access-Control-Allow-Headers "Authorization, Content-Type" always;
location / {
proxy_pass http://127.0.0.1:8080; # 后端服务
}
}
```
> writech.hk 的 Nginx 配置类似,将 `ssl_certificate` 路径替换为对应域名的证书文件即可。
### 4.6 自动续期验证
acme.sh 安装时已自动注册 cron 任务,每天凌晨检查证书到期情况,距到期 30 天内自动续期:
```bash
# 查看 acme.sh 自动续期 cron
crontab -l | grep acme.sh
# 输出类似:0 2 * * * "/home/deploy/.acme.sh"/acme.sh --cron --home "/home/deploy/.acme.sh"
# 手动测试续期流程(不会真正续期,仅验证流程)
acme.sh --renew -d "yink.ai" -d "*.yink.ai" --force --dry-run
# 查看所有已管理证书的状态
acme.sh --list
```
### 4.7 证书监控与告警
证书过期是生产事故高频原因之一,建议配置多层监控:
| 方式 | 说明 |
|------|------|
| acme.sh cron 日志 | 续期脚本日志保存在 `~/.acme.sh/acme.sh.log`,可定期检查是否有续期失败记录 |
| deploy_certs.sh 日志 | 分发脚本日志保存在 `/var/log/cert_deploy.log`,记录每次推送结果 |
| ZeroSSL 管理面板 | 登录 zerossl.com 查看所有已签发证书的到期时间和状态 |
| 外部监控(推荐) | 使用 [UptimeRobot](https://uptimerobot.com)(免费)监控各域名 HTTPS 可用性,证书异常时自动邮件告警 |
| 脚本告警(推荐) | 在 deploy_certs.sh 中增加续期失败时发送邮件或企业微信/飞书通知的逻辑 |
---
## 五、整体架构
```
┌─────────────────────────────────┐
│ 用户(大陆 / 海外) │
└────────────────┬────────────────┘
│ HTTPS
┌─────────────┴─────────────┐
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ writech.cn │ │ yink.ai / writech.ai │
│ (大陆·ICP 已备案) │ │ (品牌站·海外服务) │
│ 腾讯云 · 广州 │ │ 阿里云 · 新加坡 │
│ 106.55.191.177 │ │ 47.84.109.13 │
│ │ │ │
│ · 用户认证 │ │ · 品牌首页 / 落地页 │
│ · 笔迹数据存储 │ │ · 海外用户服务 │
│ · AI 手写识别 │ │ · 算力 API 调用 │
│ · MQTT 实时通道 │ │ │
│ · OTA 固件升级 │ │ │
└───────────┬───────────┘ └───────────┬───────────┘
│ 数据读写 / 同步 │
└─────────────┬─────────────┘
┌─────────────────────────────┐
│ 私有云数据源站 │
│ 118.141.37.23 │
│ · 核心数据存储 │
│ · 用户账户信息源 │
│ · 大容量存储 │
└─────────────────────────────┘
┌─────────────────────────────────┐
│ 企业邮件(@yink.ai 统一域名) │
│ MX → 腾讯企业邮箱 │
│ SPF + DKIM + DMARC 全配置 │
└─────────────────────────────────┘
```
---
## 六、实施路线图
| 阶段 | 任务 | 预计周期 |
|------|------|----------|
| **第一阶段** | yink.ai / writech.ai DNS 在阿里云配置,writech.cn DNS 在腾讯云 DNSPod 配置 | 第 1 周 |
| **第一阶段** | 阿里云新加坡服务器搭建,静态首页上线 | 第 1-2 周 |
| **第一阶段** | writech.cn ICP 备案已完成,腾讯云广州 API 服务器上线 | 同步进行 |
| **第一阶段** | 企业邮箱开通(腾讯企业邮箱),SPF / DKIM / DMARC 配置,分配员工邮箱 | 第 1 周 |
| **第二阶段** | 大陆 APP / SDK / 固件 API BaseURL 统一切换至 `api.writech.cn` | 第 3-6 周 |
| **第二阶段** | 大陆 API 网关配置 CORS,允许 yink.ai / writech.ai 前端跨域调用 | 同步 |
| **第二阶段** | 阿里云 CDN 边缘脚本实现地区检测与智能路由 | 第 4 周 |
| **第三阶段** | 海外 API 节点上线(新加坡),前端智能路由切换 | 按业务需求 |
| **第三阶段** | 数据合规审查,确认海外数据不跨境传输 | 配套进行 |
---
## 七、关键注意事项
1. **ICP 备案已完成**writech.cn 已在腾讯云完成 ICP 备案,大陆数据服务正常运行
2. **yink.ai 首页内容合规**:首页面向全球,避免涉及敏感词汇,确保大陆用户可正常访问
3. **数据主权**:大陆用户产生的数据必须存储于 writech.cn 大陆服务器,不得将用户数据同步至香港或海外节点,符合《数据安全法》和《个人信息保护法》
4. **邮件发件域名一致性**:所有系统通知邮件(注册验证码、订单确认等)的发件地址统一使用 `noreply@yink.ai`,避免用 writech.cn 发信造成品牌形象分裂
5. **HTTPS 全站强制**yink.ai、writech.ai 和 writech.cn 所有端点必须强制 HTTPS,通过 ZeroSSL 统一签发免费 TLS 证书
6. **writech.ai → yink.ai 301 跳转**writech.ai 所有路径统一 301 永久跳转至 yink.ai 对应路径,集中 SEO 权重;确保历史链接、搜索引擎索引不失效