我有一个问题,我的PHP函数在浏览器上运行正常,没有错误,一切都很好。功能很大,所以我不能真的包含在这里。但是当iOS使用NSURLConnection POST请求运行此功能时,iOS将收到502 Bad Gateway错误nginx。运行时并不慢,所以它没有超时。
事实上,在浏览器上,函数在完全相同的数据上成功执行,这并不意味着我有任何编程错误。如果我减少要处理的数据的大小,那么它实际上会在iOS上运行良好。
所以这似乎与iOS'HTTP请求有某种关系,某种方式会超出某种数据大小限制,导致502 Bad Gateway错误。或者有一些标题丢失会增加所需的资源?
这是我的网址请求:
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];
答案 0 :(得分:0)
将某些设置更改为以下后,仍然会失败
fastcgi_buffers 16 16k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
然后我发现一个有效的设置是:
fastcgi_buffer_size 128K; (changed from 32K)
此设置似乎与上游响应缓冲直接相关。