背景:项目在开发服务器测试,可以获取到content-length的具体返回大小;部署到正式服务器就缺少了该参数内容,并多了Transfer-Encoding: chunked参数;导致项目无法获取ts视频文件的长度大小,监测处理不了播放结束的情况;
【下图为开发服务器】
【下图为正式服务器】
经过对比,发现正式服务器有开启GZIP服务,而开发服务器没有开启;经过排查,确认是ts文件被gzip服务进行了压缩,导致无法返回content-length参数;
【处理方案】
在正式服务器修改httpd.conf文件中,GZIP服务的文件类型;具体语句如下
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar|ts)$ no-gzip dont-vary #就是设置不对exe,tgz,gz,ts...的文件进行压缩
修改保存后,进行重启Apache即可!