简单记录一下生产出现大文件上传相关问题
最近在处理大文件上传问题 时发现很多从潜在的问题,其中就包括 nginx 文件上传配置,之前也没有对nginx 上传做过很详细的了解,(可能都是因为上传的文件太小了吧,没有出现这种情况)
问题场景:在超过1g的视频上传时,前端会出现,上传到一半,然后就不动了,最后导致直接断开,然后网络请求也不会有任何反馈(原因大概是,上传文件太大,nginx就没通过,当然也就没有调用到后端服务),当从这个简单的错误来看,很难定位问题出在哪里,nginx 日志我也看了,并没有出现网上说 会报403的错误,不过最后还是抱着尝试的心态 对client_max_body_size 进行了调整 为3000m 之前是1024m,调整之后重启nginx 发现可以上传了,不过后端springboot 又报错(也是上传文件大小的配置问题),这个就比较好说了。
控制台会报错
net::ERR_CONNECTION_RESET
最后将上传文件大小调整为 上述问题得到解决:
client_max_body_size 3000m;
client_max_body_size 文件上传大小配置,这个参数你可以在以下三个地方进行配置,只是作用域不同而已
client_max_body_size http 模块可以配置
client_max_body_size server 模块可以配置
client_max_body_size location 模块可以配置
区别只是作用范围不同:配置在http 中,整个nginx 是这个参数
server 的话范围会更小一点,整个server
location 匹配到这个路径的 url