跳到主内容

nginx访问报错ERR_CONTENT_LENGTH_MISMATCH

· 1分钟阅读

nginx 访问报错 ERR_CONTENT_LENGTH_MISMATCH

nginx 会缓存大文件到 proxy_temp 目录中,然而对这个目录没有读写权限

页面调试,抛出错误:net::ERR_CONTENT_LENGTH_MISMATCH

定位错误

找到nginx.conf文件,添加以下代码,并重启nginx -s reload

新增访问日志

//在server块中添加
error_log /usr/local/etc/nginx/nginx_logs/error.log;

重新访问

cat /usr/local/etc/nginx/nginx_logs/error.log | grep "xxx.js"
//或者使用 tail 命令实时观看日志文件:
tail -f /usr/local/etc/nginx/nginx_logs/error.log

可以查看到错误信息

2020/06/24 15:04:32 [crit] 50666#0: *92 open()/usr/local/var/run/nginx/proxy_temp/xxx” failed (13: Permission denied) while reading upstream, client: 127.0.0.1, server: localhost, request:GET /js/vendor.js HTTP/1.1, upstream: “http://127.0.0.1:12306/js/vendor.js”, host: “localhost:8080, referrer: “http://localhost:8080/

解决方案

  1. 修改文件夹权限
chmod -R 777 /usr/local/var/run/nginx/proxy_temp
  1. 删除文件夹
sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx