nginx配置导致过长数据截断问题

使用js fetch请求php的时候,出现了The operation was abort SyntaxError: JSON.parse: unterminated string at line xxx of the JSON data错误,nginx日志出现了2022/04/09 18:58:19 [crit] 759465#759465: *5007 open() "xxx/nginx/fastcgi_temp/6/07/0000000076" failed (13: Permission denied) while reading upstream, client: xxx, server: localhost, request: "POST xxx", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "xxx", referrer: "http://xxx"错误。

这是因为nginx配置中设置了

fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;

这两个是用来限制发送数据的buffer,超过buffer大小,会使用硬盘缓存,而如果默认位置没有访问权限,就会报上面nginx的错误,修改方案有两种:
一是修改buffer大小,对应的有几个参数,可以确认一下
二是修改使用硬盘缓存的路径,改到可以有权限访问的位置,对应的配置是fastcgi_temp_path /home/test/nginx;

posted @ 2023-05-03 15:53  秋来叶黄  阅读(877)  评论(0编辑  收藏  举报