client上传失败,服务器返回HTTP 400

请按照以下模版详细描述您遇到的问题:

当前服务器版本

seafile server: 11.0.9 / 最新编译的 master branch

seafile client: 9.0.22

部署/操作过程(请说明二进制部署/docker部署;出现错误的操作步骤)

过程中分别使用了FreeBSD 源码t编译(port/pkg 包)、linux上的源码编译方式,使用默认的C版本文件服务:

  1. 服务端使用了FreeBSD port编译/pkg的安装: 使用pkg安装编译后的port,pkg install seafile-server seahub。HTTP层使用nginx添加了域名转发功能。
  2. linux中按照安装手册的源码方式部署。也用ngingx转发。

在客户端拖动一个带有数万个文件的文件夹上传时,偶然会有文件上传失败(大约万分之1到3的概率),即使再点“重试”,过10多秒-30秒还是会失败,一直重试也会失败。不管打开还是关闭nginx缓存,都能复现这个问题。

错误截图

错误日志

这个服务端的nginx日志

10.100.0.1 [20/Oct/2026:11:58:22 +0800] "POST /seafhttp/upload-api/9b8f4f3a-b4c3-4fea-80f3-5bb574d0c4ff HTTP/1.1" 400 26 "-" "Mozilla/5.0" 0.002

浏览器控制台错误信息(如果相关,请提供截图信息)

无

问题的定位与分析

整个流程中,我们通过错误复现和代码分析,定位到问题出在服务器代码的 server/upload-file.c 文件中,详细的分析和 patch 已提交至 GitHub PR。我们也在 GitHub 上尝试 @ 了相关开发人员,但目前尚未收到回复。我同事的目录(包含数万个文件)在上传时几乎都会遇到失败的问题,他正在等待该问题解决后才能备份文件。为避免 GitHub 上的 @ 消息被忽略,烦请管理员和维护人员抽空查看一下这个 GitHub PR。即使 PR 中的代码不能直接采用,也衷心希望它能对问题的修复有所帮助。如能尽快修复,我们就能尽早使用 Seafile 备份大文件夹了。非常感谢!

翻了一下论坛,和这个帖子描述的问题很像: 相册同步上传文件服务器返回{"error": "Bad request. "} ,也是返回HTTP 400。很可能是同样的错误路径导致的。

感谢您的反馈,后续会查看并修复