背景:项目在开发服务器测试,可以获取到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即可!
本文介绍了解决因GZIP服务压缩TS文件而导致Content-Length参数缺失的问题。通过调整服务器配置,设置特定文件类型的不压缩策略,确保了正确获取文件长度,解决了视频播放结束监测的问题。

2万+

被折叠的 条评论
为什么被折叠?



