diff --git a/IT服务平台/ICT服务平台/互联网服务体系的建设.md b/IT服务平台/ICT服务平台/互联网服务体系的建设.md new file mode 100644 index 0000000..165fd81 --- /dev/null +++ b/IT服务平台/ICT服务平台/互联网服务体系的建设.md @@ -0,0 +1,367 @@ +# 自然写科技互联网服务体系规划建设 + +## 一、域名定位 + +自然写科技拥有四个域名,各自承担明确的角色分工: + +| 域名 | 角色 | 说明 | +|------|------|------| +| **yink.ai** | **品牌主域 / 全球前端** | 解析到香港服务器,对外统一宣传,所有营销材料、名片、包装统一使用此域名 | +| writech.ai | 品牌辅助域 | 与 yink.ai 指向同一站点,301 跳转至 yink.ai,保留完整品牌名的可达性 | +| writech.cn | 大陆数据服务 | ICP 备案,承载 API、存储、AI 处理,所有用户数据留存于大陆 | +| writech.hk | 备用 / 香港节点 | 可作 yink.ai 的 CNAME 或香港 CDN 源站备用入口 | + +**为什么选择 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) + +- 部署于香港云服务器(阿里云 HK / 腾讯云 HK),并接入 **Cloudflare** 全球 CDN +- 页面为纯静态(HTML / CSS / JS),内容基本不变,CDN 全球缓存后访问极快 +- 大陆用户访问 yink.ai 属于"浏览境外网站",只要页面不含敏感内容,一般可正常访问(与 GitHub Pages、Notion 等性质相同) +- 访问 writech.ai 自动 301 跳转至 yink.ai,两个域名共享同一香港源站 +- **首页服务器不存放任何用户数据**,仅作品牌展示与产品介绍 + +### 2.2 大陆数据服务(writech.cn) + +独立 ICP 备案,部署于大陆云服务器(阿里云 / 腾讯云),承载全部后端业务: + +- 用户账号注册 / 登录 / 认证(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 ` Header 方式传递,避免跨域 Cookie 的复杂性 +- 敏感操作(注册、实名认证、支付)建议直接跳转至 `writech.cn` 页面完成,减少跨域风险面 + +### 2.4 海外数据服务(按需扩展) + +当海外业务增长到需要独立节点时,通过 Cloudflare Worker 实现地区智能路由,无需改动客户端代码: + +``` +用户访问 yink.ai 首页 + └─ Cloudflare Worker 检测用户 IP 所在地区 + ├─ 大陆用户 → API BaseURL = https://api.writech.cn + └─ 海外用户 → API BaseURL = https://api-sg.yink.ai(新加坡) + 或 https://api-us.yink.ai(美西) +``` + +- 海外 API 节点部署于新加坡 / 美西云服务器,用户数据按所在地合规存储 +- Cloudflare Worker 提供 `/geo` 接口,前端 JS 首次加载时调用一次,缓存地区信息后动态切换 API BaseURL +- 海外节点与大陆节点通过消息队列异步同步必要的公共数据(如产品目录、固件版本),用户私有数据不跨境传输 + +### 2.5 DNS 规划 + +| 记录 | 类型 | 指向 | 用途 | +|------|------|------|------| +| **yink.ai** | **A / Proxied** | **Cloudflare CDN → 香港源站** | **品牌主域首页** | +| www.yink.ai | CNAME | yink.ai | 带 www 访问 | +| api.yink.ai | CNAME / Worker | Cloudflare Worker | 预留,可转发至 api.writech.cn | +| api-sg.yink.ai | A | 新加坡服务器 | 海外 API(按需) | +| writech.ai | A / Proxied | Cloudflare CDN → 同一香港源站 | 辅助域,301 跳转至 yink.ai | +| www.writech.ai | CNAME | writech.ai | 301 跳转至 yink.ai | +| writech.cn | A | 大陆云服务器 | 主备案域 | +| api.writech.cn | A | 大陆 API 服务器 | 大陆数据 API | +| writech.hk | CNAME | yink.ai | 香港备用入口 | + +--- + +## 三、电子邮件服务规划 + +### 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 — Cloudflare Email Routing(免费,适合早期)** + +``` +yink.ai DNS 托管于 Cloudflare + └─ 开启 Cloudflare Email Routing(免费功能) + └─ MX 记录自动指向 Cloudflare 邮件路由服务器 + └─ 将 xxx@yink.ai 转发到员工实际收件邮箱 + ├─ 个人员工:转发到各自的 Gmail / QQ 邮箱 + └─ 客服角色:转发到飞书群邮箱 / 企业微信 + └─ 发件配置:在 Gmail / Outlook 中添加"以其他地址发送" + 配置 SMTP 凭据,对外显示 xxx@yink.ai 发出 +``` + +优点:完全免费,5 分钟配置完成,无需购买额外服务 +适合:公司初创期,人员 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 公钥)在选定邮件服务商后,由服务商管理后台提供,按实际值填写到 Cloudflare DNS 即可。writech.ai 辅助域的 MX 配置确保历史 @writech.ai 邮件可正常接收并转发至对应 @yink.ai 邮箱。 + +--- + +## 四、SSL / TLS 证书规划 + +全站 HTTPS 是安全底线,四个域名及其子域均须配置 SSL 证书,且需兼顾成本、自动续期和多域名管理的便捷性。 + +### 4.1 各域名证书方案 + +| 域名 / 子域 | 推荐方案 | 证书类型 | 费用 | 有效期 / 续期 | +|------------|---------|---------|------|---------------| +| yink.ai / www / api.yink.ai | Cloudflare Universal SSL | DV 通配符 | 免费 | 自动续期,无需人工介入 | +| writech.ai / www.writech.ai | Cloudflare Universal SSL | DV 通配符 | 免费 | 自动续期,与 yink.ai 同一 Cloudflare 账户 | +| writech.cn / api.writech.cn | 云厂商免费证书(阿里云 / 腾讯云)| DV 单域名 | 免费 | 1 年,到期前自动或手动续期 | +| writech.hk | 随 yink.ai 走 Cloudflare | DV | 免费 | 自动 | +| 未来海外节点 api-sg / api-us | Let's Encrypt + Certbot 自动化 | DV 通配符 | 免费 | 90 天,cron 自动续期 | + +> **DV**(Domain Validation)= 域名验证型证书,签发快、免费,满足绝大多数场景。若未来需要在浏览器地址栏显示企业名称(绿色标识),可升级为 OV/EV 证书。 + +### 4.2 Cloudflare 侧(yink.ai / writech.ai) + +yink.ai 和 writech.ai 两个域名均托管到 Cloudflare 后,各自自动获得以下两层 TLS: + +``` +用户浏览器 ←─ Cloudflare Universal SSL(自动签发)─→ Cloudflare CDN 边缘节点 + │ +Cloudflare 边缘节点 ←─ Origin Certificate(15年有效)─→ 香港源站服务器 +``` + +- **前端(浏览器 → CDN)**:Cloudflare 自动签发 Universal SSL 证书,覆盖 `yink.ai` 及 `*.yink.ai`(同理 `writech.ai` 及 `*.writech.ai`)所有子域,零配置 +- **回源(CDN → 源站)**:在 Cloudflare 控制台生成 Origin Certificate(免费,最长 15 年有效),安装到香港源站 Nginx,确保回源链路也加密 +- **SSL 模式设为 Full (Strict)**:强制双向验证,杜绝中间人攻击 + +### 4.3 大陆侧(writech.cn) + +大陆 API 服务器不经过 Cloudflare,需独立申请和管理证书: + +**方案 A — 云厂商免费证书(推荐)** + +- 阿里云 / 腾讯云均提供 **免费 DV 证书**(每年可申请 20 张) +- 在控制台申请 → DNS 验证 → 自动签发 → 下载部署至 Nginx / API 网关 +- 到期前云厂商会邮件提醒,可设置自动续期 + +**方案 B — Let's Encrypt + Certbot 自动化** + +```bash +# 安装 Certbot(以 Ubuntu + Nginx 为例) +sudo apt install certbot python3-certbot-nginx + +# 申请证书(含 writech.cn 和 api.writech.cn) +sudo certbot --nginx -d writech.cn -d api.writech.cn + +# 自动续期已默认配置,验证: +sudo certbot renew --dry-run +``` + +- 完全免费,90 天有效期,Certbot cron 任务自动续期 +- 适合自建服务器(非云厂商托管)场景 + +### 4.4 Nginx HTTPS 配置模板 + +大陆 API 服务器的 Nginx 推荐配置: + +```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; # 后端服务 + } +} +``` + +### 4.5 证书监控与告警 + +证书过期是生产事故高频原因之一,建议配置监控: + +| 方式 | 说明 | +|------|------| +| Cloudflare 仪表盘 | yink.ai / writech.ai 证书由 CF 自动管理,可在 SSL/TLS 页面查看状态 | +| 云厂商短信/邮件提醒 | 阿里云 / 腾讯云证书到期前 30 天自动通知 | +| Certbot renew cron | Let's Encrypt 证书自动续期,配合 `--deploy-hook` 重载 Nginx | +| 外部监控(推荐) | 使用 [UptimeRobot](https://uptimerobot.com)(免费)监控各域名 HTTPS 可用性,到期前自动邮件告警 | + +--- + +## 五、整体架构 + +``` + ┌─────────────────────────────────┐ + │ 用户(大陆 / 海外) │ + └─────────────────┬───────────────┘ + │ HTTPS + ▼ + ┌─────────────────────────────────┐ + │ yink.ai(主)/ writech.ai(301跳转) │ + │ Cloudflare CDN · 香港源站 │ + │ 静态首页 / 品牌落地页 / 文档 │ + └──────────┬──────────────┬────────┘ + │ CORS API │ CORS API + ▼ ▼ + ┌───────────────────┐ ┌──────────────────────┐ + │ api.writech.cn │ │ api-sg.writech.ai │ + │ (大陆·ICP备案) │ │ (新加坡·按需上线) │ + │ 阿里云 / 腾讯云 │ │ 海外云服务器 │ + │ │ │ │ + │ · 用户认证 │ │ · 海外用户数据 │ + │ · 笔迹数据存储 │ │ · 独立合规存储 │ + │ · AI 手写识别 │ │ · 公共数据同步 │ + │ · MQTT 实时通道 │ │ │ + │ · OTA 固件升级 │ └──────────────────────┘ + └───────────────────┘ + + ┌─────────────────────────────────┐ + │ 企业邮件(@yink.ai 统一域名) │ + │ MX → 腾讯企业邮箱 / CF Routing │ + │ SPF + DKIM + DMARC 全配置 │ + └─────────────────────────────────┘ +``` + +--- + +## 六、实施路线图 + +| 阶段 | 任务 | 预计周期 | +|------|------|----------| +| **第一阶段** | writech.ai + yink.ai 域名托管至 Cloudflare,DNS 全面配置 | 第 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 前端跨域调用 | 同步 | +| **第二阶段** | Cloudflare Worker 实现 `/geo` 地区检测接口 | 第 4 周 | +| **第三阶段** | 海外 API 节点上线(新加坡),前端智能路由切换 | 按业务需求 | +| **第三阶段** | 数据合规审查,确认海外数据不跨境传输 | 配套进行 | + +--- + +## 七、关键注意事项 + +1. **ICP 备案是底线**:writech.cn 必须完成 ICP 备案才能在大陆正常提供服务,备案期间(约 20 个工作日)可先用香港服务器临时承载 +2. **yink.ai 首页内容合规**:首页面向全球,避免涉及敏感词汇,确保大陆用户可正常访问 +3. **数据主权**:大陆用户产生的数据必须存储于 writech.cn 大陆服务器,不得将用户数据同步至香港或海外节点,符合《数据安全法》和《个人信息保护法》 +4. **邮件发件域名一致性**:所有系统通知邮件(注册验证码、订单确认等)的发件地址统一使用 `noreply@yink.ai`,避免用 writech.cn 发信造成品牌形象分裂 +5. **HTTPS 全站强制**:yink.ai、writech.ai 和 writech.cn 所有端点必须强制 HTTPS,Cloudflare 可免费提供 TLS 证书 +6. **writech.ai → yink.ai 301 跳转**:writech.ai 所有路径统一 301 永久跳转至 yink.ai 对应路径,集中 SEO 权重;确保历史链接、搜索引擎索引不失效