故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT免登录场景下引用与下载异常问题

1. 免登录窗口打开【查看引用片段】,AI回复后显示引用文档,点击文档提示无权限; 2. 打开【查看引用片段】【查看引用全文】显示原文后,点击【打开原文】提示无权限; 3.

现象

  1. 免登录窗口打开【查看引用片段】,AI回复后显示引用文档,点击文档提示无权限;
  2. 打开【查看引用片段】【查看引用全文】显示原文后,点击【打开原文】提示无权限;
  3. 点击【下载数据】可触发下载,但返回报错信息:{"code":429 statusText:"error" message:"Too many request request 1 times every 60 seconds" data:null}

可能原因

  1. 免登录场景下,关联的知识库或文档未配置未登录用户的访问权限,导致点击后触发无权限校验;
  2. 【打开原文】按钮的权限校验逻辑未适配免登录状态,未正确识别未登录用户的权限状态;
  3. 下载接口的限流规则配置为每60秒仅允许1次请求,触发后返回429报错。

排查步骤

  1. 确认当前访问模式为免登录状态,检查应用关联的知识库/文档的权限设置,确认是否开放未登录用户的访问权限;
  2. 查看前端页面中【打开原文】按钮的权限控制逻辑,确认是否适配免登录场景的权限校验规则;
  3. 检查下载接口的限流配置参数,确认当前每60秒允许的请求次数限制;
  4. 统计下载操作的触发频率,确认是否在60秒内多次触发下载请求,触发限流规则。

解决与验证

  1. 针对文档无权限问题:调整知识库/文档的权限配置,开放未登录用户的访问权限,需按实际环境确认具体配置路径;若无需展示引用文档,可直接隐藏应用的文档展示项。
  2. 针对【打开原文】无权限问题:修改前端权限校验逻辑,适配免登录场景的权限状态,若无需该功能可直接隐藏【打开原文】选项。
  3. 针对下载限流问题:调整下载接口的限流阈值配置,修改每60秒允许的请求次数,需按实际环境确认配置项;若无需下载功能,可直接隐藏【下载数据】选项。
  4. 验证:免登录场景下点击引用文档、【打开原文】不再提示无权限,下载操作不再返回429报错,或对应功能按钮已按需求隐藏。

来源:https://github.com/labring/FastGPT/issues/6328