P2-2部署尝试+compose通配符修复 / D2收尾(唯一单号+前后断言+H5回归17过) / P2-1 StorefrontAdmin真分页 / 后端511+PG4

This commit is contained in:
seagull
2026-09-13 00:25:50 +08:00
parent eef7be7258
commit e0e1430e8d
10 changed files with 319 additions and 33 deletions
+16 -2
View File
@@ -44,11 +44,25 @@
门禁静默通过,生产接受任意 Host。修法:显式拒绝通配符(`backend/config/settings/prod.py`),
验证见 §一#4/#5。无测试依赖 prod 通配符(全仓 grep `settings.prod` 零命中)。
**本轮追加(2026-09-13)**:`backend/docker-compose.yml`(1Panel 上线栈)的
`backend`/`worker` 两处 `DJANGO_ALLOWED_HOSTS: "*"` 硬编码,与 prod.py 的
通配符门禁直接冲突 —— 该 compose 一上线就会被 prod 拒绝启动。
修法:改为 `${DJANGO_ALLOWED_HOSTS:?required}`,与 `DJANGO_SECRET_KEY` /
`POSTGRES_PASSWORD` 同级必填,上线时必须显式传入真实域名。
`backend/infra/docker/docker-compose.yml`(本地自带 db 栈)无此问题(未设该变量,
走 prod 门禁显式报错)。`docker compose config` 需带齐三个变量重验:
`DJANGO_SECRET_KEY=x DJANGO_ALLOWED_HOSTS=example.com POSTGRES_PASSWORD=x`。
## 四、诚实记录(未做,不虚报)
1. **镜像构建未跑**:需 Docker daemon 完整构建上下文(含 `npm ci` 拉包),
本机 `docker compose config` 仅做插值校验(§一#1),`build/up` 留待目标机。
1. **镜像构建未跑**:本机 Docker daemon 未运行(`docker compose build` 报
`failed to connect to the docker API at npipe://...dockerDesktopLinuxEngine`),
且首次不带变量构建即暴露插值必填(`DJANGO_SECRET_KEY/POSTGRES_PASSWORD required`)。
`build/up` 留待 Docker 就绪的目标机。Dockerfile 多阶段构建本身未动(Node20 前端构建 +
Python3.12 后端,`frontend_dist` 由镜像内构建,不依赖宿主 `dist/`)。
2. **未上线 192.168.5.7**:无服务器凭证,`up -d` 与三接口冒烟留待部署时按 §二执行。
上线前必须先按 §三追加项设置 `DJANGO_ALLOWED_HOSTS=真实域名`(compose 现为必填,
不传则 config 直接报错,不会静默带 `*` 上线)。
3. **日志轮转/备份无代码交付**:现状应用层无文件日志、无备份脚本,
§二对应项为运维动作,仓库不伪造实现。
4. **P3-1 行业专版跳过**:按 NEXT_PLAN P3-1/D3 定调"按客户驱动,不提前做",