On 05/11/2012 06:01 PM, John Iliffe wrote:
I recently switched from Apache-2.2.14 to Apache-2.4.2. In the entire time we ran 2.2.14 I don't recall seeing a response code 408. Since we switched two weeks ago we average about 30 - 35 a day. Our server is not heavily loaded. The RFC definition of response code 408 is "Request Timeout, the client did not produce a request within the time the server was prepared to wait." All of these 408's are arising from background (AJAX) requests in the browser that are well known to be very short (16 bytes of data coded as an HTTP GET). Which parameter have I set to short? Looking at the Apache docs there don't seem to be any obvious choices. As clearly documented, one of the many new modules in 2.4 is mod_reqtimeout, which controls exactly this. http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html It allows the server administrator to determine on a per-vhost basis how long the request timeout should be, and what the minimum data rate should be. This was added specifically to combat bots and slowdos attempts. The defaults - which you did not adjust for your site - are obviously not suited for your small AJAX snippets. Blind upgrades never go well. -- J. |