docs: daily log - auth reliability fixes (Secure flag + glob match)
This commit is contained in:
@ -378,3 +378,31 @@
|
||||
- 2837 条划线 + 226 条想法 ✅ 全部正常导出
|
||||
- 文件名:`遥远的救世主.md`(不再有数字)
|
||||
- 无需额外权限,纯 API 调用完成
|
||||
|
||||
## 收尾:认证可靠性修复(23:05~23:15)
|
||||
|
||||
### 问题1:有的设备频繁要密码
|
||||
- **根因**:Set-Cookie 缺少 `Secure` 标志
|
||||
- 浏览器看到 HTTPS 连接(经 Caddy 终止 TLS),但 cookie 无 `Secure` 标志
|
||||
- 移动端浏览器(尤其 Safari/Chrome iOS)可能将无 Secure 的 cookie 视为 session-only,关闭页面即丢失
|
||||
- **修复**:`cookie_val` 加入 `Secure;`
|
||||
- 注意:虽然 Caddy → auth_proxy 是内部 HTTP,但浏览器看到的是 HTTPS,所以 `Secure` 标志是必要的
|
||||
|
||||
### 问题2:有的设备点进去页面不见
|
||||
- **根因**:Caddy 的 `header Cookie "sess=*"` glob 匹配只匹配 header **开头**
|
||||
- 当浏览器累积了多个 `.xybkwd.top` 的 cookie(如 Gitea session、其他服务 token),`sess=` 不在 header 最前面时,匹配失败
|
||||
- Caddy 认为"无 cookie" → 302 到登录页 → 但实际有 cookie → 循环/白页
|
||||
- **修复**:`sess=*` → `*sess=*`(通配符前置,匹配 header 中任意位置)
|
||||
|
||||
### 测试全部通过
|
||||
```
|
||||
1. 仅 sess cookie → 200 ✅
|
||||
2. sess 在中间(其他 cookie 前后夹击)→ 200 ✅
|
||||
3. 无 cookie → 302 ✅
|
||||
4. 登录 → 302 ✅
|
||||
5. 带 cookie 访问 → 200 ✅
|
||||
```
|
||||
|
||||
### 已推送 Gitea
|
||||
- `fxy/nav-page` commit `eefe9ac` — Caddyfile `sess=*` → `*sess=*`
|
||||
- `beast/server-ops` commit `65d28af` — auth_proxy 加 `Secure` 标志
|
||||
|
||||
Reference in New Issue
Block a user