У меня проблема с тем, что моя функция PHP работает нормально в браузере, без ошибок, все хорошо. Функция большая, поэтому я не могу ее сюда включить. Но когда iOS запускает эту функцию, используя POST-запрос NSURLConnection, iOS получит 502 Ошибка Bad Gateway nginx. Время выполнения не медленное, поэтому оно не остановилось.
Тот факт, что в браузере функция выполняется с точно такими же данными, не привел меня к ошибке программирования. И если я уменьшу размер обрабатываемых данных, то на iOS все будет работать нормально.
Так что, похоже, это как-то связано с тем, что HTTP-запрос iOS каким-то образом имеет какой-то предел размера данных, который был превышен, что приводит к ошибке 502 Bad Gateway. Или отсутствует какой-либо заголовок, который увеличил бы требуемый ресурс?
Это мой URL-запрос:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue: postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: postData];
После изменения некоторых настроек на следующий, все равно не получится
fastcgi_buffers 16 16k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
Тогда я нашел один параметр, который работал:
fastcgi_buffer_size 128K; (changed from 32K)
Эта настройка, кажется, напрямую связана с буферизацией отклика в восходящем направлении.
Других решений пока нет …