in the "Cache-Control:" header.</li>
<li>If the URL included a query string (e.g. from a HTML form GET
- method) it will not be cached unless the response includes an
- "Expires:" header, as per RFC2616 section 13.9.</li>
+ method) it will not be cached unless the response specifies an
+ explicit expiration by including an "Expires:" header or the max-age
+ or s-maxage directive of the "Cache-Control:" header, as per RFC2616
+ sections 13.9 and 13.2.1.</li>
<li>If the response has a status of 200 (OK), the response must
also include at least one of the "Etag", "Last-Modified" or
- the "Expires" headers, unless the
+ the "Expires" headers, or the max-age or s-maxage directive of
+ the "Cache-Control:" header, unless the
<code class="directive"><a href="./mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code>
directive has been used to require otherwise.</li>
<variants>
<variant>en</variant>
<variant>fr</variant>
- <variant>tr</variant>
+ <variant outdated="yes">tr</variant>
</variants>
</metafile>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="style/manual.tr.xsl"?>
-<!-- English Revision: 766324 -->
+<!-- English Revision: 766324:823563 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
<modulefile>mod_negotiation.xml</modulefile>
<modulefile>mod_nw_ssl.xml</modulefile>
<modulefile>mod_privileges.xml</modulefile>
- <modulefile>mod_proxy.xml</modulefile>
+ <modulefile>mod_proxy.xml.fr</modulefile>
<modulefile>mod_proxy_ajp.xml</modulefile>
<modulefile>mod_proxy_balancer.xml</modulefile>
<modulefile>mod_proxy_connect.xml</modulefile>
<li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li>
<li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li>
<li><a href="mod_mime.html#removetype">RemoveType</a></li>
-<li><a href="mod_reqtimeout.html#reqtimeout">ReqTimeout</a></li>
<li><a href="mod_headers.html#requestheader">RequestHeader</a></li>
+<li><a href="mod_reqtimeout.html#requesttimeout">RequestTimeout</a></li>
<li><a href="mod_authz_core.html#require">Require</a></li>
<li><a href="mod_authz_core.html#requireall"><RequireAll></a></li>
<li><a href="mod_authz_core.html#requireany"><RequireAny></a></li>
request</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.0.31 and later.</td></tr>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 344971:809241 (outdated) -->
+<!-- English Revision: 344971:824072 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">Load balancer scheduler algorithm</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#example">Example of a balancer configuration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#example">Examples of a balancer configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#environment">Exported Environment Variables</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Balancer Manager Support</a></li>
</ul><h3>See also</h3>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="example" id="example">Example of a balancer configuration</a></h2>
+<h2><a name="example" id="example">Examples of a balancer configuration</a></h2>
<p>Before we dive into the technical details, here's an example of
how you might use <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> to provide
</Proxy><br />
ProxyPass /test balancer://mycluster/
</code></p></div>
+
+ <p>Another example of how to provide load balancing with stickyness
+ using <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, even if the backend server does
+ not set a suitable session cookie:
+ </p>
+
+ <div class="example"><p><code>
+ Header add Set-Cookie: "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/"
+ env=BALANCER_ROUTE_CHANGED<br />
+ <Proxy balancer://mycluster><br />
+ BalancerMember http://192.168.1.50:80 route=1<br />
+ BalancerMember http://192.168.1.51:80 route=2<br />
+ ProxySet stickysession=ROUTEID<br />
+ </Proxy><br />
+ ProxyPass /test balancer://mycluster/
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="environment" id="environment">Exported Environment Variables</a></h2>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 395228:724006 (outdated) -->
+<!-- English Revision: 395228:824151 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
-<li><img alt="" src="../images/down.gif" /> <a href="#reqtimeout">ReqTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requesttimeout">RequestTimeout</a></li>
</ul>
<h3>Topics</h3>
<ul id="topics">
30 seconds for receiving the request body:
<div class="example"><p><code>
- ReqTimeout headerinit=10 bodyinit=30
+ RequestTimeout headerinit=10 bodyinit=30
</code></p></div>
</li>
request including the headers:
<div class="example"><p><code>
- ReqTimeout headerinit=10 headerminrate=500 headermax=30
+ RequestTimeout headerinit=10 headerminrate=500 headermax=30
</code></p></div>
</li>
<code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>):
<div class="example"><p><code>
- ReqTimeout bodyinit=10 bodyminrate=1000
+ RequestTimeout bodyinit=10 bodyminrate=1000
</code></p></div>
</li>
</ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ReqTimeout" id="ReqTimeout">ReqTimeout</a> <a name="reqtimeout" id="reqtimeout">Directive</a></h2>
+<div class="directive-section"><h2><a name="RequestTimeout" id="RequestTimeout">RequestTimeout</a> <a name="requesttimeout" id="requesttimeout">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set timeout values for receiving request headers and body from client.
</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReqTimeout
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestTimeout
[headerinit=<var>time</var>
[headerminrate=<var>rate</var> [headermax=<var>time</var>]]]
[bodyinit=<var>time</var>
is sent.</p>
<p>For SSL virtual hosts, the header timeout values include the time needed
- to do the SSL handshake.</p>
+ to do the initial SSL handshake. The body timeout values include the time
+ needed for SSL renegotiation (if necessary).</p>
<p>When an <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> is in use
(usually the case on Linux and FreeBSD), the socket is not sent to the
server process before at least one byte (or the whole request for
<code>httpready</code>) is received. The header timeout configured with
- <code>ReqTimeout</code> is only effective after the server process has
+ <code>RequestTimeout</code> is only effective after the server process has
received the socket.</p>
+ <p>For the timeout parameters, the value 0 means no limit.</p>
+
<dl>
<dt><code>headerinit</code></dt>
reconfigured remote server verification level after the HTTP request
was read but before the HTTP response is sent.</p>
-<div class="warning">
-<p>Note that even when certificate verification is enabled,
-<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> does <strong>not</strong> check whether the
-<code>commonName</code> (hostname) attribute of the server certificate
-matches the hostname used to connect to the server. In other words,
-the proxy does not guarantee that the SSL connection to the backend
-server is "secure" beyond the fact that the certificate is signed by
-one of the CAs configured using the
-<code class="directive">SSLProxyCACertificatePath</code> and/or
-<code class="directive">SSLProxyCACertificateFile</code> directives.</p>
-</div>
-
<p>
The following levels are available for <em>level</em>:</p>
<ul>
<tr><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>internal-path</var>
<var>public-path</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Adjusts the Path string in Set-Cookie headers from a reverse-
proxied server</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
+<tr class="odd"><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Use incoming Host HTTP request header for proxy
request</td></tr>
<tr><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>bytes</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Network buffer size for proxied HTTP and FTP
connections</td></tr>
<tr><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>]
...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Removes any content type associations for a set of file
extensions</td></tr>
-<tr class="odd"><td><a href="mod_reqtimeout.html#reqtimeout">ReqTimeout
+<tr class="odd"><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|merge|set|unset <var>header</var>
+[<var>value</var>] [<var>replacement</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure HTTP request headers</td></tr>
+<tr><td><a href="mod_reqtimeout.html#requesttimeout">RequestTimeout
[headerinit=<var>time</var>
[headerminrate=<var>rate</var> [headermax=<var>time</var>]]]
[bodyinit=<var>time</var>
[bodyminrate=<var>rate</var> [bodymax=<var>time</var>]]]
-</a></td><td></td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
+</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Set timeout values for receiving request headers and body from client.
</td></tr>
-<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|merge|set|unset <var>header</var>
-[<var>value</var>] [<var>replacement</var>] [early|env=[!]<var>variable</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP request headers</td></tr>
<tr class="odd"><td><a href="mod_authz_core.html#require">Require [not] <var>entity-name</var>
[<var>entity-name</var>] ...</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Tests whether an authenticated user is authorized by
an authorization provider.</td></tr>