1、背景: 客户使用了某公司的VPN,防火墙,负载均衡等安全设备,接到客户反馈,通过vpn上传视频业务,视频大小超过400M导致无法上传,提示报错都会提示Error #2038错误;视频小于400M可以正常上传,并且通过本地同网段的电脑和将该服务器直接映射到公网上都可以上传上传成功。
2、业务及流量梳理 A. 客户业务使用的是拓尔思的软件,架构是apache和tomcat,应用中间用了一个反向代理,实现apache反向代理tomcat,业务流通过apache进行上传视频,上传视频使用flash软件 B. 客户通过VPN进行上传视频,流量经过:客户端PC-->VPN-->负载均衡-->防火墙-->交换机-->业务服务器
3、问题排查步骤 A、首先就是将防火墙开启直通,排除是否防护墙策略给拦截了,开启直通之后无拦截日志,并且无法上传 B、在VPN和服务器上同时抓包,上传视频过程中有很多rst包,并且是服务器主动发起的rst包的,如图
C、怀疑是视频文件过大,导致服务器超时,百度度娘Error #2038报错,给出解决方法如下链接 按照如上方法修改后还是无法上传,服务器报错日志如下:
通过分析修改apache的httpd.conf的配置文件,后面再添加一串代码: <IfModule reqtimeout_module> RequestReadTimeout body=60,MinRate=1000 </IfModule> 并重启apache服务,测试上传正常! |