PHP 函数在浏览器上对相同的数据执行,但在 iOS 上收到“502 网关错误”


PHP function executes on same data fine on browser, but receives '502 Gateway error' on iOS

>我有一个问题,我的PHP函数在浏览器上运行良好,没有错误,一切都很好。功能很大,所以我不能在这里真正包含。但是当iOS使用NSURLConnection POST请求运行此功能时,iOS会收到502错误网关错误nginx。运行时并不慢,因此没有超时。

在浏览器上函数

在完全相同的数据上成功执行的事实并没有向我表明存在任何编程错误。如果我减少要处理的数据的大小,那么它实际上可以在iOS上运行良好。

因此,这似乎与iOS的HTTP请求以某种方式具有某种数据大小限制有关,该限制已超出,导致502错误网关错误。或者缺少一些会增加所需资源的标题?

这是我的网址请求:

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)

此设置似乎与上游响应缓冲直接相关。

相关文章: