故障排查
按症状定位,先排除最常见的三类原因。
盒子一直停在「正在验证…」
| 可能原因 | 检查 |
|---|---|
| 求解器实例尚未加载完成时被点击 | 加入就绪轮询,确认实例存在后再发起求解 |
| 资源地址被默认值覆盖 | Network 面板看是否出现第三方域名 |
/cap/ 资源 404 | 直接访问资源 URL |
| 自定义地址设置晚于模块导入 | 检查赋值与 import() 的先后 |
警告
最容易忽略的一条 — 盒子是先渲染的,求解器是异步加载的。空窗期点击时没有对象可调用,界面就会永久停在中态。这不是网络慢,排查时先看组件有没有就绪兜底。
提交时报「验证未通过」
- 表单用途与服务端期望值是否一致(统一小写)
- 令牌是否在客户端停留超过
CAP_TOKEN_TTL_SECONDS - 成功或失败后是否清空并重置了组件
- 是否把旧令牌带进了下一次提交
所有请求都失败
CAP_SECRET是否在重启后仍然一致;轮换会让在途挑战立即失效- 环境变量改动后是否重启了服务
- 兑换接口耗时是否逼近函数时间上限(调低
c × d试试)
出现了第三方域名请求
说明资源地址覆盖没生效。按顺序检查:赋值早于动态导入、三类资源都覆盖、CAP_ASSET_BASE 指向本站相对路径。详见自托管求解器。
验证很快但感觉没生效
确认业务接口的校验确实在查询账号之前执行,且失败分支直接返回。如果校验被放在业务处理之后,界面看起来正常,防护却等于没有。