解决nginx配置不当导致接⼝请求数据被截断的问题
问题
最近请求⼀些接⼝,发现浏览器端拿到的JSON返回数据被截断,前端⽆法解析。
分析
Java后端没有报错,⼀般就是反向代理的问题,Nginx配置有很⼤的嫌疑。
1. 检查nginx的error_log,发现确实nginx报错:
2020/07/28 14:13:49 [crit] 113301#0: *45739 open() "/opt/work/nginx/proxy_temp/6/10/0000000106" failed (13: Permission denied) while reading upstream, client: , server: , request: "GET /api/some/address?startTime=159********查看⽬录权限发现:
/opt/work/nginx
drwxrwxr-x 11 hue    hue 4.0K Oct 31  2019 .
drwxrwxr-x 15 hue    hue 4.0K Aug  2  2019 ..
drwx------  2 nobody hue 4.0K Mar 21  2019 client_body_temp
drwxrwxr-x  2 hue    hue 4.0K Jun 17 09:56 conf
drwx------  2 nobody hue 4.0K Feb 19  2019 fastcgi_temp
drwxr-xr-x  2 hue    hue 4.0K Feb 19  2019 html
drwxrwxr-x  2 hue    hue 4.0K Feb 19  2019 logs
-rw-r--r--  1 hue    hue    6 Feb 19  2019 nginx.pid
drwx------ 12 nobody hue 4.0K Feb 20  2019 proxy_temp
drwxrwxr-x  2 hue    hue 4.0K Feb 19  2019 sbin
drwx------  2 nobody hue 4.0K Feb 19  2019 scgi_temp
drwx------  2 nobody hue 4.0K Feb 19  2019 uwsgi_temp
proxy_temp⽬录的owner是 nobody,启动进程的⽤户为hue。
2. 这类问题应该⽐较常见,需要⽹上搜索查原因
这⾥选取四篇⽂章
这篇是解决思路
这篇是Nginx没有权限的具体原因
这篇是⽤户为nobody现象的分析
这篇是根本原因
解决
1. 将⽬录属主全部改为 hue。执⾏:chown -R hue:hue /opt/work/nginx
nginx部署前端项目2. root⽤户下,慎⽤nginx -t

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。