nginx代理响应报文体不全解决思路

问题说明

  • 环境说明:
    centos 6.5
    nginx 1.13.7
    tomcat 8.5+
    jdk 1.8
  • 问题描述
    本地访问测试机接口发生异常


    image.png

    curl访问结果:

image.png

tomcat日志:


image.png

  • 解决思路
    开始的时候感觉是tomcat配置的问题,因为错误信息中多数是nio的错,感觉是自己修改了nio的连接方式,然后修改连接超时时间和连接池大小,可结果依旧报错,巧合是另外的一个项目也有问题,是session获取不到,另外的同事把tomcat降级了,修改为tomcat7,感觉有戏,我把自己的项目也放进去试了下,结果很理想,哈哈哈...
    可是我降级之后,访问了下依旧报错,我日了,然后仔细回顾了下问题,发现报错的原因是因为客户端连接断开了导致的,但是我本地不可能出现这个问题,感觉会不会是nginx代理连接断开呢,感觉很有可能啊,所有出现图二,越过nginx访问tomcat,我靠,结果果然可以,接着看tomcat中的日志,发现报文体接收不全啊,遂开始看nginx的配置,什么超时时间啊都配置了下,结果还是不行,然后开始各种百度,google,发现出现这个问题的原因是nginx里对于小的反向代理请求是使用内存作中转,对于稍微大一点的,是直接通过磁盘中转的,然后查看nginx目录下proxy_temp文件夹权限问题,权限果然有问题,
chown nobody:nobody proxy_temp 

重启nginx,再访问,结果很完美。

你可能感兴趣的:(nginx代理响应报文体不全解决思路)