From 69d9f010a9b237a0c2953e005649e46b6a5ec100 Mon Sep 17 00:00:00 2001 From: yueli Date: Wed, 23 Sep 2026 17:16:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E7=94=9F=E4=BA=A7=20compose=20?= =?UTF-8?q?=E8=A1=A5=E4=B8=8A=20MOM=5FINTERNAL=5FAPI=5FKEY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:c7f8588「新增对内接口,让 Track 能提交生产报废」已经提交了 config.py 的 MOM_INTERNAL_API_KEY 读取与 api/v1/internal.py 的实现, 但 docker-compose.prod.yml 忘了同步 —— 生产环境压根不会注入这个变量。 后果:不是"悄悄放行",而是 fail-closed 一直 503。内部接口在生产上 根本不可用,Track 提交生产报废会全部失败。 ★ 刻意**不给默认值**(${MOM_INTERNAL_API_KEY:-}):未配置时内部接口返回 503,而不是让一个写接口用着众所周知的密钥在生产上悄悄打开。 部署时必须在服务器 .env 里显式配置,且与 Track 侧配同一个值。 注:开发用的 docker-compose.yml 早已包含此项,本次只补齐生产侧。 --- docker-compose.prod.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index fdb3ee1..c2cfb63 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -44,6 +44,12 @@ services: TRACK_WEBHOOK_KEY: ${TRACK_WEBHOOK_KEY:-2ce5fedb48fde3fd7e0abf67472a5027b03e9ae6f19cf768} TRACK_API_URL: http://track_backend_prod:8000 TRACK_OUTBOUND_WEBHOOK_URL: http://track_backend_prod:8000/api/v1/external/webhooks/mom-outbound + # ★ 对内接口(Track → MOM 生产报废受理)共享密钥,请求头 X-API-Key。 + # 与 TRACK_WEBHOOK_KEY 刻意分离(方向相反、权限不同),独立轮换。 + # ★ 刻意**不给默认值** —— 未配置时内部接口 503(Fail-Closed), + # 而不是让一个写接口用着众所周知的密钥在生产上悄悄打开。 + # 部署时必须在服务器 .env 里显式配置,且与 Track 侧配同一个值。 + MOM_INTERNAL_API_KEY: ${MOM_INTERNAL_API_KEY:-} depends_on: - db # 加入 mom_net 外部网络,与 Track 生产容器互通