Apache-2.2

PHP/Apache POST 限制?

  • July 9, 2016

我正在嘗試在我的 MediaWiki 安裝上編輯大型(200KB 左右)文章,但這樣做會給我這個錯誤:

請求的實體太大

請求的資源

/path/to/my/wiki/index.php

不允許使用 POST 請求請求數據,或者請求中提供的數據量超過容量限制。

根據 Apache 文件,LimitRequestBody預設為 0(無限制)。我認為我沒有接近MediaWiki的 2048KB 限制。我找不到 / 如果 PHP 限制了我。

是什麼賦予了?

更新: 我的 Apache 錯誤日誌說:

request body exceeds maximum size for SSL buffer

就在它的正下方:

could not buffer message body to allow SSL renegotiation to proceed

似乎可以在此處找到可能的解決方案。

但它需要我重新編譯mod_ssl。似乎在該錯誤報告的末尾,他們正在談論為此添加指令,而不是重新編譯。有誰知道這是否發生過?另外,我是否只需要mod_ssl為此修復重新編譯?如果是這樣,我如何使用我的編譯版本而不是庫存的 Ubuntu 版本?

為什麼不仔細檢查 POST 請求的大小。例如,您可以使用 netcat 在 8080 上進行監聽。

netcat -l -p 8080

然後,在送出表單之前重定向您的瀏覽器以使用埠 8080 上的代理。你應該得到這樣的東西:

POST http://example.com/path/to/my/wiki/index.php HTTP/1.1
Host: example.com
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 217

最重要的一行是Content-Length仔細檢查內容的實際長度。這至少可以幫助您確定哪裡出了問題。您至少會對實際的內容大小有所了解。

然後,確保您直接連接到 Apache,而不是通過代理或反向代理。作為一種安全措施,一些反向代理設置了請求的最大大小上限。因此,您可能需要檢查它以及您的 Apache 日誌,以確保沒有其他任何事情發生。

引用自:https://serverfault.com/questions/79741