maxishchenko avatar maxishchenko committed 98dbc8f

Wiki docs updated for nginx 1.4

Comments (0)

Files changed (443)

META-INF/plugin.xml

     <depends>com.intellij.modules.lang</depends>
 
     <change-notes><![CDATA[
+        <b>0.0.13</b>
+        <ul>
+            <li>Built for IDEA 12 and later</li>
+        </ul>
         <b>0.0.12</b>
         <ul>
             <li>Built for IDEA 11 and later</li>
     ]]>
     </change-notes>
 
-    <idea-version since-build="111.69"/>
+    <idea-version since-build="120.00"/>
 
     <resource-bundle>net.ishchenko.idea.nginx.NginxBundle</resource-bundle>
 
 <?xml version="1.0" encoding="UTF-8"?>
-<module relativePaths="true" type="PLUGIN_MODULE" version="4">
-  <component name="DBNavigator.Module.ConnectionManager">
-    <connections />
-  </component>
+<module type="PLUGIN_MODULE" version="4">
   <component name="DevKit.ModuleBuildProperties" url="file://$MODULE_DIR$/META-INF/plugin.xml" />
   <component name="NewModuleRootManager" inherit-compiler-output="true">
     <exclude-output />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="commons-exec" level="project" />
-    <orderEntry type="library" name="commons-io" level="project" />
-    <orderEntry type="library" name="jsoup" level="project" />
+    <orderEntry type="library" name="commons-exec-1.1" level="project" />
+    <orderEntry type="library" name="commons-io-2.4" level="project" />
+    <orderEntry type="library" name="jsoup-1.7.2" level="project" />
   </component>
 </module>
 

src/net/ishchenko/idea/nginx/docs/directives/Appendix.html

+<h2><span class="editsection">[<a href="/index.php?title=HttpSplitClientsModule&amp;action=edit&amp;section=6" title="Edit section: Appendix">edit</a>]</span> <span class="mw-headline" id="Appendix"> Appendix </span></h2><p>Instead of <b>${remote_addr}</b>, one could use <b>${cookie}</b>, <b>${args}</b> or any other <a rel="nofollow" class="external text" href="http://wiki.nginx.org/HttpCoreModule#Variables">nginx variable</a>. You may also add a salt (arbitrary string) if you wish. </p><ul>
+ <li> Keep in mind that if you use a variable like <b>${remote_addr}</b> (user IP), the hash (and percentage) will always be the same as long as the user/client keep the same IP. In other words, the <b>$variant</b> value will always be the same for the same IP. </li>
+ <li> Hashing algorithm is MurmurHash2 since version 1.0.1; Previously CRC32. </li>
+</ul><h1><span class="editsection">[<a href="/index.php?title=HttpSplitClientsModule&amp;action=edit&amp;section=7" title="Edit section: Directives">edit</a>]</span> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpSplitClientsModule</i>
Add a comment to this file

src/net/ishchenko/idea/nginx/docs/directives/Basic_configuration

Empty file added.

src/net/ishchenko/idea/nginx/docs/directives/Building_Module_at_Compile-time.html

-<h2> <span class="mw-headline" id="Building_Module_at_Compile-time"> Building Module at Compile-time </span></h2><p>Unless built at compile-time, the module is not available. The default is to not build this module. If you want to enable this module, is necessary to specify <b>--with-http_perl_module</b> when running <i>configure</i>. </p><p>Your system must have Perl 5.6.1 or above. </p><br><i>Module: EmbeddedPerlModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpPerlModule&amp;action=edit&amp;section=2" title="Edit section: Building Module at Compile-time">edit</a>]</span> <span class="mw-headline" id="Building_Module_at_Compile-time"> Building Module at Compile-time </span></h2><p>Unless built at compile-time, the module is not available. The default is to not build this module. If you want to enable this module, is necessary to specify <b>--with-http_perl_module</b> when running <i>configure</i>. </p><p>Your system must have Perl 5.6.1 or above. </p><br><i>Module: HttpPerlModule</i>

src/net/ishchenko/idea/nginx/docs/directives/Generate_Certificates.html

-<h2> <span class="mw-headline" id="Generate_Certificates"> Generate Certificates </span></h2><p>To generate private (dummy) certificates you can perform the following list of openssl commands. </p><p>First change directory to where you want to create the certificate and private key, for example: </p><pre>
+<h2><span class="editsection">[<a href="/index.php?title=HttpSslModule&amp;action=edit&amp;section=2" title="Edit section: Generate Certificates">edit</a>]</span> <span class="mw-headline" id="Generate_Certificates"> Generate Certificates </span></h2><p>To generate private (dummy) certificates you can perform the following list of openssl commands. </p><p>First change directory to where you want to create the certificate and private key, for example: </p><pre>
 $ cd /usr/local/nginx/conf
 </pre><p>Now create the server private key, you'll be asked for a passphrase: </p><pre>
 $ openssl genrsa -des3 -out server.key 1024

src/net/ishchenko/idea/nginx/docs/directives/Installation.html

-<h2> <span class="mw-headline" id="Installation"> Installation </span></h2><p>By default the module is not built, it is necessary to enable its build with </p><pre>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=2" title="Edit section: Installation">edit</a>]</span> <span class="mw-headline" id="Installation"> Installation </span></h2><p>By default the module is not built, it is necessary to enable its build with </p><pre>
 ./configure --with-http_addition_module
 </pre><p>at compilation time. </p><p>Example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">

src/net/ishchenko/idea/nginx/docs/directives/Known_Problems.html

-<h2> <span class="mw-headline" id="Known_Problems"> Known Problems </span></h2><p>This module is experimental; therefore anything is possible and bugs are likely. </p><ol>
+<h2><span class="editsection">[<a href="/index.php?title=HttpPerlModule&amp;action=edit&amp;section=3" title="Edit section: Known Problems">edit</a>]</span> <span class="mw-headline" id="Known_Problems"> Known Problems </span></h2><p>This module is experimental; therefore anything is possible and bugs are likely. </p><ol>
  <li> If a Perl module performs protracted operation, (for example DNS lookups, database queries, etc), then the worker process that is running the Perl script is completely tied up for the duration of script. Therefore embedded Perl scripts should be extremely careful to limit themselves to short, predictable operations. </li>
  <li> It's possible for Nginx to leak memory if you reload the configuration file (via 'kill -HUP &lt;pid&gt;'). </li>
 </ol><p>Example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
 <span class="nu0">1</span><span class="sy0">;</span>
 <span class="kw2">__END__</span></pre>
  </div>
-</div><h1> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: EmbeddedPerlModule</i>
+</div><h1><span class="editsection">[<a href="/index.php?title=HttpPerlModule&amp;action=edit&amp;section=4" title="Edit section: Directives">edit</a>]</span> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpPerlModule</i>

src/net/ishchenko/idea/nginx/docs/directives/Limitations.html

-<h2> <span class="mw-headline" id="Limitations"> Limitations </span></h2><p>Note that as of 0.8.17 no contents will be added if the current location is served as a subrequest itself. Consider the following example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=3" title="Edit section: Limitations">edit</a>]</span> <span class="mw-headline" id="Limitations"> Limitations </span></h2><p>Note that as of 0.8.17 no contents will be added if the current location is served as a subrequest itself. Consider the following example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpCoreModule#location"><span class="kw3">location</span></a> /foo <span class="br0">{</span>
   <a href="/NginxHttpAdditionModule#add_before_body"><span class="kw25">add_before_body</span></a> /bar<span class="sy0">;</span>
   <a href="/NginxHttpAdditionModule#add_before_body"><span class="kw25">add_before_body</span></a> <span class="re0">$before_action</span><span class="sy0">;</span>
 <span class="br0">}</span></pre>
  </div>
-</div><p>will not work as expected (although the configuration file will still load properly). </p><h1> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpAdditionModule</i>
+</div><p>will not work as expected (although the configuration file will still load properly). </p><h1><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=4" title="Edit section: Directives">edit</a>]</span> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpAdditionModule</i>

src/net/ishchenko/idea/nginx/docs/directives/Redirecting_51.25_of_the_traffic_to_another_URL.html

+<h2><span class="editsection">[<a href="/index.php?title=HttpSplitClientsModule&amp;action=edit&amp;section=5" title="Edit section: Redirecting 51% of the traffic to another URL">edit</a>]</span> <span class="mw-headline" id="Redirecting_51.25_of_the_traffic_to_another_URL"> Redirecting 51% of the traffic to another URL </span></h2><div dir="ltr" class="mw-geshi" style="text-align: left;">
+ <div class="nginx source-nginx">
+  <pre class="de1"><a href="/NginxHttpCoreModule#http"><span class="kw3">http</span></a> <span class="br0">{</span>
+    split_clients <span class="st0">&quot;${remote_addr}&quot;</span> <span class="re0">$redirectSite</span> <span class="br0">{</span>
+	    <span class="nu0">51</span>% <span class="st0">&quot;1&quot;</span><span class="sy0">;</span>
+	    <span class="nu0">49</span>% <span class="st0">&quot;0&quot;</span><span class="sy0">;</span>
+	<span class="br0">}</span>
+&nbsp;
+    <a href="/NginxHttpCoreModule#server"><span class="kw3">server</span></a> <span class="br0">{</span>
+        <a href="/NginxHttpCoreModule#location"><span class="kw3">location</span></a> / <span class="br0">{</span>
+            <a href="/NginxHttpRewriteModule#if"><span class="kw22">if</span></a> <span class="br0">(</span><span class="re0">$redirectSite</span> <span class="sy0">=</span> <span class="st0">&quot;1&quot;</span><span class="br0">)</span> <span class="br0">{</span>
+                <a href="/NginxHttpRewriteModule#return"><span class="kw22">return</span></a> <span class="nu0">302</span> <span class="st0">&quot;http://www.website2.com/&quot;</span><span class="sy0">;</span>
+            <span class="br0">}</span>
+            <span class="br0">[</span>...<span class="br0">]</span>
+        <span class="br0">}</span>
+    <span class="br0">}</span></pre>
+ </div>
+</div><ul>
+ <li> Although on nginx <a rel="nofollow" class="external text" href="http://wiki.nginx.org/IfIsEvil">IF is evil</a>, we can use it in this specific case. </li>
+</ul><br><i>Module: HttpSplitClientsModule</i>

src/net/ishchenko/idea/nginx/docs/directives/References.html

-<h2> <span class="mw-headline" id="References"> References </span></h2><p><a href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html" class="external text" rel="nofollow">Original Documentation</a> </p><div class="printfooter">
-  Retrieved from &quot;
- <a href="http://wiki.nginx.org/HttpUpstreamModule">http://wiki.nginx.org/HttpUpstreamModule</a>&quot;
-</div><div class="visualClear"></div><br><i>Module: HttpUpstreamModule</i>

src/net/ishchenko/idea/nginx/docs/directives/Sending_a_query_string_variable_to_51.25_of_clients_.28to_PHP_scripts.29.html

+<h2><span class="editsection">[<a href="/index.php?title=HttpSplitClientsModule&amp;action=edit&amp;section=4" title="Edit section: Sending a query string variable to 51% of clients (to PHP scripts)">edit</a>]</span> <span class="mw-headline" id="Sending_a_query_string_variable_to_51.25_of_clients_.28to_PHP_scripts.29"> Sending a query string variable to 51% of clients (to PHP scripts) </span></h2><div dir="ltr" class="mw-geshi" style="text-align: left;">
+ <div class="nginx source-nginx">
+  <pre class="de1"><a href="/NginxHttpCoreModule#http"><span class="kw3">http</span></a> <span class="br0">{</span>
+    split_clients <span class="st0">&quot;${remote_addr}&quot;</span> <span class="re0">$additionalQsVariable</span> <span class="br0">{</span>
+	    <span class="nu0">51</span>% <span class="st0">&quot;coolVariable=1&quot;</span><span class="sy0">;</span>
+	    <span class="nu0">49</span>% <span class="st0">&quot;&quot;</span><span class="sy0">;</span>
+	<span class="br0">}</span>
+&nbsp;
+    <a href="/NginxHttpCoreModule#server"><span class="kw3">server</span></a> <span class="br0">{</span>
+        <a href="/NginxHttpCoreModule#location"><span class="kw3">location</span></a> <span class="sy0">~</span> \.php$ <span class="br0">{</span>
+            <a href="/NginxHttpRewriteModule#set"><span class="kw22">set</span></a> <span class="re0">$args</span> <span class="st0">&quot;${query_string}&amp;${additionalQsVariable}&quot;</span><span class="sy0">;</span>
+            <span class="br0">[</span>...<span class="br0">]</span>
+        <span class="br0">}</span>
+    <span class="br0">}</span></pre>
+ </div>
+</div><br><i>Module: HttpSplitClientsModule</i>

src/net/ishchenko/idea/nginx/docs/directives/Using_Wildcard_certificates_with_multiple_servers.html

-<h2> <span class="mw-headline" id="Using_Wildcard_certificates_with_multiple_servers"> Using Wildcard certificates with multiple servers </span></h2><p>In some instances you may wish to provide a number of secure subdomains amongst unsecured ones, and possibly share resources across both HTTP and HTTPS subdomains. To do this one would require a wildcard subdomain, for example <i>*.nginx.org</i>. An example configuration follows which shows how to configure a standard <i>www</i> subdomain, a secured subdomain, and share images across both subdomains using a third. </p><p>When using a configuration like this it's more efficient memory wise to place the certificate file containing the certificate(s) for all domain names and the corresponding private key file directives in a http context, such that it's inherited by all active servers/virtual hosts: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpSslModule&amp;action=edit&amp;section=3" title="Edit section: Using Wildcard certificates with multiple servers">edit</a>]</span> <span class="mw-headline" id="Using_Wildcard_certificates_with_multiple_servers"> Using Wildcard certificates with multiple servers </span></h2><p>In some instances you may wish to provide a number of secure subdomains amongst unsecured ones, and possibly share resources across both HTTP and HTTPS subdomains. To do this one would require a wildcard subdomain, for example <i>*.nginx.org</i>. An example configuration follows which shows how to configure a standard <i>www</i> subdomain, a secured subdomain, and share images across both subdomains using a third. </p><p>When using a configuration like this it's more efficient memory wise to place the certificate file containing the certificate(s) for all domain names and the corresponding private key file directives in a http context, such that it's inherited by all active servers/virtual hosts: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpSslModule#ssl_certificate"><span class="kw31">ssl_certificate</span></a>      common.crt<span class="sy0">;</span>
 <a href="/NginxHttpSslModule#ssl_certificate_key"><span class="kw31">ssl_certificate_key</span></a>  common.key<span class="sy0">;</span>
   ...
 <span class="br0">}</span></pre>
  </div>
-</div><h1> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpSslModule</i>
+</div><h1><span class="editsection">[<a href="/index.php?title=HttpSslModule&amp;action=edit&amp;section=4" title="Edit section: Directives">edit</a>]</span> <span class="mw-headline" id="Directives"> Directives </span></h1><br><i>Module: HttpSslModule</i>

src/net/ishchenko/idea/nginx/docs/directives/accept_mutex.html

-<h2> <span class="mw-headline" id="accept_mutex"> accept_mutex </span></h2><p><b>Syntax:</b> <i>accept_mutex [ on | off ] </i> </p><p><b>Default:</b> <i>on</i> </p><p>nginx uses accept mutex to serialize accept() syscalls. </p><br><i>Module: EventsModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=EventsModule&amp;action=edit&amp;section=3" title="Edit section: accept mutex">edit</a>]</span> <span class="mw-headline" id="accept_mutex"> accept_mutex </span></h2><p><b>Syntax:</b> <i>accept_mutex [ on | off ] </i> </p><p><b>Default:</b> <i>on</i> </p><p>nginx uses accept mutex to serialize accept() syscalls. </p><br><i>Module: EventsModule</i>

src/net/ishchenko/idea/nginx/docs/directives/accept_mutex_delay.html

-<h2> <span class="mw-headline" id="accept_mutex_delay"> accept_mutex_delay </span></h2><p><b>Syntax:</b> <i>accept_mutex_delay Nms;</i> </p><p><b>Default:</b> <i>500ms</i> </p><p>If a worker process does not have accept mutex it will try to aquire it at least after this delay. By default delay is 500ms. </p><p><br /> </p><br><i>Module: EventsModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=EventsModule&amp;action=edit&amp;section=4" title="Edit section: accept mutex delay">edit</a>]</span> <span class="mw-headline" id="accept_mutex_delay"> accept_mutex_delay </span></h2><p><b>Syntax:</b> <i>accept_mutex_delay Nms;</i> </p><p><b>Default:</b> <i>500ms</i> </p><p>If a worker process does not have accept mutex it will try to aquire it at least after this delay. By default delay is 500ms. </p><p><br /> </p><br><i>Module: EventsModule</i>

src/net/ishchenko/idea/nginx/docs/directives/access_log.html

-<h2> <span class="mw-headline" id="access_log"> access_log </span></h2><p><b>syntax:</b> <i>access_log path [format [buffer=size]] | off</i> </p><p><b>default:</b> <i>access_log log/access.log combined</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The <b>access_log</b> directive sets the path, format and buffer size for the access log file. Using &quot;off&quot; as the only parameter clears all <b>access_log</b> directives for the current level. If the format is not indicated, it defaults to <a href="/NginxHttpLogModule#log_format_combined" title="NginxHttpLogModule" class="mw-redirect">&quot;combined&quot;</a>. The size of buffer must not exceed the size of the atomic record for writing into the disk file. This size is not limited for FreeBSD 3.0-6.0. </p><p>The log file path can contain variables (version &gt;=0.7.4) but such logs have some limitations: </p><ul>
+<h2><span class="editsection">[<a href="/index.php?title=HttpLogModule&amp;action=edit&amp;section=3" title="Edit section: access log">edit</a>]</span> <span class="mw-headline" id="access_log"> access_log </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>access_log</b> <i>path</i> [ <i>format</i> [ <code>buffer</code> = <i>size</i> ]]<br /><b>access_log</b> <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>logs/access.log combined</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />if in location<br />limit_except</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log">access_log</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 13/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The <b>access_log</b> directive sets the path, format and buffer size for the access log file. Using &quot;off&quot; as the only parameter clears all <b>access_log</b> directives for the current level. If the format is not indicated, it defaults to <a href="/NginxHttpLogModule#log_format_combined" title="NginxHttpLogModule" class="mw-redirect">&quot;combined&quot;</a>. The size of buffer must not exceed the size of the atomic record for writing into the disk file. This size is not limited for FreeBSD 3.0-6.0. </p><p>The log file path can contain variables (version &gt;=0.7.4) but such logs have some limitations: </p><ul>
  <li> worker user must have permission to create files in; </li>
  <li> buffering does not work; </li>
  <li> for each log entry, the file is opened and immediately closed after writing the record. However, descriptors of frequently used files may be stored in <a href="#open_log_file_cache"> open_log_file_cache</a> . Regarding log rotation, it must be kept in mind that over time (which is set by the parameter <i>valid</i> of directive <a href="#open_log_file_cache"> open_log_file_cache</a>), logging can be still continue to the old file. </li>
-</ul><p>Nginx supports powerful access log separation per location. Accesses can also be output to more than one log at the same time. For more details, see the <a href="http://thread.gmane.org/gmane.comp.web.nginx.english/9277" class="external text" rel="nofollow">Multiple access_log directives in different contexts</a> thread on the mailing list. </p><br><i>Module: HttpLogModule</i>
+</ul><p>Nginx supports powerful access log separation per location. Accesses can also be output to more than one log at the same time. For more details, see the <a rel="nofollow" class="external text" href="http://thread.gmane.org/gmane.comp.web.nginx.english/9277">Multiple access_log directives in different contexts</a> thread on the mailing list. </p><br><i>Module: HttpLogModule</i>

src/net/ishchenko/idea/nginx/docs/directives/add_after_body.html

-<h2> <span class="mw-headline" id="add_after_body"> add_after_body </span></h2><p><b>syntax:</b> <i>add_after_body uri</i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>Directive adds content of uri after the response body, issued as a result of the work of the assigned subrequest. </p><br><i>Module: HttpAdditionModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=6" title="Edit section: add after body">edit</a>]</span> <span class="mw-headline" id="add_after_body"> add_after_body </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>add_after_body</b> <i>uri</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_addition_module.html#add_after_body">add_after_body</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 31/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive adds content of uri after the response body, issued as a result of the work of the assigned subrequest. </p><br><i>Module: HttpAdditionModule</i>

src/net/ishchenko/idea/nginx/docs/directives/add_before_body.html

-<h2> <span class="mw-headline" id="add_before_body"> add_before_body </span></h2><p><b>syntax:</b> <i>add_before_body uri</i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>Directive adds content of uri before the response body, issued as a result of the work of the assigned subrequest. </p><br><i>Module: HttpAdditionModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=5" title="Edit section: add before body">edit</a>]</span> <span class="mw-headline" id="add_before_body"> add_before_body </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>add_before_body</b> <i>uri</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_addition_module.html#add_before_body">add_before_body</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 24/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive adds content of uri before the response body, issued as a result of the work of the assigned subrequest. </p><br><i>Module: HttpAdditionModule</i>

src/net/ishchenko/idea/nginx/docs/directives/add_header.html

-<h2> <span class="mw-headline" id="add_header"> add_header </span></h2><p><b>syntax:</b> <i>add_header name value</i> </p><p><b>default:</b> <i>none</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p><b> variables:</b> <i>yes</i> </p><p>Adds headers to the HTTP response when the response code is equal to 200, 204, 301, 302 or 304. </p><p>Note that for headers other than <code>Last-Modified</code>, it just appends a new header entry to the output header list. So you can't use this directive to rewrite existing headers like <code>Server</code>. Use the <a href="/NginxHttpHeadersMoreModule" title="NginxHttpHeadersMoreModule" class="mw-redirect">headers_more</a> module for it. </p><br><i>Module: HttpHeadersModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpHeadersModule&amp;action=edit&amp;section=3" title="Edit section: add header">edit</a>]</span> <span class="mw-headline" id="add_header"> add_header </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>add_header</b> <i>name</i> <i>value</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />if in location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header">add_header</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 13/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Adds headers to the HTTP response when the response code is equal to 200, 204, 301, 302 or 304. </p><p>Note that for headers other than <code>Last-Modified</code>, it just appends a new header entry to the output header list. So you can't use this directive to rewrite existing headers like <code>Server</code>. Use the <a href="/NginxHttpHeadersMoreModule" title="NginxHttpHeadersMoreModule" class="mw-redirect">headers_more</a> module for it. </p><br><i>Module: HttpHeadersModule</i>

src/net/ishchenko/idea/nginx/docs/directives/addition_types.html

-<h2> <span class="mw-headline" id="addition_types"> addition_types </span></h2><p><b>syntax:</b> <i>addition_types mime-type [mime-type ...]</i> </p><p><b>default:</b> <i>text/html</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>Directive (since 0.7.9) allows you to add text only to locations of the specified MIME-types (defaults to <i>&quot;text/html&quot;</i>). </p><p>(Before 0.8.17, this directive was mispelled as &quot;addtion_types&quot; in the source. This bug has been fixed in 0.8.17.) </p><h1> <span class="mw-headline" id="References"> References </span></h1><p><a href="http://sysoev.ru/nginx/docs/http/ngx_http_addition_module.html" class="external text" rel="nofollow">Original Documentation</a> </p><div class="printfooter">
-  Retrieved from &quot;
- <a href="http://wiki.nginx.org/HttpAdditionModule">http://wiki.nginx.org/HttpAdditionModule</a>&quot;
-</div><div class="visualClear"></div><br><i>Module: HttpAdditionModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=7" title="Edit section: addition types">edit</a>]</span> <span class="mw-headline" id="addition_types"> addition_types </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>addition_types</b> <i>mime-type</i> ...</td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>text/html</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Appeared in:</b></td> 
+   <td> 0.7.9</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_addition_module.html#addition_types">addition_types</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 38/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive (since 0.7.9) allows you to add text only to locations of the specified MIME-types (defaults to <i>&quot;text/html&quot;</i>). </p><p>(Before 0.8.17, this directive was mispelled as &quot;addtion_types&quot; in the source. This bug has been fixed in 0.8.17.) </p><h1><span class="editsection">[<a href="/index.php?title=HttpAdditionModule&amp;action=edit&amp;section=8" title="Edit section: References">edit</a>]</span> <span class="mw-headline" id="References"> References </span></h1><p><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_addition_module.html">Original Documentation</a> </p><br><i>Module: HttpAdditionModule</i>

src/net/ishchenko/idea/nginx/docs/directives/aio.html

-<h2> <span class="mw-headline" id="aio"> aio </span></h2><p><b>syntax:</b> <i>aio [on|off|sendfile]</i> </p><p><b>default:</b> <i>off</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>This directive is usable as of Linux kernel 2.6.22. For Linux it is required to use directio, this automatically disables sendfile support. </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=3" title="Edit section: aio">edit</a>]</span> <span class="mw-headline" id="aio"> aio </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>aio</b> <code>on</code> | <code>off</code> | <code>sendfile</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Appeared in:</b></td> 
+   <td> 0.8.11</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#aio">aio</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 10/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> This directive is usable as of Linux kernel 2.6.22. For Linux it is required to use directio, this automatically disables sendfile support. </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpCoreModule#location"><span class="kw3">location</span></a> /video <span class="br0">{</span>
     aio on<span class="sy0">;</span> 

src/net/ishchenko/idea/nginx/docs/directives/alias.html

-<h2> <span class="mw-headline" id="alias"> alias </span></h2><p><b>syntax:</b> <i>alias file-path|directory-path</i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>location</i> </p><p>This directive assigns a path to be used as the basis for serving requests for the indicated location. Note that it may look similar to the <code>root</code> directive at first sight, but the document root doesn't change, just the file system path used for the request. The location part of the request is <b>dropped</b> in the request Nginx issues. Let's see this in action. Consider the following example. </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=4" title="Edit section: alias">edit</a>]</span> <span class="mw-headline" id="alias"> alias </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>alias</b> <i>path</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#alias">alias</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 26/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> This directive assigns a path to be used as the basis for serving requests for the indicated location. Note that it may look similar to the <code>root</code> directive at first sight, but the document root doesn't change, just the file system path used for the request. The location part of the request is <b>dropped</b> in the request Nginx issues. Let's see this in action. Consider the following example. </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpCoreModule#location"><span class="kw3">location</span></a>  /i/ <span class="br0">{</span>
   <a href="/NginxHttpCoreModule#alias"><span class="kw3">alias</span></a>  /spool/w3/images/<span class="sy0">;</span>
   <a href="/NginxHttpCoreModule#alias"><span class="kw3">alias</span></a> /home/website/files/$<span class="nu0">1</span><span class="sy0">;</span>
 <span class="br0">}</span></pre>
  </div>
-</div><p>The request &quot;/download/book.pdf&quot; will return the file &quot;/home/website/files/book.pdf&quot;. Note again that only part of the request URI <b>after</b> the location is appended to the path defined by <code>alias</code>. </p><p>It is possible to use variables in the replacement path. </p><br><i>Module: HttpCoreModule</i>
+</div><p>The request &quot;/download/book.pdf&quot; will return the file &quot;/home/website/files/book.pdf&quot;. Note again that only part of the request URI <b>after</b> the location is appended to the path defined by <code>alias</code>. </p><p>It is possible to use variables in the replacement path. </p><p>Note that there is a <a rel="nofollow" class="external text" href="http://trac.nginx.org/nginx/ticket/97">longstanding bug</a> that <code>alias</code> and <code>try_files</code> don't work together. </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/allow.html

-<h2> <span class="mw-headline" id="allow"> allow </span></h2><p><b>syntax:</b> allow <i>[ address | CIDR | all ]</i> </p><p><b>default:</b> <i>none</i> </p><p><b>context:</b> <i>http, server, location, limit_except</i> </p><p><b>variables:</b> <i>no</i>&nbsp; </p><p><b>phase:</b> <i>access</i> </p><p><br /> Directive grants access for the network or addresses indicated. </p><p><br /> </p><br><i>Module: HttpAccessModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAccessModule&amp;action=edit&amp;section=3" title="Edit section: allow">edit</a>]</span> <span class="mw-headline" id="allow"> allow </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>allow</b> <i>address</i> | <i>CIDR</i> | <code>all</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />limit_except</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_access_module.html#allow">allow</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 16/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive grants access for the network or addresses indicated. </p><br><i>Module: HttpAccessModule</i>

src/net/ishchenko/idea/nginx/docs/directives/ancient_browser.html

-<h2> <span class="mw-headline" id="ancient_browser"> ancient_browser </span></h2><p><b>syntax:</b> ancient_browser <i>line [ line... ]</i> </p><p><b>default:</b> <i>none</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p><b>variables:</b> <i>unknown</i> </p><p><br /> Directive assigns the substrings, during presence of which in the line &quot;User-agent&quot;, browser are considered as <b>old</b>.<br /> Special line &quot;netscape4&quot; corresponds to regular expression &quot;^Mozilla/[1-4] &quot;. </p><p><br /> </p><br><i>Module: HttpBrowserModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpBrowserModule&amp;action=edit&amp;section=3" title="Edit section: ancient browser">edit</a>]</span> <span class="mw-headline" id="ancient_browser"> ancient_browser </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>ancient_browser</b> <i>string</i> ...</td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_browser_module.html#ancient_browser">ancient_browser</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 16/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive assigns the substrings, during presence of which in the line &quot;User-agent&quot;, browser are considered as <b>old</b>.<br /> Special line &quot;netscape4&quot; corresponds to regular expression &quot;^Mozilla/[1-4] &quot;. </p><br><i>Module: HttpBrowserModule</i>

src/net/ishchenko/idea/nginx/docs/directives/ancient_browser_value.html

-<h2> <span class="mw-headline" id="ancient_browser_value"> ancient_browser_value </span></h2><p><b>syntax:</b> ancient_browser_value <i>value</i> </p><p><b>default:</b> ancient_browser_value 1 </p><p><b>context:</b> <i>http, server, location</i> </p><p><b>variables:</b> <i>unknown</i> </p><p><br /> Directive assigns value for the variables $ancient_browser. </p><p><br /> </p><br><i>Module: HttpBrowserModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpBrowserModule&amp;action=edit&amp;section=4" title="Edit section: ancient browser value">edit</a>]</span> <span class="mw-headline" id="ancient_browser_value"> ancient_browser_value </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>ancient_browser_value</b> <i>string</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>1</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_browser_module.html#ancient_browser_value">ancient_browser_value</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 23/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive assigns value for the variables $ancient_browser. </p><br><i>Module: HttpBrowserModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth.html

-<h2> <span class="mw-headline" id="auth"> auth </span></h2><p>Renamed to <a href="/NginxMailCoreModule#pop3_auth" title="NginxMailCoreModule" class="mw-redirect">pop3_auth</a> in 0.5.15 </p><br><i>Module: MailCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=MailCoreModule&amp;action=edit&amp;section=4" title="Edit section: auth">edit</a>]</span> <span class="mw-headline" id="auth"> auth </span></h2><p>Renamed to <a href="/NginxMailCoreModule#pop3_auth" title="NginxMailCoreModule" class="mw-redirect">pop3_auth</a> in 0.5.15 </p><br><i>Module: MailCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth_basic.html

-<h2> <span class="mw-headline" id="auth_basic"> auth_basic </span></h2><p><b>syntax:</b> auth_basic <i>realm | off</i> </p><p><b>default:</b> auth_basic off </p><p><b>context:</b> <i>http, server, location, limit_except</i> </p><p><b>variables:</b> <i>no</i>&nbsp; </p><p><b>phase:</b> <i>access</i> </p><p><br /> This directive includes testing name and password with HTTP Basic Authentication. The assigned parameter is used as authentication realm. A value of &quot;off&quot; makes it possible to override the action for the inheritable from a lower-level directive. </p><p><br /> </p><br><i>Module: HttpAuthBasicModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAuthBasicModule&amp;action=edit&amp;section=3" title="Edit section: auth basic">edit</a>]</span> <span class="mw-headline" id="auth_basic"> auth_basic </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>auth_basic</b> <i>string</i> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />limit_except</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic">auth_basic</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 13/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> This directive includes testing name and password with HTTP Basic Authentication. The assigned parameter is used as authentication realm. A value of &quot;off&quot; makes it possible to override the action for the inheritable from a lower-level directive. </p><p><br /> </p><br><i>Module: HttpAuthBasicModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth_basic_user_file.html

-<h2> <span class="mw-headline" id="auth_basic_user_file"> auth_basic_user_file </span></h2><p><b>syntax:</b> auth_basic_user_file <i>file</i> </p><p><b>default:</b> <i>none</i> </p><p><b>context:</b> <i>http, server, location, limit_except</i> </p><p><b>variables:</b> <i>no</i>&nbsp; </p><p><b>phase:</b> <i>access</i> </p><p><br /> This directive sets the htpasswd filename for the authentication realm. Since version 0.6.7 the filename path is relative to directory of nginx configuration file nginx.conf, but not to nginx prefix directory. </p><p>The format of file is the following: </p><pre>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAuthBasicModule&amp;action=edit&amp;section=4" title="Edit section: auth basic user file">edit</a>]</span> <span class="mw-headline" id="auth_basic_user_file"> auth_basic_user_file </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>auth_basic_user_file</b> <i>file</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />limit_except</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic_user_file">auth_basic_user_file</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 20/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> This directive sets the htpasswd filename for the authentication realm. Since version 0.6.7 the filename path is relative to directory of nginx configuration file nginx.conf, but not to nginx prefix directory. </p><p>The format of file is the following: </p><pre>
 user:pass
 user2:pass2:comment
 user3:pass3
-</pre><p><br /> Passwords must be encoded by function crypt(3). If Apache is installed, you can create the password file using the htpasswd program included. Note: Apache uses MD5 for encryption. </p><p>See also: <a href="/Faq#How_do_I_generate_an_htpasswd_file_without_having_Apache_tools_installed.3F" title="Faq">Faq#How_do_I_generate_an_htpasswd_file_without_having_Apache_tools_installed.3F</a> </p><h1> <span class="mw-headline" id="References"> References </span></h1><p><a href="http://sysoev.ru/nginx/docs/http/ngx_http_auth_basic_module.html" class="external text" rel="nofollow">Original Documentation</a> </p><p><a href="http://kbeezie.com/view/protecting-folders-with-nginx/" class="external text" rel="nofollow">Protecting Folders with Auth_Basic</a> </p><div class="printfooter">
-  Retrieved from &quot;
- <a href="http://wiki.nginx.org/HttpAuthBasicModule">http://wiki.nginx.org/HttpAuthBasicModule</a>&quot;
-</div><div class="visualClear"></div><br><i>Module: HttpAuthBasicModule</i>
+</pre><p>Passwords must be encoded by function crypt(3). If Apache is installed, you can create the password file using the htpasswd program included. Note: Apache uses MD5 for encryption. </p><p>As of version 1.0.3 nginx supports &quot;$apr1&quot;, &quot;{PLAIN}&quot; and &quot;{SSHA}&quot; password encryption methods. </p><p>As of version 1.3.13 nginx supports &quot;{SHA}&quot; encryption as well. Plain SHA1 encryption should be considered for migration purposes only and should whenever possible be avoided for security reasons. </p><p>This file should be readable by workers, running from unprivileged <a href="/CoreModule#user" title="CoreModule">user</a>. E. g. when nginx run from <i>www</i> you can set permissions as </p><pre>
+chown root:nobody htpasswd_file
+chmod 640 htpasswd_file
+</pre><p>See also: <a href="/Faq#How_do_I_generate_an_htpasswd_file_without_having_Apache_tools_installed.3F" title="Faq">How do I generate an htpasswd file without having Apache tools installed?</a> </p><h1><span class="editsection">[<a href="/index.php?title=HttpAuthBasicModule&amp;action=edit&amp;section=5" title="Edit section: References">edit</a>]</span> <span class="mw-headline" id="References"> References </span></h1><p><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html">Original Documentation</a> </p><p><a rel="nofollow" class="external text" href="http://kbeezie.com/view/protecting-folders-with-nginx/">Protecting Folders with Auth_Basic</a> </p><br><i>Module: HttpAuthBasicModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth_http.html

-<h2> <span class="mw-headline" id="auth_http"> auth_http </span></h2><p><b>syntax:</b> <i>auth_http</i> <i><b>URL</b></i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can set the URL to the external HTTP-like server for authorization. A description of the protocol can be found <a href="/MailCoreModule#Authentication" title="MailCoreModule"> here</a> . </p><br><i>Module: MailAuthModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=MailAuthModule&amp;action=edit&amp;section=3" title="Edit section: auth http">edit</a>]</span> <span class="mw-headline" id="auth_http"> auth_http </span></h2><p><b>syntax:</b> <i>auth_http</i> <i><b>URL</b></i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can set the URL to the external HTTP-like server for authorization. A description of the protocol can be found <a href="/MailCoreModule#Authentication" title="MailCoreModule"> here</a> . </p><br><i>Module: MailAuthModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth_http_header.html

-<h2> <span class="mw-headline" id="auth_http_header"> auth_http_header </span></h2><p><b>syntax:</b> <i>auth_http_header</i> <i><b>header value</b></i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can add a HTTP header and value during the identification process. This makes it possible to use a shared secret to ensure that the request was answered by nginx. </p><p>For example: </p><pre>
+<h2><span class="editsection">[<a href="/index.php?title=MailAuthModule&amp;action=edit&amp;section=4" title="Edit section: auth http header">edit</a>]</span> <span class="mw-headline" id="auth_http_header"> auth_http_header </span></h2><p><b>syntax:</b> <i>auth_http_header</i> <i><b>header value</b></i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can add a HTTP header and value during the identification process. This makes it possible to use a shared secret to ensure that the request was answered by nginx. </p><p>For example: </p><pre>
 auth_http_header X-NGX-Auth-Key &quot;secret_string&quot;;
 </pre><br><i>Module: MailAuthModule</i>

src/net/ishchenko/idea/nginx/docs/directives/auth_http_timeout.html

-<h2> <span class="mw-headline" id="auth_http_timeout"> auth_http_timeout </span></h2><p><b>syntax:</b> <i>auth_http_timeout</i> <i><b>milliseconds;</b></i> </p><p><b>default:</b> <i>60000</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can set the time out for authentication process. </p><h1> <span class="mw-headline" id="References"> References </span></h1><div class="printfooter">
-  Retrieved from &quot;
- <a href="http://wiki.nginx.org/MailAuthModule">http://wiki.nginx.org/MailAuthModule</a>&quot;
-</div><div class="visualClear"></div><br><i>Module: MailAuthModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=MailAuthModule&amp;action=edit&amp;section=5" title="Edit section: auth http timeout">edit</a>]</span> <span class="mw-headline" id="auth_http_timeout"> auth_http_timeout </span></h2><p><b>syntax:</b> <i>auth_http_timeout</i> <i><b>milliseconds;</b></i> </p><p><b>default:</b> <i>60000</i> </p><p><b>context:</b> <i>mail, server</i> </p><p>With this directive you can set the time out for authentication process. </p><h1><span class="editsection">[<a href="/index.php?title=MailAuthModule&amp;action=edit&amp;section=6" title="Edit section: References">edit</a>]</span> <span class="mw-headline" id="References"> References </span></h1><br><i>Module: MailAuthModule</i>

src/net/ishchenko/idea/nginx/docs/directives/autoindex.html

-<h2> <span class="mw-headline" id="autoindex"> autoindex </span></h2><p><b>syntax:</b> autoindex <i>[ on | off ]</i> </p><p><b>default:</b> autoindex off </p><p><b>context:</b> <i>http, server, location</i> </p><p><b>variables:</b> <i>no</i>&nbsp; </p><p><b>phase:</b> <i>content</i> </p><p><br /> Enables or disables the automatic directory listing. </p><br><i>Module: HttpAutoindexModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAutoindexModule&amp;action=edit&amp;section=3" title="Edit section: autoindex">edit</a>]</span> <span class="mw-headline" id="autoindex"> autoindex </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>autoindex</b> <code>on</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_autoindex_module.html#autoindex">autoindex</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 13/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Enables or disables the automatic directory listing. </p><br><i>Module: HttpAutoindexModule</i>

src/net/ishchenko/idea/nginx/docs/directives/autoindex_exact_size.html

-<h2> <span class="mw-headline" id="autoindex_exact_size"> autoindex_exact_size </span></h2><p><b>syntax:</b> autoindex_exact_size <i>[ on | off ]</i> </p><p><b>default:</b> autoindex_exact_size on </p><p><b>context:</b> <i>http, server, location</i> </p><p><b>variables:</b> <i>no</i> </p><p><br /> Defines how to represent file sizes in the directory listing -- either accurately (in bytes), or rounded (KB, MB or GB). </p><br><i>Module: HttpAutoindexModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAutoindexModule&amp;action=edit&amp;section=4" title="Edit section: autoindex exact size">edit</a>]</span> <span class="mw-headline" id="autoindex_exact_size"> autoindex_exact_size </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>autoindex_exact_size</b> <code>on</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>on</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_autoindex_module.html#autoindex_exact_size">autoindex_exact_size</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 20/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Defines how to represent file sizes in the directory listing -- either accurately (in bytes), or rounded (KB, MB or GB). </p><br><i>Module: HttpAutoindexModule</i>

src/net/ishchenko/idea/nginx/docs/directives/autoindex_localtime.html

-<h2> <span class="mw-headline" id="autoindex_localtime"> autoindex_localtime </span></h2><p><b>syntax:</b> autoindex_localtime <i>[ on | off ]</i> </p><p><b>default:</b> autoindex_localtime off </p><p><b>context:</b> <i>http, server, location</i> </p><p><b>variables:</b> <i>no</i> </p><p><br /> Enables showing file times as local time. Default is &quot;off&quot; (GMT time). </p><h1> <span class="mw-headline" id="References"> References </span></h1><p><a href="http://sysoev.ru/nginx/docs/http/ngx_http_autoindex_module.html" class="external text" rel="nofollow">Original Documentation</a> </p><div class="printfooter">
-  Retrieved from &quot;
- <a href="http://wiki.nginx.org/HttpAutoindexModule">http://wiki.nginx.org/HttpAutoindexModule</a>&quot;
-</div><div class="visualClear"></div><br><i>Module: HttpAutoindexModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpAutoindexModule&amp;action=edit&amp;section=5" title="Edit section: autoindex localtime">edit</a>]</span> <span class="mw-headline" id="autoindex_localtime"> autoindex_localtime </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>autoindex_localtime</b> <code>on</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_autoindex_module.html#autoindex_localtime">autoindex_localtime</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 27/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Enables showing file times as local time. Default is &quot;off&quot; (GMT time). </p><h1><span class="editsection">[<a href="/index.php?title=HttpAutoindexModule&amp;action=edit&amp;section=6" title="Edit section: References">edit</a>]</span> <span class="mw-headline" id="References"> References </span></h1><p><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_autoindex_module.html">Original Documentation</a> </p><br><i>Module: HttpAutoindexModule</i>

src/net/ishchenko/idea/nginx/docs/directives/block.html

-<h2> <span class="mw-headline" id="block"> block </span></h2><p>This command creates a block, which can be used as a silencer in command <code>include</code>. Inside the block there can be other SSI commands. </p><ul>
+<h2><span class="editsection">[<a href="/index.php?title=HttpSsiModule&amp;action=edit&amp;section=8" title="Edit section: block">edit</a>]</span> <span class="mw-headline" id="block"> block </span></h2><p>This command creates a block, which can be used as a silencer in command <code>include</code>. Inside the block there can be other SSI commands. </p><ul>
  <li> <code>name</code> — the name of the block. For example: </li>
 </ul><pre>
   &lt;!--# block name=&quot;one&quot; --&gt;

src/net/ishchenko/idea/nginx/docs/directives/break.html

-<h2> <span class="mw-headline" id="break"> break </span></h2><p><b>syntax:</b> <i>break</i> </p><p><b>default:</b> <i>none</i> </p><p><b>context:</b> <i>server, location, if</i> </p><p>Completes the current set of rules. Do not process any more rewrite directives. </p><p>Example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpRewriteModule&amp;action=edit&amp;section=3" title="Edit section: break">edit</a>]</span> <span class="mw-headline" id="break"> break </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>break</b> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> server<br />location<br />if</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#break">break</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 10/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Completes the current set of rules. Continue processing within the current location block but do not process any more rewrite directives. </p><p>Example: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpRewriteModule#if"><span class="kw22">if</span></a> <span class="br0">(</span><span class="re0">$slow</span><span class="br0">)</span> <span class="br0">{</span>
   <a href="/NginxHttpCoreModule#limit_rate"><span class="kw3">limit_rate</span></a>  10k<span class="sy0">;</span>

src/net/ishchenko/idea/nginx/docs/directives/charset.html

-<h2> <span class="mw-headline" id="charset"> charset </span></h2><p><b>syntax:</b> <i>charset encoding|off</i> </p><p><b>default:</b> <i>charset off</i> </p><p><b>context:</b> <i>http, server, location, if in location</i> </p><p>The directive charset adds the line &quot;Content-Type&quot; into response-header with indicated encoding. If this encoding is differed from that indicated in directive source_charset, then reencoding is carried out. The parameter &quot;off&quot; deactivate the insertation of the line &quot;Content-Type&quot; in the response-header. </p><p><br /> </p><br><i>Module: HttpCharsetModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCharsetModule&amp;action=edit&amp;section=3" title="Edit section: charset">edit</a>]</span> <span class="mw-headline" id="charset"> charset </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>charset</b> <i>charset</i> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location<br />if in location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset">charset</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 13/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive charset adds the line &quot;Content-Type&quot; into response-header with indicated encoding. If this encoding is differed from that indicated in directive source_charset, then reencoding is carried out. The parameter &quot;off&quot; deactivate the insertation of the line &quot;Content-Type&quot; in the response-header. </p><p><br /> </p><br><i>Module: HttpCharsetModule</i>

src/net/ishchenko/idea/nginx/docs/directives/charset_map.html

-<h2> <span class="mw-headline" id="charset_map"> charset_map </span></h2><p><b>syntax:</b> <i>charset_map encoding1 encoding2 {...}</i> </p><p><b>default:</b> <i>no</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The directive charset_map describes the table of reencoding from one encoding into another. A table for the inverse reencoding is created using the same data. The codes of symbols are assigned in hexadecimal form. If no recorded symbols are in the range 80-FF they will be substituted with '?'. </p><p>Example usage: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpCharsetModule&amp;action=edit&amp;section=4" title="Edit section: charset map">edit</a>]</span> <span class="mw-headline" id="charset_map"> charset_map </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>charset_map</b> <i>charset1</i> <i>charset2</i> { ... }</td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> </td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_map">charset_map</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 20/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive charset_map describes the table of reencoding from one encoding into another. A table for the inverse reencoding is created using the same data. The codes of symbols are assigned in hexadecimal form. If no recorded symbols are in the range 80-FF they will be substituted with '?'. </p><p>Example usage: </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpCharsetModule#charset_map"><span class="kw9">charset_map</span></a>  koi8-r  windows-<span class="nu0">1251</span> <span class="br0">{</span>
   C0  FE <span class="sy0">;</span> <span class="co1"># small yu</span>
   <span class="co1"># ...</span>
 <span class="br0">}</span></pre>
  </div>
-</div><p>The complete table of conversion from koi8-r into Windows-1251 is distributed with nginx and is located in file conf/koi-win. </p><p><br /> </p><br><i>Module: HttpCharsetModule</i>
+</div><p>The complete table of conversion from koi8-r into Windows-1251 is distributed with nginx and is located in file conf/koi-win. </p><br><i>Module: HttpCharsetModule</i>

src/net/ishchenko/idea/nginx/docs/directives/charset_types.html

+<h2><span class="editsection">[<a href="/index.php?title=HttpCharsetModule&amp;action=edit&amp;section=5" title="Edit section: charset types">edit</a>]</span> <span class="mw-headline" id="charset_types"> charset_types </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>charset_types</b> <i>mime-type</i> ...</td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>text/html text/xml text/plain text/vnd.wap.wml application/x-javascript application/rss+xml</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Appeared in:</b></td> 
+   <td> 0.7.9</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types">charset_types</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 30/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> </p><br><i>Module: HttpCharsetModule</i>

src/net/ishchenko/idea/nginx/docs/directives/chunked_transfer_encoding.html

-<h2> <span class="mw-headline" id="chunked_transfer_encoding"> chunked_transfer_encoding </span></h2><p><b>syntax:</b> <i>chunked_transfer_encoding on|off</i> </p><p><b>default:</b> <i>on</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>This directive (0.7.66+) sets whether chunked encoding is enabled in responses (only valid for connections using HTTP 1.1 or later). </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=5" title="Edit section: chunked transfer encoding">edit</a>]</span> <span class="mw-headline" id="chunked_transfer_encoding"> chunked_transfer_encoding </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>chunked_transfer_encoding</b> <code>on</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>on</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#chunked_transfer_encoding">chunked_transfer_encoding</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 39/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> This directive (0.7.66+) sets whether chunked encoding is enabled in responses (only valid for connections using HTTP 1.1 or later). </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_body_buffer_size.html

-<h2> <span class="mw-headline" id="client_body_buffer_size"> client_body_buffer_size </span></h2><p><b>syntax:</b> <i>client_body_buffer_size the_size</i> </p><p><b>default:</b> <i>8k/16k</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The directive specifies the client request body buffer size. </p><p>If the request body is more than the buffer, then the entire request body or some part is written in a temporary file. </p><p>The default size is equal to two pages size, depending on platform it is either 8K or 16K. </p><p>When the <i>Content-Length</i> request header specifies a smaller size value than the buffer size, then Nginx will use the smaller one. So Nginx will *not* always allocate a buffer of this buffer size for every request. </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=8" title="Edit section: client body buffer size">edit</a>]</span> <span class="mw-headline" id="client_body_buffer_size"> client_body_buffer_size </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_body_buffer_size</b> <i>size</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>8k|16k</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size">client_body_buffer_size</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 60/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive specifies the client request body buffer size. </p><p>If the request body size is more than the buffer size, then the entire (or partial) request body is written into a temporary file. </p><p>The default size is equal to page size times 2. Depending on the platform, the page size is either 8K or 16K. </p><p>When the <i>Content-Length</i> request header specifies a smaller size value than the buffer size, then Nginx will use the smaller one. As a result, Nginx will <b>not</b> always allocate a buffer of this buffer size for every request. </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_body_in_file_only.html

-<h2> <span class="mw-headline" id="client_body_in_file_only"> client_body_in_file_only </span></h2><p><b>syntax:</b> <i>client_body_in_file_only on|off</i> </p><p><b>default:</b> <i>off</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The directive forces nginx to always store a client request body into a temporary disk file even if the body is actually of 0 size. </p><p>Please note that the file will not be removed at request completion if the directive is enabled. </p><p>This directive can be used for debugging and for the <code>$r-&gt;request_body_file</code> method in the <a href="/EmbeddedPerlModule" title="EmbeddedPerlModule">Embedded Perl module</a>. </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=6" title="Edit section: client body in file only">edit</a>]</span> <span class="mw-headline" id="client_body_in_file_only"> client_body_in_file_only </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_body_in_file_only</b> <code>on</code> | <code>clean</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_in_file_only">client_body_in_file_only</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 46/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive forces nginx to always store a client request body into a temporary disk file even if the body is actually of 0 size. </p><p>Please note that the file will <b>NOT</b> be removed at request completion if the directive is enabled. </p><p>This directive can be used for debugging and for the <code>$r-&gt;request_body_file</code> method in the <a href="/EmbeddedPerlModule" title="EmbeddedPerlModule" class="mw-redirect">Embedded Perl module</a>. </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_body_in_single_buffer.html

-<h2> <span class="mw-headline" id="client_body_in_single_buffer"> client_body_in_single_buffer </span></h2><p><b>syntax:</b> <i>client_body_in_single_buffer</i> </p><p><b>default:</b> <i>off</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The directive(0.7.58+) specifies whether to keep the whole body in a single client request buffer. The directive is recommended when using the variable <a href="#.24request_body">$request_body</a> to reduce the operations of copying. </p><p>Note that when the request body cannot be hold in a single buffer (see <a href="#client_body_buffer_size">client_body_buffer_size</a>), the body will still touch the disk. </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=7" title="Edit section: client body in single buffer">edit</a>]</span> <span class="mw-headline" id="client_body_in_single_buffer"> client_body_in_single_buffer </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_body_in_single_buffer</b> <code>on</code> | <code>off</code> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>off</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_in_single_buffer">client_body_in_single_buffer</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 53/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive(0.7.58+) specifies whether to keep the whole body in a single client request buffer. The directive is recommended when using the variable <a href="#.24request_body">$request_body</a> to reduce the operations of copying. </p><p>Note that when the request body cannot be hold in a single buffer (see <a href="#client_body_buffer_size">client_body_buffer_size</a>), the body will still touch the disk. </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_body_temp_path.html

-<h2> <span class="mw-headline" id="client_body_temp_path"> client_body_temp_path </span></h2><p><b>syntax:</b> <i>client_body_temp_path dir-path [ level1 [ level2 [ level3 ] </i> </p><p><b>default:</b> <i>client_body_temp</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>The directive assigns the directory for storing the temporary files in it with the body of the request. </p><p>In the <code>dir-path</code> a hierarchy of subdirectories up to three levels are possible. </p><p>For example </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=9" title="Edit section: client body temp path">edit</a>]</span> <span class="mw-headline" id="client_body_temp_path"> client_body_temp_path </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_body_temp_path</b> <i>path</i> [ <i>level1</i> [ <i>level2</i> [ <i>level3</i> ]]]</td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>client_body_temp</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_temp_path">client_body_temp_path</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 67/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> The directive assigns the directory for storing the temporary files in it with the body of the request. </p><p>In the <code>dir-path</code> a hierarchy of subdirectories up to three levels are possible. </p><p>For example </p><div dir="ltr" class="mw-geshi" style="text-align: left;">
  <div class="nginx source-nginx">
   <pre class="de1"><a href="/NginxHttpCoreModule#client_body_temp_path"><span class="kw3">client_body_temp_path</span></a>  /spool/nginx/client_temp <span class="nu0">1</span> <span class="nu0">2</span><span class="sy0">;</span></pre>
  </div>

src/net/ishchenko/idea/nginx/docs/directives/client_body_timeout.html

-<h2> <span class="mw-headline" id="client_body_timeout"> client_body_timeout </span></h2><p><b>syntax:</b> <i>client_body_timeout time</i> </p><p><b>default:</b> <i>60</i> </p><p><b>context:</b> <i>http, server, location</i> </p><p>Directive sets the read timeout for the request body from client. </p><p>The timeout is set only if a body is not get in one readstep. If after this time the client send nothing, nginx returns error &quot;Request time out&quot; (408). </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=10" title="Edit section: client body timeout">edit</a>]</span> <span class="mw-headline" id="client_body_timeout"> client_body_timeout </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_body_timeout</b> <i>time</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>60s</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server<br />location</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout">client_body_timeout</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 80/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive sets the read timeout for the request body from client. </p><p>The timeout is set only if a body is not get in one readstep. If after this time the client send nothing, nginx returns error &quot;Request time out&quot; (408). </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_header_buffer_size.html

-<h2> <span class="mw-headline" id="client_header_buffer_size"> client_header_buffer_size </span></h2><p><b>syntax:</b> <i>client_header_buffer_size size</i> </p><p><b>default:</b> <i>1k</i> </p><p><b>context:</b> <i>http, server</i> </p><p>Directive sets the headerbuffer size for the request header from client. </p><p>For the overwhelming majority of requests it is completely sufficient a buffer size of 1K. </p><p>However if a big cookie is in the request-header or the request has come from a wap-client the header can not be placed in 1K, therefore, the request-header or a line of request-header is not located completely in this buffer nginx allocate a bigger buffer, the size of the bigger buffer can be set with the instruction large_client_header_buffers. </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=11" title="Edit section: client header buffer size">edit</a>]</span> <span class="mw-headline" id="client_header_buffer_size"> client_header_buffer_size </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>
+   <td class="drt-td1"><b>Syntax:</b></td> 
+   <td class="drt-td2"> <b>client_header_buffer_size</b> <i>size</i> </td>
+  </tr> 
+  <tr>
+   <td><b>Default:</b></td> 
+   <td> <i>1k</i></td>
+  </tr> 
+  <tr>
+   <td><b>Context:</b></td> 
+   <td> http<br />server</td>
+  </tr> 
+  <tr>
+   <td><b>Reference:</b></td>
+   <td><a rel="nofollow" class="external text" href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size">client_header_buffer_size</a></td>
+  </tr>
+ </tbody>
+</table><p>
+ <!-- 
+NewPP limit report
+Preprocessor node count: 87/1000000
+Post-expand include size: 0/2097152 bytes
+Template argument size: 0/2097152 bytes
+Expensive parser function count: 0/100
+--> </p><p><br /> Directive sets the headerbuffer size for the request header from client. </p><p>For the overwhelming majority of requests it is completely sufficient with a buffer size of 1K. </p><p>However if a big cookie is in the request-header or the request has come from a wap-client the header can not be placed in 1K, therefore, the request-header or a line of request-header is not located completely in this buffer nginx allocate a bigger buffer, the size of the bigger buffer can be set with the instruction large_client_header_buffers. </p><br><i>Module: HttpCoreModule</i>

src/net/ishchenko/idea/nginx/docs/directives/client_header_timeout.html

-<h2> <span class="mw-headline" id="client_header_timeout"> client_header_timeout </span></h2><p><b>syntax:</b> <i>client_header_timeout time</i> </p><p><b>default:</b> <i>60</i> </p><p><b>context:</b> <i>http, server</i> </p><p>Directive assigns timeout with reading of the title of the request of client. </p><p>The timeout is set only if a header is not get in one readstep. If after this time the client send nothing, nginx returns error &quot;Request time out&quot; (408). </p><br><i>Module: HttpCoreModule</i>
+<h2><span class="editsection">[<a href="/index.php?title=HttpCoreModule&amp;action=edit&amp;section=12" title="Edit section: client header timeout">edit</a>]</span> <span class="mw-headline" id="client_header_timeout"> client_header_timeout </span></h2><table class="directive-ref-table">
+ <tbody>
+  <tr>