文件明明传完了,进度条停住不动,过很久才提示成功。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,反向代理缓冲了响应,前端收不到完成信号,或服务端在处理后同步做重活。

「上传进度卡住」这类改动最怕改一半,回滚脚本先准备好,再动生产。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

proxy_buffering off;
# 或
X-Accel-Buffering: no

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。

具体做法是,关闭该路径的代理缓冲;把耗时处理改为异步;返回处理中状态再轮询。

最后用这个标准收尾,上传完成后进度立即到 100%,提示及时出现。

作者 9823189