2026-05-25-10-21-17 部署并验证 ReVoxelSeg DICOM 服务

This commit is contained in:
2026-05-25 10:30:35 +08:00
parent d1fa79aef9
commit a08bf908c9
6 changed files with 175 additions and 1 deletions

View File

@@ -1887,3 +1887,21 @@ C. 解决问题方案
D. 后续如何避免问题
自动优化类页面应优先提供可视化验证,而不是只展示候选表格。高精度 STL preview 继续使用 JSON 时,必须关注响应大小、压缩和代理限制;若后续仍遇到大模型传输问题,应考虑二进制 preview、分块流式加载或按切片局部计算而不是继续扩大单次 JSON。
## 2026-05-25-10-21-17 公网部署需要同时验证首页和 API
A. 具体问题
用户要求重新部署 `https://revoxel.huijutec.cn/`。本机 `4000` 服务启动后,公网 `/api/health` 返回 200但公网首页返回 403`Blocked request. This host ("revoxel.huijutec.cn") is not allowed.`
B. 产生问题原因
当前约定的 `npm run serve` 默认未设置 `NODE_ENV=production`Express 会挂载 Vite middleware而不是只走 `dist/` 静态文件。Vite 6 会校验 Host请求从公网域名进入时不在 `server.allowedHosts` 中,因此首页被 Vite 拦截API 路由位于 Vite 中间件之前,所以 `/api/health` 仍然正常。
C. 解决问题方案
`WebSite/server.ts``createViteServer` 配置和 `WebSite/vite.config.ts` 中加入 `allowedHosts: ['revoxel.huijutec.cn']`,重新执行 `npm run build`,再用 `tmux` 会话 `revoxelseg-dicom` 启动 `npm run serve -- --host 0.0.0.0 --port 4000`。验证本机首页、本机 `/api/health`、公网首页和公网 `/api/health` 均返回 200。
D. 后续如何避免问题
部署验证不能只看 API 健康检查,还要同时验证首页 HTML因为 Vite host 检查、静态资源路径和反代规则可能只影响页面入口。只要继续用 Vite middleware 方式提供公网访问,就要把公网域名写入 `allowedHosts`;如果后续改为 `NODE_ENV=production` 纯静态部署,也需要单独验证静态资源和 API 是否都通过同一反代链路。