2013-10-10 91 views
2

我有一個WordPress站點,通過ajax調用定期請求一個大的json負載。它在大多數情況下工作正常,直到json的大小達到臨界大小(大約1MB),此時nginx以http 200代碼響應,但響應主體爲空。我已經驗證使用日誌,PHP輸出正確的響應,所以我認爲斷開連接在nginx和php-fpm之間。我已經在多個瀏覽器中複製了這個條件,並從命令行使用了curl。如果有效負載大於1MB,Nginx發送空響應

我在另一臺計算機上覆制了nginx和php-fpm的配置和版本,無法在那裏複製問題。唯一的區別是非功能服務器運行Ubuntu 12.04.3 LTS,而功能服務器運行Ubuntu 12.10。我被引導認爲這不是nginx/php的配置問題,但是導致問題的其他問題。有什麼建議可以看到什麼?

+0

可能與http://wiki.nginx.org/HttpCoreModule#client_max_body_size有關,CURL是否顯示200響應或您的瀏覽器? – synthesizerpatel

+0

我認爲client_max_body_size指的是請求的大小,當我對響應存在問題時。我確實看過,但聽起來並不相關。 curl和幾個瀏覽器都以200回答。 – sphoid

+0

您認爲,或者您實際上嘗試修改client_max_body_size並驗證它實際上沒有幫助? – synthesizerpatel

回答

1

探索的一個潛在途徑是增加您的緩衝區大小。我在過去經歷過一個超過緩衝區的超大cookie或標題值以非常類似的方式打破頁面。

+0

探索的途徑證明僅使用「添加評論」鏈接是合理的......永遠不會「發佈您的答案」(這是爲了打算回答實際上回答這個問題,而不僅僅是提供某種形式的幫助)。 – mah

+0

對這個麻煩抱歉,謝謝澄清。 – Rami