由于net :: ERR_CONTENT_LENGTH_MISMATCH,因此无法加载Javascript

Ben*_*ney 33 javascript ruby-on-rails ruby-on-rails-3

我有一个在本地运行良好的应用程序,但生产中的barfs.(经典问题,对吧?)

在生产中,JS没有正确启动.当我打开浏览器控制台时,我看到了这个错误:

net::ERR_CONTENT_LENGTH_MISMATCH

当我查看Developer Tools的网络选项卡时,显示它在text/html的GET请求中失败.

这是一个神秘的错误.我只发现了另外两个SO帖子甚至提到它们并且它们尚未解决.(感兴趣:第一篇第二篇文章)

任何想法(1)它意味着什么或(2)如何解决它?

lfe*_*445 34

我收到错误:net :: ERR_CONTENT_LENGTH_MISMATCH

查看服务器日志以确定真正的问题.

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

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

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

读取上游文件xyz时出现"/ usr/local/var/run/nginx/proxy_temp/9/04/0000000049"失败(13:权限被拒绝)

继承人我是如何修理的:

sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx
Run Code Online (Sandbox Code Playgroud)

  • 在我的情况下,Nginx作为反向代理运行,我只是用尽了磁盘空间.一看Nginx日志就足够了.谢谢. (4认同)

小智 6

根据此错误报告,当外部资源长度与响应中给出的Content-Length标头不匹配时,会发生该错误.

这可能是因为配置错误的服务器,或者(作为一个延伸)可能有一些BOM字符被放入文件,或者甚至可能是不同的行结尾(你是在DOS机器上编写并部署到UNIX机器?)可能会导致问题.

希望这可以帮助.