a8a497b4ce
微信公众平台配置「JS接口安全域名 / 网页授权域名」时会下发 MP_verify_xxx.txt, 要求能从域名根目录直接访问。文件放宿主机 /home/workspace/wechat-verify, 只读挂进容器(不进镜像、不进 git —— 它随时可能重发,且属站点凭证类文件)。 未设 WECHAT_VERIFY_DIR 时这段完全不生效。 **第一版写成了独立路由 `/:mpfile`,直接把官网打挂**:它匹配所有单段路径, 于是 /pricing、/download 全变 404(实测确认)。改为并进 NoRoute 的 SPA 兜底里, 在"已排除 /api/ 与内嵌静态文件"之后、回退 index.html 之前处理。 文件名白名单:必须 MP_verify_ 前缀 + .txt 后缀、不含路径分隔符与 .., 否则落 SPA 兜底 —— 避免把挂载目录变成任意文件下载口子。 回归验证:/ /pricing /download /admin 均 200,校验文件取到正确内容, /passwd.txt 与路径穿越都只拿到 index.html。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>