mod_reqtimeout.xml revision ba4c888b67368c21daa6a84921bc6644cdb80cb5
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<!-- $LastChangedRevision$ -->
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Licensed to the Apache Software Foundation (ASF) under one or more
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe contributor license agreements. See the NOTICE file distributed with
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe this work for additional information regarding copyright ownership.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe The ASF licenses this file to You under the Apache License, Version 2.0
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe (the "License"); you may not use this file except in compliance with
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe the License. You may obtain a copy of the License at
3f08db06526d6901aa08c110b5bc7dde6bc39905nd Unless required by applicable law or agreed to in writing, software
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe distributed under the License is distributed on an "AS IS" BASIS,
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe See the License for the specific language governing permissions and
3f08db06526d6901aa08c110b5bc7dde6bc39905nd limitations under the License.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<description>Set timeout and minimum data rate for receiving requests
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin</description>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<compatibility>Available in Apache 2.2.15 and later</compatibility>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin Allow 10 seconds to receive the request including the headers and
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin 30 seconds for receiving the request body:
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin RequestReadTimeout header=10 body=30
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin Allow at least 10 seconds to receive the request body.
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin If the client sends data, increase the timeout by 1 second for every
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin 1000 bytes received, with no upper limit for the timeout (exept for
57b31f30545668d28e895efe7f5c0eb15d37a03figalic the limit given indirectly by
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <directive module="core">LimitRequestBody</directive>):
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe RequestReadTimeout body=10,MinRate=1000
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe Allow at least 10 seconds to receive the request including the headers.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe If the client sends data, increase the timeout by 1 second for every
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe 500 bytes received. But do not allow more than 30 seconds for the
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe request including the headers:
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe RequestReadTimeout header=10-30,MinRate=500
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<directivesynopsis>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<description>Set timeout values for receiving request headers and body from client.
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</description>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe<syntax>RequestReadTimeout
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin<contextlist><context>server config</context><context>virtual host</context>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin</contextlist>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>This directive can set various timeouts for receiving the request headers
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin and the request body from the client. If the client fails to send headers or
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin body within the configured time, a <code>408 REQUEST TIME OUT</code> error
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin is sent.</p>
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin <p>For SSL virtual hosts, the header timeout values include the time needed
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin to do the initial SSL handshake. The body timeout values include the time
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe needed for SSL renegotiation (if necessary).</p>
27dcd8d81085fd60aadcd8a9bad35a607b26b758nilgun <p>When an <directive module="core">AcceptFilter</directive> is in use
59877c2b4bb77f563370d7fb238f4a6d7a0e7f44minfrin (usually the case on Linux and FreeBSD), the socket is not sent to the
57b31f30545668d28e895efe7f5c0eb15d37a03figalic server process before at least one byte (or the whole request for
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <code>httpready</code>) is received. The header timeout configured with
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <code>RequestReadTimeout</code> is only effective after the server process has
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe received the socket.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>For each of the two timeout types (header or body), there are three ways
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe to specify the timeout:
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>The time in seconds allowed for reading all of the request headers or
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe body, respectively. A value of 0 means no limit.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <var>type</var>=<var>timeout</var>,MinRate=<var>data_rate</var>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>Same as above, but whenever data is received, the timeout value is
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe increased according to the specified minimum data rate (in bytes per
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe second).</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <li><strong>Timeout value that is increased when data is received, with an
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <var>type</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>data_rate</var>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf </example>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe <p>Same as above, but the timeout will not be increased above the second
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe value of the specified timeout range.</p>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</directivesynopsis>
5f4e50966b2b9b58436a1651cbe588d1b595657ewrowe</modulesynopsis>