浏览器控制台 报错ERR_CONTENT_LENGTH_MISMATCH

引言

系统迁移之后由root权限切换至work权限,项目应用和代理均为work账号启动,随后前端项目启动白屏,开发者工具发现报错ERR_CONTENT_LENGTH_MISMATCH
粗略翻译错误内容长度不匹配也是一脸懵13,没见过的问题,尝试使用其他浏览器无果,重新连接VPN,都没有起到作用

问题分析

只有一个js文件报错,而其他的均200,原系统没有报错,可以正常访问,而切换用户运行就发生了错误,因此怀疑权限问题。

查看日志

  1. 前端项目日志
  2. 反向代理设置

前端项目没有发现异常
查看nginx日志

cat /var/log/nginx/error.log

2022/05/12 15:28:22 [crit] 36005#0: *177 open() "/usr/local/nginx/proxy_temp/6/01/0000000016" failed (13: Permission denied) while reading upstream,

根据报错信息可以看出是由于权限不足导致

image.png

proxy_temp文件夹是干嘛的?

恍惚中感觉proxy_temp有些眼熟,在配置中见过。

proxy_temp_file_write_size  64k;

查询文档后了解到,当加载的文件超过proxy_temp_file_write_size所设置的值时,nginx会把文件写入到proxy_temp文件夹中。

解决问题

找到proxy_temp目录,将其权限设置为work用户

chown -R work:work proxy_temp

这里的work是启动nginx的用户哦

image.png

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。