diff --git a/开发文档/8、部署/06-存客宝宝塔/20260810_NAS安全模块登录会话修复.md b/开发文档/8、部署/06-存客宝宝塔/20260810_NAS安全模块登录会话修复.md new file mode 100644 index 0000000000..51c3471a45 --- /dev/null +++ b/开发文档/8、部署/06-存客宝宝塔/20260810_NAS安全模块登录会话修复.md @@ -0,0 +1,31 @@ +# NAS 安全模块“API Key 无效”修复记录 + +- 日期:2026-08-10 +- 入口:`http://open.quwanzhi.com:8899/?tab=security`、`http://192.168.110.101:8899/?tab=security` +- 部署位置:公司 NAS `/volume1/docker/workphone-sdk` + +## 根因 + +安全模块接口会接受控制台登录会话。但 NAS 运行在 HTTP 入口时,旧代码仍按生产环境为 Cookie 固定加上 `Secure` 属性;浏览器会拒绝在 HTTP 页面保存该 Cookie,导致安全模块请求没有登录会话并返回“API Key 无效”。 + +## 修复 + +1. 控制台 Cookie 改为按访问协议决定是否设置 `Secure`:HTTPS 或反向代理声明 HTTPS 时保持 `Secure`;NAS HTTP 局域网入口不设置该属性。 +2. 保留 `HttpOnly`、`SameSite=Strict`、签名会话、会话有效期和 API Key 校验;未放宽接口认证。 +3. 同步 `sdk/app/main.py`、`sdk/app/config.py` 到 NAS,并重建 `workphone-sdk` 容器。 + +## 验收结果 + +| 检查项 | 结果 | +|---|---| +| NAS SDK 容器 | `healthy` | +| HTTP 登录 | `200` | +| Cookie | 含 `HttpOnly; SameSite=Strict`,HTTP 入口不含 `Secure` | +| 登录会话 | `authenticated: true` | +| 安全模块读取 | `200` | +| 公开域名安全模块读取 | `200` | +| 公开健康接口 | `healthy` | + +## 使用说明 + +发布后,请在上述入口刷新一次页面;如浏览器仍保留旧会话,退出后重新登录即可。进入“安全模块”不再要求手工输入 API Key。