Javascript – ERR_CONTENT_LENGTH_MISMATCH

我正在做一个基本的jQuery游乐场网站。 我得到错误: net::ERR_CONTENT_LENGTH_MISMATCH正在页面加载和背景图像不加载页面上。

有问题的图像是300kb,也在dynamic变化。 我假设这与文件大小有关,但我真的不知道是什么。

原来使用的HTML:

 <p style="margin:0px; padding:0px;"> <img id="background" src="/bg1.jpg" style='width:100%;' border="0" alt="Null"> </p> 

javascript / jquery用来改变背景:

 var changebg = function() { if (myscore % 20 == 0) { level++; document.getElementById("level").innerHTML = "Level: " + level; $("#level").fadeIn(1500, function(){$("#level").hide()}) backgroundindex++; if (backgroundindex > 6) { backgroundindex == Math.floor((Math.random()*6)+1)}; document.getElementById("background").src="/bg"+backgroundindex+".jpg"; }; } 

我得到错误:net :: ERR_CONTENT_LENGTH_MISMATCH

看看你的服务器日志,以确定真正的问题是什么。

对于我来说,问题在nginx和文件权限之间:

  • tail -f /usr/local/var/log/nginx/error.log或运行nginx -t来确定您的conf位置,您可以在其中指定自定义日志path。
  • 刷新浏览器中的资源,例如http://localhost:3000/assets/jquery/jquery.js

您可能在日志中看到类似这样的内容:

当读取上游文件xyz时,“/ usr / local / var / run / nginx / proxy_temp / 9/04/0000000049”失败(13:Permission denied)

如何修复:

 sudo nginx -s stop sudo rm -rf /usr/local/var/run/nginx/* sudo nginx 

概要

这是对我的情况发生了更详细的解释。 在这里select的答案帮助我解决了我的问题,这基本上是所选答案的更详细的版本。

解释Nginx的权限

你可以运行nginx作为nobody用户,这是大多数示例configuration中的常见做法。 你会发现这行在你的configuration的顶部:

 user nobody; 

然而,build议您为web应用程序的静态内容(如css,js和图像文件)允许nginx访问并通过绕过您的web-app
容器。 这是你的configuration的一部分它读取:

 location ^~ /static { alias /path/to/your/static/folder/; autoindex on; expires max; } 

这是nginx需要访问的文件夹。

另一方面,在上面的答案的情况下有nginx专用文件夹:

 /usr/local/var/run/nginx/ 

在我的情况(CentOS)是在:

 /var/lib/nginx/ 

怎么会出问题?

在这两种情况下,你都可以打破nginx

1- Nginx运行无人,但没有权限访问您的静态文件夹。

2- Nginx作为无人运行,但作为根运行获得访问您的静态文件夹。

在我的情况下,最好的解决scheme是改变nginx专用文件夹的权限以匹配我的静态文件夹。 然后运行nginx作为一个用户与正确的访问。

这是解决此问题的另一种方法: http : //derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/

注意:从安全angular度来看,我不同意作者build议给文件夹777权限的链接。 给出完成工作所需的最低水平(在这种情况下,700应该没问题,甚至可以降低,尽pipe我还没有尝试)。

在构buildRails应用程序时,我遇到了同样的错误。 我用一个不同的图像replace了一个图像,并没有改变文件名,这引起了上面的错误。 简单地更改文件名称使问题消失。