Files
AIclinicalresearch/docs/05-部署文档/_archive-2025首次部署/SSL 证书域名SAE配置指南.md
HaHafeng 6124c7abc6 docs(platform): Add database documentation system and restructure deployment docs
Completed:
- Add 6 core database documents (docs/01-平台基础层/07-数据库/)
  Architecture overview, migration history, environment comparison,
  tech debt tracking, seed data management, PostgreSQL extensions
- Restructure deployment docs: archive 20 legacy files to _archive-2025/
- Create unified daily operations manual (01-日常更新操作手册.md)
- Add pending deployment change tracker (03-待部署变更清单.md)
- Update database development standard to v3.0 (three iron rules)
- Fix Prisma schema type drift: align @db.* annotations with actual DB
  IIT: UUID/Timestamptz(6), SSA: Timestamp(6)/VarChar(20/50/100)
- Add migration: 20260227_align_schema_with_db_types (idempotent ALTER)
- Add Cursor Rule for auto-reminding deployment change documentation
- Update system status guide v6.4 with deployment and DB doc references
- Add architecture consultation docs (Prisma guide, SAE deployment guide)

Technical details:
- Manual migration due to shadow DB limitation (TD-001 in tech debt)
- Deployment docs reduced from 20+ scattered files to 3 core documents
- Cursor Rule triggers on schema.prisma, package.json, Dockerfile changes

Made-with: Cursor
2026-02-27 14:35:25 +08:00

74 lines
4.4 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.
# **子域名 iit.xunzhengyixue.com SSL 证书全流程配置指南 (针对 SAE/CLB 架构)**
根据你的《2025版部署手册》你的公网入口为 CLBIP: 8.140.53.236),后端为 SAE 应用。为了满足企业微信/服务号的 HTTPS 强制要求,请严格按照以下四个阶段执行操作。
## **阶段一:证书申请(在你的阿里云账号操作)**
1. **进入控制台**:登录你的阿里云账号,搜索进入 **“数字证书管理服务”**。
2. **创建证书名额**
* 点击 **“正式证书”** \-\> **“个人测试证书(免费)”**。
* 点击 **“创建证书”**,获得一个“待申请”状态的名额(每年有 20 个免费额度)。
3. **提交申请信息**
* 在对应条目点击 **“证书申请”**。
* **证书绑定域名**:填写 iit.xunzhengyixue.com。
* **域名验证方式****必须选择“DNS 验证”**。
* **CSR 生成方式**:选择“系统生成”。
4. **获取验证信息**:提交后,页面会显示 **主机记录**(如 \_dnsauth.iit**记录值**(一串随机长字符串)。请记录下来发给持有域名的同事。
## **阶段二:域名连接与验证(跨账号协作)**
此阶段需要你同事在其阿里云账号xunzhengyixue.com 持有者)下操作:
1. **建立 A 记录(建立连接)**
* **主机记录**iit
* **记录类型**A
* **记录值**8.140.53.236(指向你的 SAE CLB 公网 IP
* **目的**:让访问者能找到你的服务器。
2. **建立 TXT 记录(证书验证)**
* **主机记录**:填写你从阶段一获得的 \_dnsauth.iit。
* **记录类型**TXT
* **记录值**:填写你发给他的那串长字符串。
* **目的**:证明你对该子域名拥有控制权。
3. **完成签发**:同事添加成功后,回到你的证书控制台点击 **“验证”**。等待 10-30 分钟,状态变为“已签发”。
## **阶段三SAE 部署证书(核心步骤)**
等证书签发后需要将“钥匙”挂在大门CLB上。
1. **下载证书**:在控制台点击下载,服务器类型选择 **“Nginx”**。解压得到 .pem证书和 .key私钥文件。
2. **配置 SAE 访问设置**
* 进入 SAE 控制台 \-\> 应用 frontend-nginx-service \-\> **访问设置**
* 找到已有的公网 CLB 访问记录,点击 **“修改配置”**。
3. **添加 HTTPS 443 监听**
* **保留原有 80 端口规则**:不要删除它。
* **添加监听**
* **协议**HTTPS
* **HTTPS 端口**443标准加密端口
* **SSL 证书**:选择“自定义上传”,用记事本打开那两个文件,完整复制内容贴入对应的“证书内容”和“私钥内容”框中。
* **双向认证****必须关闭 (OFF)**。
* **容器端口**:填写 80对应你手册 5.2 节 Nginx 容器的端口)。
4. **开启 HTTP 重定向至 HTTPS**
* 在刚才的“修改配置”弹窗中,找到 **HTTP 80** 那一行规则。
* 勾选下方的 **“HTTP 重定向至 HTTPS”** 开关。
* **目的**:用户输入 http://... 会自动强制跳转到安全的 https://...。
## **阶段四:验证与微信端联调**
1. **全链路测试**
* 访问 https://iit.xunzhengyixue.com/api/v1/health。
* 若返回 JSON 且地址栏显示“小绿锁”,说明 HTTPS 链路已通。
2. **微信校验文件部署**
* 从企业微信/服务号后台下载 WW\_verify\_xxx.txt。
* 放入前端代码的 public 目录(这样打包后会在根目录)。
* 运行 docker build 和 docker push参考手册 11.1 节)。
* 在 SAE 点击“部署应用”更新镜像。
* 确保 https://iit.xunzhengyixue.com/WW\_verify\_xxx.txt 可被外部访问。
## **💡 避坑总结**
* **端口别写错**:是 **443**,不是 433 或其他。
* **双向认证**:千万别开,开了 PI 的手机就连不上了。
* **容器端口**CLB 负责解密,解密后依然把流量发给容器的 **80** 端口,所以容器端口填 80 是正确的。
* **解析优先级**:同事加 A 记录时,确保没有冲突的 CNAME 记录指向同一主机名 iit。
**当前状态**SOP Fully Detailed | **建议**:证书签发后,第一时间按“阶段三”进行 CLB 配置。