服务器:centOs7:4台
场景1:接到现场项目反馈附件上传有两台服务器超过1M的文件上传不了。
排查:
1.通过拨vpn,访问项目上传超过1M的文件确实会出现上传失败的问题。查看异常日志:
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. java.util.concurrent.TimeoutException
从日志上分析应该是超时导致的解析器解析流信息异常。排查了中间件http的超时时间配置未30s,感觉应该不是这个的问题,随后查看了服务器tcp的优化配置,发现后来加的两台与之前的配置不一样,修改配置后,通过vpn连过去上传40-50M的都没问题(有点慢)。
场景2:
过了有2周,客户经里反馈又不行了,这次是长传了一个20M的文件.
排查:
1.通过ie上传,上传到12%的时候,又过了大概5s左右请求中止,控制台报错:
XMLHttpRequest:网络错误 0x2ee2, 由于出现错误 00002ee2 而导致此项操作无法完成。
经查询资料大概是两个原因导致的:
-
Ajax的contentType记得要加charset=utf-