nginx 下载文件不完整

使用 nginx 搭建静态文件服务器,下载稍大的文件时出现只能下载来来文件的一部分的问题。

用 wget 可以下载完整的文件。

后来使用 strace wget http://xxx/xxx.xx 打印详细的下载log 发现:文件在传输的过程中跟nginx的连接中断了几次,wget有自动重连的机制,最后才下载下来了完整的文件,而浏览器在连接中断后则认为文件已经传输完成,以至于出现只能下载文件的一部分的情况。

后来分析可能是中间用 nginx 做了一次代理的缘故,尝试配置host直接从静态文件服务器的nginx中下载,没有出现连接中断的情况。

最后将代理 nginx 的配置文件中添加 ( proxy_buffering off; #关闭代理的缓冲功能) 配置,问题解决。

参考文献:http://blog.csdn.net/ikmb/article/details/7098080

发表评论

电子邮件地址不会被公开。 必填项已用*标注