引言
系统迁移之后由root权限切换至work权限,项目应用和代理均为work账号启动,随后前端项目启动白屏,开发者工具发现报错ERR_CONTENT_LENGTH_MISMATCH
粗略翻译错误内容长度不匹配也是一脸懵13,没见过的问题,尝试使用其他浏览器无果,重新连接VPN,都没有起到作用
问题分析
只有一个js文件报错,而其他的均200,原系统没有报错,可以正常访问,而切换用户运行就发生了错误,因此怀疑权限问题。
查看日志
- 前端项目日志
- 反向代理设置
前端项目没有发现异常
查看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,
根据报错信息可以看出是由于权限不足导致

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的用户哦

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