<tr class="odd"><td><code>HANDLER</code></td>
<td>The name of the <a href="handler.html">handler</a> creating
the response</td></tr>
-<tr><td><code>HTTPS</code></td>
+<tr><td><code>HTTP2</code></td>
+ <td>"<code>on</code>" if the request uses http/2,
+ "<code>off</code>" otherwise</td></tr>
+<tr class="odd"><td><code>HTTPS</code></td>
<td>"<code>on</code>" if the request uses https,
"<code>off</code>" otherwise</td></tr>
-<tr class="odd"><td><code>IPV6</code></td>
+<tr><td><code>IPV6</code></td>
<td>"<code>on</code>" if the connection uses IPv6,
"<code>off</code>" otherwise</td></tr>
-<tr><td><code>REQUEST_STATUS</code></td>
+<tr class="odd"><td><code>REQUEST_STATUS</code></td>
<td>The HTTP error status of the request (not available during <code class="directive"><If></code>)</td></tr>
-<tr class="odd"><td><code>REQUEST_LOG_ID</code></td>
+<tr><td><code>REQUEST_LOG_ID</code></td>
<td>The error log id of the request (see
<code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>)</td></tr>
-<tr><td><code>CONN_LOG_ID</code></td>
+<tr class="odd"><td><code>CONN_LOG_ID</code></td>
<td>The error log id of the connection (see
<code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>)</td></tr>
-<tr class="odd"><td><code>CONN_REMOTE_ADDR</code></td>
+<tr><td><code>CONN_REMOTE_ADDR</code></td>
<td>The peer IP address of the connection (see the
<code class="module"><a href="./mod/mod_remoteip.html">mod_remoteip</a></code> module)</td></tr>
-<tr><td><code>CONTEXT_PREFIX</code></td>
+<tr class="odd"><td><code>CONTEXT_PREFIX</code></td>
<td /></tr>
-<tr class="odd"><td><code>CONTEXT_DOCUMENT_ROOT</code></td>
+<tr><td><code>CONTEXT_DOCUMENT_ROOT</code></td>
<td /></tr>
</table>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1721978:1726057 (outdated) -->
+<!-- English Revision: 1721978:1726167 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</div>
</div>
-<div id="quickview"><h3 class="directives">Directives</h3>
+<div id="quickview"><h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Usage examples</a></li>
+</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhcexpr">ProxyHCExpr</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctemplate">ProxyHCTemplate</a></li>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Usage examples</a></h2>
+
+
+ <p>The following example shows how one might configured health checking
+ for various backend servers:</p>
+
+
+ <pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ProxyHCExpr gdown %{REQUEST_STATUS} =~ /^[5]/}
+ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+
+<Proxy balancer://foo>
+ BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php
+ BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10
+ BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5
+ BalancerMember http://www4.example.com/
+</Proxy>
+
+ProxyPass "/" "balancer://foo"
+ProxyPassReverse "/" "balancer://foo"</pre>
+
+<p>In this scenario, <code>http://www.example.com/</code> is health checked by sending a <code>GET /status.php</code>
+request to that server and seeing that the returned page does not include the string <em>Under maintenance</em>. If
+it does, that server is put in health-check fail mode, and disabled. This dynamic check is performed
+every 30 seconds, which is the default.</p>
+
+<p><code>http://www2.example.com/</code> is checked by sending a simple <code>HEAD</code> request every
+10 seconds and making sure that the response status is 2xx, 3xx or 4xx. <code>http://www3.example.com/</code> is checked
+every 5 seconds by simply ensuring that the socket to that server is up and <code>http://www4.example.com/</code> is
+not dynamically checked at all.</p>
+
+</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyHCExpr" id="ProxyHCExpr">ProxyHCExpr</a> <a name="proxyhcexpr" id="proxyhcexpr">Directive</a></h2>
<table class="directive">