PHP/Apache POST limit

apache-2.2mediawikiPHP

I'm trying to edit large (200KB or so) articles on my MediaWiki install, but doing so gives me this error:

Request Entity Too Large

The requested resource

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

does not allow request data with POST
requests, or the amount of data
provided in the request exceeds the
capacity limit.

According to the Apache docs, the LimitRequestBody is by default 0 (unlimited). I don't think I'm near the MediaWiki limit of 2048KB. I can't find where/if PHP is limiting me.

What gives?

Update:
My Apache error logs say:

request body exceeds maximum size for SSL buffer

And right below that:

could not buffer message body to allow SSL renegotiation to proceed

It appears that a possible solution can be found here.

But it requires me to recompile mod_ssl. It appears towards the end of that bug report they were talking about adding in a directive for this, instead of recompiling. Anyone know if this happened? Also, do I just need to recompile mod_ssl for this fix? And if so, how do I use my compiled version instead of the stock Ubuntu one?

Best Answer

Why don't you double check the size of the POST request. For example, you can use netcat to listen on 8080.

netcat -l -p 8080

Then, redirect your browser to use a proxy on port 8080 just before submitting the form. You should get something like this:

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

The most important line is Content-Length and just double check the actual length of the content. That will at least help you to determine where things are going wrong. You will at least have an idea of the actual content size.

Then, ensure that you are directly connecting to Apache and not through either a proxy or a reverse-proxy. Some reverse-proxies place a cap on the maximum size of a request as a sort of security measure. So, you may want to check that as well as your Apache logs to ensure that nothing else is going on.

Related Topic