Nginx服务器js加载不全,报206 (Partial Content)错误

问题场景

tornado服务器,配置SLB+Nginx通过80端口访问tornado服务器的时候发现前端很多比较大的js加载不完,出现报206 (Partial Content)错误(部分内容)服务器成功处理了部分 GET 请求。直接访问相关js也发现内容确实只加载了一部分呢,点击浏览器刷新,发现js内容会增多。当刷新多次之后发现js才能全部加载出来,页面能正常显示出来,但是清空缓存后,还是206错误,又要刷新很多次资源才加载完。

在这里插入图片描述

问题原因
Nginx代理之后会有相应的代理缓存区,缓存区默认只有几十K,某些版本的nginx默认设置中没有相关处理,导致部分文件代理是会出现加载不全的现象,其实不仅仅是JS文件。只是因为框架的JS文件略大,所以经常出现类似问题。

问题解决
在Nginx.conf中添加

proxy_buffer_size 128k;
proxy_buffers   32 128k;
proxy_busy_buffers_size 128k;

如:

在这里插入图片描述
禁止206的一篇文章 http://www.cocoachina.com/articles/57862

设置max_ranges 0;

location ~ \.mp4${
    max_ranges 0;
}

原文链接:https://blog.csdn.net/tcf_jingfeng/article/details/80325644

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章