某生产环境,docker环境部署回本地环境时,访问tomcat后端报错“NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

网上查资料说法众多

         说法一:在tomcat的conf里的server.xml文件里,调大maxHttpHeaderSize数据

    <Connector port="8078" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" maxHttpHeaderSize="8192"  />

(验证不成功,同样报错)

 

        说法二: 在linux服务器用df -hT查看是否磁盘满了,磁盘满了也报错

(查看发现磁盘空闲空间充足)

 

       说法三:代理的文件太大,缓存文件过多,操作删除nginx的缓存文件

rm -rf  /usr/local/nginx/proxy_temp

或在nginc.conf里对就的localtion里加上

proxy_buffer_size 1024k;

proxy_buffers 16 1024k;

proxy_busy_buffers_size 2048k;

proxy_temp_file_write_size 2048k;

(之后重启nginx和php-fpm还是报相同错误)

 

+++++华丽的分割线++++++++++

最终解决过程:本来在跑docker环境是无问题的,后来客户要求环境的限制要跑本地,当tomcat、nginx和php-fpm装在本地环境后,就出现这个错误了

接着把tomcat和nginx-php容器分离与本地环境跑,最近验证出nginx-php的容器与本地的tomcat跑起来不会报错,判断为本地的nginx和php环境出错。

最后查看nginx日志tailf  error.log

2019/10/12 16:01:20 [crit] 29549#0: *494 open() "/usr/local/nginx/fastcgi_temp/7/02/0000000027" failed (13: Permission denied) while reading upstream, client: 10.197.38.85, server: localhost, request: "GET /account/index?p=269718093545213953 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "10.197.38.84:81", referrer: "http://10.197.38.84:81/account/pre_index"

发现原因是:php-fpm与nginx权限问题

最终处理:

chown -R nginx:nginx /usr/local/nginx

在nginx.conf里也顶行加上user=nginx;

在php-fpm的www.conf里的user和group都设置为nginx

重启nginx和php-fpm服务,问题已解决了..

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐