返回 Bug 清单
BUG-1416project-53高已修复frontend-integration

Nginx 嵌套 auth location proxy_pass 剥前缀导致 NestJS 路由 404

发现:2026-10-27验证:2026-10-27置信度:90%

症状

send-code/forgot-password/reset-password 所有 auth 新端点 nginx 代理后返回 404,但容器内 wget 直连完全正常

根因

nginx 写了两个平级但路径重叠的 location:/api/(通用 API)和 /api/v1/auth/(auth 专用限流),两者 proxy_pass 都带斜杠。请求 /api/v1/auth/send-code 被更具体的 /api/v1/auth/ 匹配,proxy_pass http://api/ 剥掉 /api/v1/auth/ 前缀 → API 收到 /send-code(NestJS 实际路由是 /v1/auth/send-code)

修复方案

删掉 auth 专用 location,让 auth 路由走通用的 /api/ location(proxy_pass http://api/ 只剥 /api/ 前缀 → /v1/auth/send-code 正确)。如果需要 auth 更严格限流,要么 rewrite 不剥前缀,要么在通用 /api/ 里调 limit_req 参数

错误签名

Cannot POST /send-code Not Found 404

技术信息

来源项目

project-53

涉及文件

nginx.prod.conf

标签

project-53, mcp-reported, source-agent