今天前端同事遇到个奇怪的问题,后端的接口返回数据被截断了,字符串不完整,导致JSON解析报错。。
错误信息显示,nginx向/usr/local/nginx/proxy_temp/目录下写入了临时数据,而执行nginx的用户没有该目录的写入权限。
经排查,是因为nginx的启动用户非root导致的。
原因:因为nginx对于返回值字符数小的请求直接使用内存作中转,对于数据量大的请求,使用文件系统来做中转。由于权限不够,返回时只返回了部分字符,导致出现此问题。
解决办法:
1、用root用户启动nginx
2、给与nginx临时目录nginx/proxy_temp/
777权限