mod_reqtimeout.html.en revision 205f749042ed530040a4f0080dbcb47ceae8a374
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<?xml version="1.0" encoding="ISO-8859-1"?>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd This file is generated from xml source: DO NOT EDIT
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd -->
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<title>mod_reqtimeout - Apache HTTP Server Version 2.5</title>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<script src="/style/scripts/prettify.min.js" type="text/javascript">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</script>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<link href="/images/favicon.ico" rel="shortcut icon" /></head>
52fff662005b1866a3ff09bb6c902800c5cc6dedjerenkrantz<body>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<div id="page-header">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<p class="apache">Apache HTTP Server Version 2.5</p>
4b5981e276e93df97c34e4da05ca5cf8bbd937dand<img alt="" src="/images/feather.gif" /></div>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<div id="path">
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
594b4dd7639cd01b2200bd0774bc50952ceffcbegryzor<div id="page-content">
594b4dd7639cd01b2200bd0774bc50952ceffcbegryzor<div id="preamble"><h1>Apache Module mod_reqtimeout</h1>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<div class="toplang">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English">&nbsp;en&nbsp;</a></p>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</div>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Set timeout and minimum data rate for receiving requests
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</td></tr>
e5ce3ac0e9b720c0fa23782e29168a0810697fdetakashi<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>reqtimeout_module</td></tr>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_reqtimeout.c</td></tr></table>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</div>
936f8a599187e745a6381a662c2165b611bf4dbfrjung<div id="quickview"><h3 class="directives">Directives</h3>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<ul id="toc">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<li><img alt="" src="/images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</ul>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<h3>Topics</h3>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<ul id="topics">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<li><img alt="" src="/images/down.gif" /> <a href="#examples">Examples</a></li>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<div class="section">
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd<h2><a name="examples" id="examples">Examples</a></h2>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <ol>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <li>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd Allow 10 seconds to receive the request including the headers and
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd 30 seconds for receiving the request body:
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd
5b10fd3977e6dfff19afe770e612e276962f7950nd <pre class="prettyprint lang-config">RequestReadTimeout header=10 body=30</pre>
5b10fd3977e6dfff19afe770e612e276962f7950nd
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl </li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl Allow at least 10 seconds to receive the request body.
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd If the client sends data, increase the timeout by 1 second for every
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd 1000 bytes received, with no upper limit for the timeout (except for
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd the limit given indirectly by
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <code class="directive"><a href="/mod/core.html#limitrequestbody">LimitRequestBody</a></code>):
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <pre class="prettyprint lang-config">RequestReadTimeout body=10,MinRate=1000</pre>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl </li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl Allow at least 10 seconds to receive the request including the headers.
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl If the client sends data, increase the timeout by 1 second for every
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl 500 bytes received. But do not allow more than 30 seconds for the
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl request including the headers:
743bf1d628091019531fd067653aea052b48aec7erikabele
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <pre class="prettyprint lang-config">RequestReadTimeout header=10-30,MinRate=500</pre>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl </li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl Usually, a server should have both header and body timeouts configured.
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl If a common configuration is used for http and https virtual hosts, the
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl timeouts should not be set too low:
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl <pre class="prettyprint lang-config">RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500</pre>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl </li>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl </ol>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl</div>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<div class="directive-section"><h2><a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a> <a name="requestreadtimeout" id="requestreadtimeout">Directive</a></h2>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<table class="directive">
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set timeout values for receiving request headers and body from client.
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl</td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestReadTimeout
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>]
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>]
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl</code></td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Defaulted to disabled in
cb7d9035e080e6838f657dc10bdd5e26df08273ajslversion 2.3.14 and earlier.</td></tr>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl</table>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <p>This directive can set various timeouts for receiving the request headers
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl and the request body from the client. If the client fails to send headers or
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl body within the configured time, a <code>408 REQUEST TIME OUT</code> error
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl is sent.</p>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl <p>For SSL virtual hosts, the header timeout values include the time needed
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl to do the initial SSL handshake. If the user's browser is configured to
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl query certificate revocation lists and the CRL server is not reachable, the
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl initial SSL handshake may take a significant time until the browser gives up
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl waiting for the CRL. Therefore the header timeout values should not be set
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl to very low values for SSL virtual hosts.
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl The body timeout values include the time needed for SSL renegotiation
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl (if necessary).</p>
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl <p>When an <code class="directive"><a href="/mod/core.html#acceptfilter">AcceptFilter</a></code> is in use
19e58a269fe969b87c28465ee4914f3ae637e264jim (usually the case on Linux and FreeBSD), the socket is not sent to the
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl server process before at least one byte (or the whole request for
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl <code>httpready</code>) is received. The header timeout configured with
43a906741e1d11f0f1d0c189d1b55eafbcc21d14noodl <code>RequestReadTimeout</code> is only effective after the server process has
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl received the socket.</p>
cb7d9035e080e6838f657dc10bdd5e26df08273ajsl
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <p>For each of the two timeout types (header or body), there are three ways
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd to specify the timeout:
594b4dd7639cd01b2200bd0774bc50952ceffcbegryzor </p>
594b4dd7639cd01b2200bd0774bc50952ceffcbegryzor
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <ul>
50039065d571fe01fd458a3f031c995a1fd53c22rbowen
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <li><strong>Fixed timeout value</strong>:<br />
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd
<div class="example"><p><code><var>type</var>=<var>timeout</var></code></p></div>
<p>The time in seconds allowed for reading all of the request headers or
body, respectively. A value of 0 means no limit.</p>
</li>
<li><strong>Disable module for a vhost:</strong>:<br />
<div class="example"><p><code>header=0 body=0</code></p></div>
<p>This disables <code class="module"><a href="/mod/mod_reqtimeout.html">mod_reqtimeout</a></code> completely.</p>
</li>
<li><strong>Timeout value that is increased when data is
received</strong>:<br />
<div class="example"><p><code>
<var>type</var>=<var>timeout</var>,MinRate=<var>data_rate</var>
</code></p></div>
<p>Same as above, but whenever data is received, the timeout value is
increased according to the specified minimum data rate (in bytes per
second).</p>
</li>
<li><strong>Timeout value that is increased when data is received, with an
upper bound</strong>:<br />
<div class="example"><p><code>
<var>type</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>data_rate</var>
</code></p></div>
<p>Same as above, but the timeout will not be increased above the second
value of the specified timeout range.</p>
</li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_reqtimeout.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>