Nginx sends empty response if payload is larger than 1MB

I have a wordpress site that regularly requests a large json payload through an ajax call. It works fine most of the time until the size of the json reaches a critical size (somewhere around 1MB) at which point nginx responds with an http 200 code but an empty response body. I have verified using logs that php is outputting the correct response so I believe the disconnect is somewhere between nginx and php-fpm. I have duplicated this condition across multiple browsers and using curl from the command line.

I have duplicated the configuration and versions of nginx and php-fpm on another computer and was not able to duplicate the problem there. The only difference is that the nonfunctional server is running Ubuntu 12.04.3 LTS and the functional one is running Ubuntu 12.10. I’m led to believe it’s not a configuration issue with nginx/php but something else that’s causing the problem. What are some suggestions for what else to look at?

Related posts

Leave a Reply

1 comment

  1. One potential avenue to explore is increasing your buffer sizes. I’ve experienced in the past where an extra large cookie or header value that exceeds the buffer breaks the page in a very similar way.