首页 > 技术文章 > nginx之206异常

potatoChicken 2019-10-16 09:45 原文

场景:

    前端同事疯狂发包,一天发了七八次,结果清除浏览器缓存后,页面一片空白。然后搞不定了,就说是后端的问题。(各位同学,一般这种无理的锅,我都是直接忽略;可谁TM要我的工作年限最久呢,兜兜转转还是找上了我)

 

分析:

        nginx请求进来了,但是页面是白的。应用服务器没有任何异常日志。前端控制台206(Partial Content),部分内容,啥意思啊?

      是不是nginx服务异常了,reload,无果。

      是不是前端包的问题,回退,刷新,无果。

              不是前端,也不是后端代码的问题,那就只能是架构的问题啦。

              询问了一圈,没谁该相关配置。

              我熟练的打开了google,不吹不黑,google确实好用。

              说是nginx的代理缓存区太小,文件太大,无法加载全,和部分内容有点关系。

    修改nginx配置,验证一下,success。

 

原因:

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

 

 

 

修改配置:

  在你的nginx主配置文件中在http的配置属性中,添加如下三个配置。

  1. proxy_buffer_size 128k;
  2. proxy_buffers 32 128k;
  3.  proxy_busy_buffers_size 128k;

 

 

 

 

参考资料:

            https://www.jianshu.com/p/50bc4651dccf

    https://blog.csdn.net/TCF_JingFeng/article/details/80325644

             

    

 

推荐阅读