application.css和application.js的net :: ERR_CONTENT_LENGTH_MISMATCH错误

4

我刚刚在AWS EC2上将我的nginx从1.4.2(/usr/local)升级到了1.4.7(yum),现在客户端出现了两个错误:

GET https://subdomain.mysite.com/assets/application.css net::ERR_CONTENT_LENGTH_MISMATCH 
GET https://subdomain.mysite.com/assets/application.js net::ERR_CONTENT_LENGTH_MISMATCH 

我对这个问题感到困惑,谷歌也没有提供太多帮助。有任何可以开始解决的想法吗?非常感谢您的帮助。从手动安装转向yum安装会是问题所在吗?

3个回答

10

我可以确认答案1解决了根本问题(我是一个新的SE用户,所以我还不能给它点赞)。以下是更多供搜索引擎使用的细节:

来自/var/log/nginx/error.log

2014/04/30 08:07:48 [crit] 35135#0: *116437 open() "/var/lib/nginx/proxy/7/09/0000001097" failed (13: Permission denied) while reading upstream

这种情况在我这里发生是因为我最近更改了nginx运行的用户(默认的nginx配置在/etc/nginx/nginx.conf中使用www-data)。

我的解决方案是执行命令 chown -R correct_user:root /var/lib/nginx/proxy。我想我也可以通过删除现有的/var/lib/nginx/proxy子目录并期望nginx使用correct_user作为所有者来重建它们。

eric-francis感谢你找出了这个问题!它轻松地节省了我一整天的搜索。


7
tail -f /usr/local/var/log/nginx/error.log

你可能会看到类似这样的信息:
“/usr/local/var/run/nginx/proxy_temp/9/04/0000000049” 失败 (13: 权限被拒绝) 在读取上游时
以下是我解决问题的方法:
sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*

3

好的,这个问题可以通过几种方式修复。首先要做的是检查您的日志文件。

我的日志文件位于/usr/share/nginx/log/error-appname.log

执行 tail 命令查看日志,您会发现在配置文件中定义的用户(我的在/etc/nginx/nginx.conf)很可能没有权限访问某些内容。我使用用户nobody

对于某些应用程序,我需要将用户的主目录文件夹(一直到应用程序的公共资源目录)授权给u+rx(nginx 需要可执行权限)。

在另一台服务器上,nobody无法写入nginx的/var/lib/nginx/tmp/proxy文件夹。因此,我必须将 /var/lib/nginx的所有权修改为nobody,包括/proxy文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接