Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH异常的解决方案

Nginx做反向代理,后端是Tomcat,通过浏览器访问时部分文件加载失败,提示:

ERR_CONTENT_LENGTH_MISMATCH

QQ截图20160229111332

经检查原来是Nginx的工作进程对大文件做了缓存,这个缓存在 %nginx%/proxy_temp 目录下,主进程在读取缓存的时候由于权限问题而无法访问,从而导致以上异常。

1、查看Nginx运行进程,确认运行用户为“tomcat”;

ps –ef|grep nginx

2、检查proxy_temp目录所属用户,nginx 默认的工作者用户就是nobody;

ll proxy_temp

3、停止nginx并将nginx目录权限设置为“tomcat”用户;

./nginx -s stop

chown -R tomcat:tomcat nginx

4、修改%nginx%/conf/nginx.conf配置,在worker_processes 前添加:user tomcat

5、重启nginx即可。

posted @ 2016-03-11 10:38  StarlightFu  阅读(14667)  评论(1编辑  收藏  举报