# Plaza 由 105 入口转发到 Studio `plaza.tkmind.cn` 现在解析到 105 服务器,105 只负责公网入口和反代,最终回源到 Studio 上的 Plaza 生产服务。 ## 架构 ```text 浏览器 / 微信 ↓ 105 公网入口(plaza.tkmind.cn) ↓ nginx / 反代 Studio / 本机生产机 ├─ :3001 Plaza Next.js(/plaza、/_next) │ └─ rewrites → :8081(/api、/auth、/u) └─ :8081 Memind Portal(server.mjs) ``` Next.js 通过 `PLAZA_API_PROXY` 把 API 请求转发到 Portal,无需单独 nginx。105 侧只负责把 `https://plaza.tkmind.cn/plaza` 回源到 Studio 的 `:3001`。 ## 运行前提 - 105 上 nginx 配置正常,`/plaza` 和 `/_next` 代理到 Studio - Studio 上 Plaza 已完成 `next build` - Studio 上 Plaza 生产进程正在监听 `127.0.0.1:3001` - Studio 上 Portal 正在监听 `127.0.0.1:8081` ## 日常启动 ```bash # Studio 上启动 Plaza 生产模式 pnpm start:plaza # 开发模式(热更新,仅本地调试) pnpm dev:plaza # 全栈(MindSpace + Plaza + Ops) pnpm dev ``` ## 访问方式 | 场景 | 地址 | |------|------| | 本机直连 | http://127.0.0.1:3001/plaza | | 105 公网入口 | https://plaza.tkmind.cn/plaza | | 浏览器强制本地 | `pnpm open:plaza` | ## 常见故障 ### 访问 502 优先按这个顺序检查: 1. Studio 上 `http://127.0.0.1:3001/plaza` 是否返回 200 2. Studio 上 Plaza 生产进程是否还在 3. 105 上 nginx 是否已经 reload 到最新配置 如果 Studio 的 `:3001` 没起来,105 再怎么转发也会 502。 ### Studio 启动失败 如果 `pnpm start:plaza` 一直退出,优先看 `~/Library/Logs/plaza-prod.log`。这次修复里我们遇到过两类问题: - `next/font/google` 在离线构建时会拉不到字体资源 - 类型检查会因为事件批处理数组的推断过宽而失败 ## 已弃用 - 把 `plaza.tkmind.cn` 直接指到本机 `127.0.0.1` 的旧本地劫持流程 - 直接把 `plaza.tkmind.cn` 说明成 Cloudflare Tunnel 直连本机的旧说法 - “105 已停用、Plaza 全在本机且不经过 105”的旧文档描述