记一次web服务异常:接口返回json过长时被nginx截断

Google nginx 返回的json不全,尝试以下两步可解决该问题。

server {
    ...
    proxy_buffers 16 1024k;
    proxy_buffer_size 1024k;
    ...
}

调整缓存后,大部分返回长json被截断的问题被解决,但仍偶尔报错,原因仍然为返回的json被截断。 原来原因如下: nginx对于小的反向代理请求是使用内存作中转,对于稍微大一点的,是使用临时文件系统来做中转,但是使用文件系统来中转的时候没有权限。

此时修改中转用文件目录的权限即可,对于为何Nginx没有读取缓存文件目录的权限,可能是某次启动Nginx使用的用户不对导致的。

至此,问题解决。

解决此问题也说明了查看日志的重要性,如果没有查看到Nginx的报错日志,该问题也不会得到根本解决。

码上有钱的博客
请先登录后发表评论
  • latest comments
  • 总共0条评论