Loading... # 引言 系统迁移之后由root权限切换至work权限,项目应用和代理均为work账号启动,随后前端项目启动白屏,开发者工具发现报错`ERR_CONTENT_LENGTH_MISMATCH` 粗略翻译`错误内容长度不匹配`也是一脸懵13,没见过的问题,尝试使用其他浏览器无果,重新连接VPN,都没有起到作用 # 问题分析 只有一个js文件报错,而其他的均200,原系统没有报错,可以正常访问,而切换用户运行就发生了错误,因此怀疑权限问题。 # 查看日志 1. 前端项目日志 2. 反向代理设置 前端项目没有发现异常 查看nginx日志 ```bash 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](https://www.zunmx.top/usr/uploads/2022/05/2936264728.png) # proxy_temp文件夹是干嘛的? 恍惚中感觉proxy_temp有些眼熟,在配置中见过。 ``` proxy_temp_file_write_size 64k; ``` 查询文档后了解到,当加载的文件超过proxy_temp_file_write_size所设置的值时,nginx会把文件写入到proxy_temp文件夹中。 # 解决问题 找到proxy_temp目录,将其权限设置为work用户 ```bash chown -R work:work proxy_temp ``` 这里的work是启动nginx的用户哦 ![image.png](https://www.zunmx.top/usr/uploads/2022/05/2015025013.png) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏