百度网盘对分享链接管得越来越严之后,我改用 Nextcloud 自建网盘 给别人传大文件。用着顺畅,直到踩到一个坑:
通过分享链接下载时,文件超过约 1G,下到 1G 左右就会中断。
小文件没事,大安装包、视频备份必现,对「当网盘用」的场景几乎不可接受。
原因
排查到是前面 Nginx + FastCGI 的临时文件大小限制。默认或过小的 fastcgi_max_temp_file_size 会让大响应在缓冲到一定体积后失败,表现就是下载断在约 1G。
解决办法
编辑 Nginx 配置(我当时路径是 /usr/local/nginx/conf/nginx.conf),在 http { ... } 里加上:
fastcgi_max_temp_file_size 10240m;并把允许下载的文件大小相关限制调到你业务需要的上限(按你的 client_max_body_size、PHP/occ 侧超时与内存一并检查)。改完后:
nginx -t && nginx -s reload再测超过 1G 的分享下载,应能完整下完。
相关排查
- 若前面还有 CDN / 反向代理,也要看对方的 body / 超时限制;
- PHP-FPM 的
request_terminate_timeout、Nextcloud 与 Web 服务器超时要匹配大文件场景; - 磁盘要留足 FastCGI 临时文件空间。
为何记下
自建网盘是一人公司常见基建。分享链接「大文件下到一半断」优先怀疑代理层缓冲上限,而不是 Nextcloud 业务代码。把 fastcgi_max_temp_file_size 写进备忘,下次换机器部署少踩一次。




No comments yet