nginx之206异常

场景:

    前端同事疯狂发包,一天发了七八次,结果清除浏览器缓存后,页面一片空白。然后搞不定了,就说是后端的问题。(各位同学,一般这种无理的锅,我都是直接忽略;可谁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