ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Puter 托管的 WebDAV 反复提示凭据失败后被 429 锁住怎么排查?

Puter 托管的 WebDAV 反复提示凭据失败后被 429 锁住怎么排查? Puter 托管的 WebDAV 反复提示凭据失败后被 429 锁住怎么排查【免费下载链接】puter The Internet Computer! Free, Open-Source, and Self-Hostable.项目地址: https://gitcode.com/GitHub_Trending/pu/puter通过dav端点挂载 Puter 文件系统的客户端如果客户端存储的密码已经过期比如账号改过密码客户端每次请求都会带着错误凭据重发认证。失败登录会被单独计数数到上限后整个账号会被dav端点拒绝429窗口内即使用正确密码也一样进不去并且还会继续弹出凭据输入框。本文说明这个锁定机制的计数规则、如何确认当前是否处于锁定状态以及解锁和避免再次被锁的步骤。依据是 限流与配额文档 和 WebDAVController.ts 中的认证逻辑。WebDAV 的三组限制与锁定规则Puter 的dav端点每个请求都自行认证不走会话所以它的限制按网络维度而不是账号维度计算所有人共用同一套上限全局限速600 请求/分钟并发10失败登录单独计数成功登录不占额度限制每 15 分钟同一账号的失败登录次数10同一地址IP的失败登录次数50任一计数超过上限dav在窗口滚过之前对所有请求都回429——包括密码正确的那些请求。文档原话是十次错误尝试会把该账号在dav上锁到窗口结束一个存着旧密码还在运行的客户端会把自己锁在外面。因此反复提示凭据 429的典型成因链是客户端存的密码错了 → 每次重发凭据都计一次失败 → 10 次后账号级或 50 次后 IP 级额度耗尽 → 窗口内一切请求含正确密码都被 429 → 客户端收到 401/429 后再次弹出凭据框。两个边界事实需要记住锁定只作用于dav。账号在桌面端、API 和puter.auth上完全正常这不是封号。认证失败时服务端返回401并带WWW-Authenticate: Basic realmWebDAV头见 WebDAVController.ts客户端凭这个头弹出凭据框而失败额度耗尽后返回的是429。确认是否已被失败登录锁定用curl直接向dav发一个带凭据的请求看返回的状态码https://dav.你的域名替换为部署实际的 dav 主机地址# 正确凭据期望 207PROPFIND 的多状态响应而不是 429 curl -sS -o /dev/null -w %{http_code}\n -u your_username:your_password \ -X PROPFIND https://dav.你的域名/your_username \ -H Depth: 1 # 错误凭据期望 401 curl -sS -o /dev/null -w %{http_code}\n -u your_username:wrong_password \ https://dav.你的域名/your_username按文档描述区分两种状态未锁定错误凭据得到401响应体为Invalid credentials正确凭据得到正常 WebDAV 响应。说明只是密码错了还没触发失败计数上限。已锁定连正确凭据也得到429响应体为Too many failed authentication attempts该错误在 WebDAVController.ts 中抛出。注意服务端在验证前就检查失败额度锁定期间不会再去比对密码。另注意同一 IP 下多个账号共享每地址 50 次这组计数多个挂错密码的客户端会互相加速触发 IP 级锁定。解锁停掉重试、修密码、等窗口文档给出的处理方式只有一条主路径没有手动清计数的 API停掉还在跑错误凭据的客户端。锁定期间继续重试没有任何用处——正确密码此时也被拒重试只会维持锁定状态。把客户端存储的密码改对账号改了密码后把 DAV 客户端里存的旧密码同步更新。等待 15 分钟窗口滚过。窗口完全滚过后用上面curl命令验证正确凭据不再返回429恢复为正常响应客户端即恢复挂载。长期方案用-token挂载跳过账号级锁定对于长期运行的挂载文档明确推荐用用户名-token、API token 作密码的方式挂载# -token 挂载密码位填 API token替换为账号实际持有的 token curl -sS -o /dev/null -w %{http_code}\n -u -token:YOUR_API_TOKEN \ https://dav.你的域名/-token文档给出的理由该方式完全跳过账号级失败上限服务端对-token路径不记账号桶只受每 IP 兜底计数约束见 WebDAVController.ts 的注释与 限流文档token 可以从 dashboard 吊销吊销时无需改账号密码token 不会被别人猜你的账号顺带锁掉。所以排查流程收敛为三步先用带凭据的curl区分 401密码错和 429已锁被锁就停掉错误客户端、修正存储的密码、等 15 分钟窗口滚过并复验确认不再复发后把长期挂载改造成-token API token 的方式。若只是偶发触发注意dav之外桌面端、API的正常使用不受该锁定影响。【免费下载链接】puter The Internet Computer! Free, Open-Source, and Self-Hostable.项目地址: https://gitcode.com/GitHub_Trending/pu/puter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表