1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>mod_reqtimeout - Apache HTTP Server</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<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" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body> 17<div id="page-header"> 18<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.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> 19<p class="apache">Apache HTTP Server Version 2.4</p> 20<img alt="" src="/images/feather.gif" /></div> 21<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 22<div id="path"> 23<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> 24<div id="page-content"> 25<div id="preamble"><h1>Apache Module mod_reqtimeout</h1> 26<div class="toplang"> 27<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English"> en </a> | 28<a href="/fr/mod/mod_reqtimeout.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p> 29</div> 30<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Set timeout and minimum data rate for receiving requests 31</td></tr> 32<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> 33<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>reqtimeout_module</td></tr> 34<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_reqtimeout.c</td></tr> 35<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTPD 2.2.15 and later</td></tr></table> 36</div> 37<div id="quickview"><h3 class="directives">Directives</h3> 38<ul id="toc"> 39<li><img alt="" src="/images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li> 40</ul> 41<h3>Topics</h3> 42<ul id="topics"> 43<li><img alt="" src="/images/down.gif" /> <a href="#examples">Examples</a></li> 44</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> 45<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 46<div class="section"> 47<h2><a name="examples" id="examples">Examples</a></h2> 48 49 <ol> 50 <li> 51 Allow 10 seconds to receive the request including the headers and 52 30 seconds for receiving the request body: 53 54 <pre class="prettyprint lang-config">RequestReadTimeout header=10 body=30</pre> 55 56 </li> 57 58 <li> 59 Allow at least 10 seconds to receive the request body. 60 If the client sends data, increase the timeout by 1 second for every 61 1000 bytes received, with no upper limit for the timeout (except for 62 the limit given indirectly by 63 <code class="directive"><a href="/mod/core.html#limitrequestbody">LimitRequestBody</a></code>): 64 65 <pre class="prettyprint lang-config">RequestReadTimeout body=10,MinRate=1000</pre> 66 67 </li> 68 69 <li> 70 Allow at least 10 seconds to receive the request including the headers. 71 If the client sends data, increase the timeout by 1 second for every 72 500 bytes received. But do not allow more than 30 seconds for the 73 request including the headers: 74 75 <pre class="prettyprint lang-config">RequestReadTimeout header=10-30,MinRate=500</pre> 76 77 </li> 78 79 <li> 80 Usually, a server should have both header and body timeouts configured. 81 If a common configuration is used for http and https virtual hosts, the 82 timeouts should not be set too low: 83 84 <pre class="prettyprint lang-config">RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500</pre> 85 86 </li> 87 88 </ol> 89</div> 90<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 91<div class="directive-section"><h2><a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a> <a name="requestreadtimeout" id="requestreadtimeout">Directive</a></h2> 92<table class="directive"> 93<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set timeout values for receiving request headers and body from client. 94</td></tr> 95<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestReadTimeout 96[header=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] 97[body=<var>timeout</var>[-<var>maxtimeout</var>][,MinRate=<var>rate</var>] 98</code></td></tr> 99<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> 100<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 101<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> 102<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr> 103<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2.15 and later; defaulted to disabled in 104version 2.3.14 and earlier.</td></tr> 105</table> 106 <p>This directive can set various timeouts for receiving the request headers 107 and the request body from the client. If the client fails to send headers or 108 body within the configured time, a <code>408 REQUEST TIME OUT</code> error 109 is sent.</p> 110 111 <p>For SSL virtual hosts, the header timeout values include the time needed 112 to do the initial SSL handshake. If the user's browser is configured to 113 query certificate revocation lists and the CRL server is not reachable, the 114 initial SSL handshake may take a significant time until the browser gives up 115 waiting for the CRL. Therefore the header timeout values should not be set 116 to very low values for SSL virtual hosts. 117 The body timeout values include the time needed for SSL renegotiation 118 (if necessary).</p> 119 120 <p>When an <code class="directive"><a href="/mod/core.html#acceptfilter">AcceptFilter</a></code> is in use 121 (usually the case on Linux and FreeBSD), the socket is not sent to the 122 server process before at least one byte (or the whole request for 123 <code>httpready</code>) is received. The header timeout configured with 124 <code>RequestReadTimeout</code> is only effective after the server process has 125 received the socket.</p> 126 127 <p>For each of the two timeout types (header or body), there are three ways 128 to specify the timeout: 129 </p> 130 131 <ul> 132 133 <li><strong>Fixed timeout value</strong>:<br /> 134 135 <div class="example"><p><code><var>type</var>=<var>timeout</var></code></p></div> 136 137 <p>The time in seconds allowed for reading all of the request headers or 138 body, respectively. A value of 0 means no limit.</p> 139 </li> 140 141 <li><strong>Disable module for a vhost:</strong>:<br /> 142 143 <div class="example"><p><code>header=0 body=0</code></p></div> 144 145 <p>This disables <code class="module"><a href="/mod/mod_reqtimeout.html">mod_reqtimeout</a></code> completely.</p> 146 </li> 147 148 <li><strong>Timeout value that is increased when data is 149 received</strong>:<br /> 150 <div class="example"><p><code> 151 <var>type</var>=<var>timeout</var>,MinRate=<var>data_rate</var> 152 </code></p></div> 153 154 <p>Same as above, but whenever data is received, the timeout value is 155 increased according to the specified minimum data rate (in bytes per 156 second).</p> 157 </li> 158 159 <li><strong>Timeout value that is increased when data is received, with an 160 upper bound</strong>:<br /> 161 <div class="example"><p><code> 162 <var>type</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>data_rate</var> 163 </code></p></div> 164 165 <p>Same as above, but the timeout will not be increased above the second 166 value of the specified timeout range.</p> 167 </li> 168 169 </ul> 170 171 172</div> 173</div> 174<div class="bottomlang"> 175<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English"> en </a> | 176<a href="/fr/mod/mod_reqtimeout.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p> 177</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&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> 178<script type="text/javascript"><!--//--><![CDATA[//><!-- 179var comments_shortname = 'httpd'; 180var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html'; 181(function(w, d) { 182 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 183 d.write('<div id="comments_thread"><\/div>'); 184 var s = d.createElement('script'); 185 s.type = 'text/javascript'; 186 s.async = true; 187 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 188 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 189 } 190 else { 191 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 192 } 193})(window, document); 194//--><!]]></script></div><div id="footer"> 195<p class="apache">Copyright 2014 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> 196<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.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[//><!-- 197if (typeof(prettyPrint) !== 'undefined') { 198 prettyPrint(); 199} 200//--><!]]></script> 201</body></html>