我有一个在本地运行良好的应用程序,但生产中的barfs。 (经典问题,对吗?)
在制作中,JS没有正确射击。当我打开浏览器控制台时,我看到了这个错误:
net::ERR_CONTENT_LENGTH_MISMATCH
当我查看Developer Tools的网络选项卡时,显示它在text / html的GET请求中失败。
这是一个神秘的错误。我发现其他两个SO帖子甚至都提到了,而且他们还没有解决。 (感兴趣的是: first post和second post)
任何想法(1)意味着什么或(2)如何解决它?
答案 0 :(得分:34)
我收到错误:net :: ERR_CONTENT_LENGTH_MISMATCH
查看服务器日志以确定真正的问题。
对我来说,问题在于nginx和文件权限:
tail -f /usr/local/var/log/nginx/error.log
或运行nginx -t
以确定您的配置位置,您可以在其中指定自定义日志路径。http://localhost:3000/assets/jquery/jquery.js
您可能会在日志中看到类似的内容:
"在/ usr /本地的/ var /运行/ nginx的/ proxy_temp那/ 9/04/0000000049"失败了(13: 读取上游文件xyz时的权限被拒绝
我是如何修理的:
sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx
答案 1 :(得分:6)
根据this bug report,当外部资源长度与响应中给出的Content-Length标头不匹配时,会发生该错误。
这可能是因为配置错误的服务器,或者(作为一个延伸)可能有一些BOM字符被放入文件,或者甚至可能是不同的行结尾(你是在DOS机器上编写并部署到UNIX机器?)可能会引起问题。
希望这有帮助。
答案 2 :(得分:1)
在尝试解释JSON结果时,我遇到了类似的问题。事实证明,沿着这条线的某个地方,一个奇怪的角色落在了数据库中 - 在这个例子中,罪魁祸首是“â??”。目前尚不清楚这个值是如何到达数据库的,但它可能与HTML encoding issues - "Â" character showing up instead of " "有关。无论哪种方式,在删除奇数字符后,问题就解决了。
答案 3 :(得分:1)
我有类似的问题 [暴击] 6889#0:* 14817 open()" / var / cache / nginx / proxy_temp / 3/02 / 0000000023"阅读上游时失败(13:允许被拒绝)
这是因为Nginx工作进程无法访问文件夹/ var / cache / nginx / proxy_temp / - 我只是更改了文件夹权限,一切都开始工作了
答案 4 :(得分:1)
我在MAMP上本地开发并使用Chrome作为浏览器时遇到了类似的问题。实时服务器上同样有问题的网站也没有此类问题。首先,我以为是MAMP在玩,我检查了PHP版本不匹配,apache版本等设置,然后重新安装,但问题仍然存在。最后,我只是切换到使用Brave浏览器(无论如何都将转移到Brave的时间延迟了一段时间),并且为我修复了它。
希望这会有所帮助。