docs: update public entry topology and 502 playbook

This commit is contained in:
WuYongJie 2026-10-13 13:46:43 +08:00
parent c43823863f
commit b93a7647d4

View File

@ -45,14 +45,14 @@ npm run lint # ESLint
**物理服务器:** **物理服务器:**
- 生产服务器:`192.168.58.20` - 生产服务器:`192.168.58.20`
- 构建服务器:`192.168.40.206`(部署脚本内的固定值;旧文档中的 `192.168.42.134` 已不是部署入口) - 构建服务器:`192.168.40.206`(部署脚本内的固定值;旧文档中的 `192.168.42.134` 已不是部署入口)
- 香港公网服务器:`103.118.245.6`(FRP 入口 + Nginx 反向代理) - 公网入口服务器:`218.93.9.38`(FRP 入口 + Nginx 反向代理;2026-10-06 核实,原香港服务器 `103.118.245.6` 已下线)
- 上游报表库:`218.93.9.21`(SQL Server 2019,人事与组织架构数据源) - 上游报表库:`218.93.9.21`(SQL Server 2019,人事与组织架构数据源)
**公网访问架构:** **公网访问架构:**
- 域名:`sc.jiansun.vip`(素材平台)、`s3.jiansun.vip`(MinIO) - 域名:`sc.jiansun.vip`(素材平台)、`s3.jiansun.vip`(MinIO)
- 公网入口:香港服务器 103.118.245.6 - 公网入口:218.93.9.38(生产机 frpc 配置自 2026-08-02 起指向此地址)
- FRP 服务:`frps-jiansun-entry`(端口 7002) - FRP 服务:`frps-sucai`(端口 7003,只放行远端端口 2321-2326)。同机 7002 是 furniture 项目的 frps,别混用
- 生产服务器通过 FRPC 连接到香港服务器 - 生产服务器通过 FRPC 连接到入口服务器:配置 `/etc/frp/frpc-*-entry.toml`,日志 `/root/frp/frpc-*-entry.log`
- Nginx 反向代理:sc.jiansun.vip → 127.0.0.1:2321,s3.jiansun.vip → 127.0.0.1:2323 - Nginx 反向代理:sc.jiansun.vip → 127.0.0.1:2321,s3.jiansun.vip → 127.0.0.1:2323
**Docker 网络:** **Docker 网络:**
@ -91,6 +91,19 @@ scgi_temp_path <proxy_dir>/tmp/scgi;
``` ```
并 `mkdir -p` 这些目录、`chown -R nobody:nogroup`、`chmod 700`,再 reload。诊断时先看 `local-proxy/.../error.log` 有没有 `open() "..." failed (13: Permission denied)`。 并 `mkdir -p` 这些目录、`chown -R nobody:nogroup`、`chmod 700`,再 reload。诊断时先看 `local-proxy/.../error.log` 有没有 `open() "..." failed (13: Permission denied)`。
### ⚠️ 公网 502 排查顺序(2026-10-06 事故)
**现象**:`sc.jiansun.vip` 整站返回 nginx 502。
**本次是两层原因叠加**:
1. 应用 / Redis / Postgres 三个容器从 9-30 起处于停止状态(退出码 0,不是崩溃,停止原因未查明),10-03 服务器重启后也没有被拉起
2. 10-03 下午起公司防火墙拦截了生产机出网,FRP 隧道连不上入口机。第 1 层修好后公网仍是 502,防火墙放开后才恢复
**排查顺序**(登录生产机执行):
1. `docker ps -a` 看应用容器(以 `current-container` 文件为准)、`gongxiangpan-redis`、`gongxiangpan-postgres-1` 是否在跑。停了就按 Postgres → Redis → 应用的顺序 `docker start`
2. `curl http://127.0.0.1:4320/api/health`:返回 200 说明应用和本地反代都正常,问题在公网链路
3. 看 `/root/frp/frpc-sc-entry.log`:如果满屏 `dial tcp 218.93.9.38:7003: i/o timeout`,再从生产机访问任意外网地址,全部超时就是出网被拦。这时找网管查公司防火墙,不用动应用
### 上游报表库(人事与组织架构数据源) ### 上游报表库(人事与组织架构数据源)
@ -287,14 +300,15 @@ docker restart youyidian-3d-material
| 服务器 | IP地址 | SSH别名 | 密钥文件 | 用途 | | 服务器 | IP地址 | SSH别名 | 密钥文件 | 用途 |
|--------|--------|---------|---------|------| |--------|--------|---------|---------|------|
| 生产服务器 | 192.168.58.20 | `prod` | `youyidian_prod_ed25519` | 应用容器、数据库、Redis | | 生产服务器 | 192.168.58.20 | 直接用 IP(`prod` 别名已删除) | `youyidian_prod_ed25519` | 应用容器、数据库、Redis |
| 构建服务器 | 192.168.42.134 | `build` | `id_rsa_build_192.168.42.134` | Docker镜像构建 | | 构建服务器 | 192.168.42.134 | `build` | `id_rsa_build_192.168.42.134` | Docker镜像构建 |
| 香港公网服务器 | 103.118.245.6 | - | - | FRP 入口、Nginx 反向代理 | | 公网入口服务器 | 218.93.9.38 | - | root 密码登录(密码不入库) | FRP 入口、Nginx 反向代理 |
| License服务器 | 122.51.149.232 | `license-server` | `id_ed25519_license_122.51.149.232` | License服务 | | License服务器 | 122.51.149.232 | `license-server` | `id_ed25519_license_122.51.149.232` | License服务 |
| 腾讯云服务器 | 45.249.208.118 | `tencent` | `tencent_server.pem` | 腾讯云服务器 | | 腾讯云服务器 | 45.249.208.118 | `tencent` | `tencent_server.pem` | 腾讯云服务器 |
**已废弃服务器:** **已废弃服务器:**
- 旧镇江服务器 180.97.221.140(已封禁,不再使用) - 旧镇江服务器 180.97.221.140(已封禁,不再使用)
- 原香港服务器 103.118.245.6(已下线;`~/.ssh/config` 里的 `frp` 别名仍指向它,勿用)
**未识别的密钥**: **未识别的密钥**:
- `id_rsa` / `id_rsa.pub` - 默认密钥(保留不动) - `id_rsa` / `id_rsa.pub` - 默认密钥(保留不动)
@ -302,16 +316,13 @@ docker restart youyidian-3d-material
**连接方式**: **连接方式**:
```bash ```bash
# 使用别名(推荐) ssh 192.168.58.20 # 生产服务器(~/.ssh/config 已配好密钥)
ssh prod # 生产服务器 ssh build # 构建服务器
ssh build # 构建服务器 ssh tencent # 腾讯云服务器
ssh frp # FRP服务器
ssh tencent # 腾讯云服务器
# 使用IP
ssh 192.168.58.20
``` ```
**公网入口服务器 218.93.9.38**:root 密码登录,密码向维护人员索取。Windows 下用 `plink -batch -hostkey <指纹> -pw <密码> root@218.93.9.38`;2026-10-06 首次连接记录的指纹是 `SHA256:UwFngDHnyUFNAszlwbtVzBc4NdZMwCCfOz+8yoJvgKs`(未经第二渠道核对)。
**配置文件**:`C:\Users\54972\.ssh\config`(已配置好 IdentityFile) **配置文件**:`C:\Users\54972\.ssh\config`(已配置好 IdentityFile)
#### 查看密码的方式 #### 查看密码的方式
@ -352,6 +363,7 @@ ssh root@192.168.58.20 "cat /root/youyidian-3d/.env 2>/dev/null || echo 'No .env
当密码变更时,在此处记录: 当密码变更时,在此处记录:
- **2026-01-27**:初始记录,建立密码管理机制 - **2026-01-27**:初始记录,建立密码管理机制
- **2026-05-05**:公网接入迁移到香港服务器 103.118.245.6 - **2026-05-05**:公网接入迁移到香港服务器 103.118.245.6
- **2026-10-06**:核实公网入口已换为 218.93.9.38,原香港服务器 103.118.245.6 已下线
--- ---