summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_proxy.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/manual/mod/mod_proxy.html13
-rw-r--r--docs/manual/mod/mod_proxy.html.en2074
-rw-r--r--docs/manual/mod/mod_proxy.html.fr.utf82357
-rw-r--r--docs/manual/mod/mod_proxy.html.ja.utf81274
4 files changed, 5718 insertions, 0 deletions
diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html
new file mode 100644
index 0000000..66c7c1a
--- /dev/null
+++ b/docs/manual/mod/mod_proxy.html
@@ -0,0 +1,13 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: mod_proxy.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_proxy.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
+
+URI: mod_proxy.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en
new file mode 100644
index 0000000..bc950ce
--- /dev/null
+++ b/docs/manual/mod/mod_proxy.html.en
@@ -0,0 +1,2074 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_proxy - Apache HTTP Server Version 2.4</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.min.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Apache Module mod_proxy</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multi-protocol proxy/gateway server</td></tr>
+<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>proxy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_proxy.c</td></tr></table>
+<h3>Summary</h3>
+
+ <div class="warning"><h3>Warning</h3>
+ <p>Do not enable proxying with <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> until you have <a href="#access">secured your server</a>. Open proxy servers are dangerous both to your
+ network and to the Internet at large.</p>
+ </div>
+
+ <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and related modules implement a
+ proxy/gateway for Apache HTTP Server, supporting a number of popular
+ protocols as well as several different load balancing algorithms.
+ Third-party modules can add support for additional protocols and
+ load balancing algorithms.</p>
+
+ <p>A set of modules must be loaded into the server to provide the
+ necessary features. These modules can be included statically at
+ build time or dynamically via the
+ <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive).
+ The set must include:</p>
+
+ <ul>
+ <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, which provides basic proxy
+ capabilities</li>
+
+ <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and one or more
+ balancer modules if load balancing is required. (See
+ <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> for more information.)</li>
+
+ <li>one or more proxy scheme, or protocol, modules:
+
+ <table class="bordered">
+ <tr><th>Protocol</th><th>Module</th></tr>
+ <tr><td>AJP13 (Apache JServe Protocol version
+ 1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr>
+ <tr><td>CONNECT (for
+ SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr>
+ <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr>
+ <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr>
+ <tr><td>HTTP/0.9, HTTP/1.0, and
+ HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr>
+ <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr>
+ <tr><td>WS and WSS (Web-sockets)</td><td><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></td></tr>
+ </table>
+ </li>
+ </ul>
+
+ <p>In addition, extended features are provided by other modules.
+ Caching is provided by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> and related
+ modules. The ability to contact remote servers using the SSL/TLS
+ protocol is provided by the <code>SSLProxy*</code> directives of
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. These additional modules will need
+ to be loaded and configured to take advantage of these features.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Forward Proxies and Reverse
+ Proxies/Gateways</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Basic Examples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#handler">Access via Handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#access">Controlling Access to Your Proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Slow Startup</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Intranet Proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Protocol Adjustments</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Request Bodies</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">Reverse Proxy Request Headers</a></li>
+</ul><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
+</ul>
+<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy">Report a bug</a></li></ul><h3>See also</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li>
+<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
+<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="forwardreverse" id="forwardreverse">Forward Proxies and Reverse
+ Proxies/Gateways</a></h2>
+ <p>Apache HTTP Server can be configured in both a <dfn>forward</dfn> and
+ <dfn>reverse</dfn> proxy (also known as <dfn>gateway</dfn>) mode.</p>
+
+ <p>An ordinary <dfn>forward proxy</dfn> is an intermediate
+ server that sits between the client and the <em>origin
+ server</em>. In order to get content from the origin server,
+ the client sends a request to the proxy naming the origin server
+ as the target. The proxy then requests the content from the
+ origin server and returns it to the client. The client must be
+ specially configured to use the forward proxy to access other
+ sites.</p>
+
+ <p>A typical usage of a forward proxy is to provide Internet
+ access to internal clients that are otherwise restricted by a
+ firewall. The forward proxy can also use caching (as provided
+ by <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) to reduce network usage.</p>
+
+ <p>The forward proxy is activated using the <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive. Because
+ forward proxies allow clients to access arbitrary sites through
+ your server and to hide their true origin, it is essential that
+ you <a href="#access">secure your server</a> so that only
+ authorized clients can access the proxy before activating a
+ forward proxy.</p>
+
+ <p>A <dfn>reverse proxy</dfn> (or <dfn>gateway</dfn>), by
+ contrast, appears to the client just like an ordinary web
+ server. No special configuration on the client is necessary.
+ The client makes ordinary requests for content in the namespace
+ of the reverse proxy. The reverse proxy then decides where to
+ send those requests and returns the content as if it were itself
+ the origin.</p>
+
+ <p>A typical usage of a reverse proxy is to provide Internet
+ users access to a server that is behind a firewall. Reverse
+ proxies can also be used to balance load among several back-end
+ servers or to provide caching for a slower back-end server.
+ In addition, reverse proxies can be used simply to bring
+ several servers into the same URL space.</p>
+
+ <p>A reverse proxy is activated using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive or the
+ <code>[P]</code> flag to the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive. It is
+ <strong>not</strong> necessary to turn <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> on in order to
+ configure a reverse proxy.</p>
+ </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">Basic Examples</a></h2>
+
+ <p>The examples below are only a very basic idea to help you
+ get started. Please read the documentation on the individual
+ directives.</p>
+
+ <p>In addition, if you wish to have caching enabled, consult
+ the documentation from <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+
+ <div class="example"><h3>Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
+ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
+</div>
+
+ <div class="example"><h3>Forward Proxy</h3><pre class="prettyprint lang-config">ProxyRequests On
+ProxyVia On
+
+&lt;Proxy "*"&gt;
+ Require host internal.example.com
+&lt;/Proxy&gt;</pre>
+</div>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="handler" id="handler">Access via Handler</a></h2>
+
+ <p>You can also force a request to be handled as a reverse-proxy
+ request, by creating a suitable Handler pass-through. The example
+ configuration below will pass all requests for PHP scripts to the
+ specified FastCGI server using reverse proxy:
+ </p>
+
+ <div class="example"><h3>Reverse Proxy PHP scripts</h3><pre class="prettyprint lang-config">&lt;FilesMatch "\.php$"&gt;
+ # Unix sockets require 2.4.7 or later
+ SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+&lt;/FilesMatch&gt;</pre>
+</div>
+
+ <p>This feature is available in Apache HTTP Server 2.4.10 and later.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="workers" id="workers">Workers</a></h2>
+ <p>The proxy manages the configuration of origin servers and their
+ communication parameters in objects called <dfn>workers</dfn>.
+ There are two built-in workers: the default forward proxy worker and the
+ default reverse proxy worker. Additional workers can be configured
+ explicitly.</p>
+
+ <p>The two default workers have a fixed configuration
+ and will be used if no other worker matches the request.
+ They do not use HTTP Keep-Alive or connection reuse.
+ The TCP connections to the origin server will instead be
+ opened and closed for each request.</p>
+
+ <p>Explicitly configured workers are identified by their URL.
+ They are usually created and configured using
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> or
+ <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> when used
+ for a reverse proxy:</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
+
+
+ <p>This will create a worker associated with the origin server URL
+ <code>http://backend.example.com</code> that will use the given timeout
+ values. When used in a forward proxy, workers are usually defined
+ via the <code class="directive"><a href="#proxyset">ProxySet</a></code> directive:</p>
+
+ <pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
+
+
+ <p>or alternatively using <code class="directive"><a href="#proxy">Proxy</a></code>
+ and <code class="directive"><a href="#proxyset">ProxySet</a></code>:</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://backend.example.com"&gt;
+ ProxySet connectiontimeout=5 timeout=30
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Using explicitly configured workers in the forward mode is
+ not very common, because forward proxies usually communicate with many
+ different origin servers. Creating explicit workers for some of the
+ origin servers can still be useful if they are used very often.
+ Explicitly configured workers have no concept of forward or reverse
+ proxying by themselves. They encapsulate a common concept of
+ communication with origin servers. A worker created by
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> for use in a
+ reverse proxy will also be used for forward proxy requests whenever
+ the URL to the origin server matches the worker URL, and vice versa.</p>
+
+ <p>The URL identifying a direct worker is the URL of its
+ origin server including any path components given:</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
+ProxyPass "/docs" "http://backend.example.com/docs"</pre>
+
+
+ <p>This example defines two different workers, each using a separate
+ connection pool and configuration.</p>
+
+ <div class="warning"><h3>Worker Sharing</h3>
+ <p>Worker sharing happens if the worker URLs overlap, which occurs when
+ the URL of some worker is a leading substring of the URL of another
+ worker defined later in the configuration file. In the following example</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
+ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
+
+
+ <p>the second worker isn't actually created. Instead the first
+ worker is used. The benefit is, that there is only one connection pool,
+ so connections are more often reused. Note that all configuration attributes
+ given explicitly for the later worker will be ignored. This will be logged
+ as a warning. In the above example, the resulting timeout value
+ for the URL <code>/examples</code> will be <code>60</code> instead
+ of <code>10</code>!</p>
+
+ <p>If you want to avoid worker sharing, sort your worker definitions
+ by URL length, starting with the longest worker URLs. If you want to maximize
+ worker sharing, use the reverse sort order. See also the related warning about
+ ordering <code class="directive"><a href="#proxypass">ProxyPass</a></code> directives.</p>
+
+ </div>
+
+ <p>Explicitly configured workers come in two flavors:
+ <dfn>direct workers</dfn> and <dfn>(load) balancer workers</dfn>.
+ They support many important configuration attributes which are
+ described below in the <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ directive. The same attributes can also be set using
+ <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
+
+ <p>The set of options available for a direct worker
+ depends on the protocol which is specified in the origin server URL.
+ Available protocols include <code>ajp</code>, <code>fcgi</code>,
+ <code>ftp</code>, <code>http</code> and <code>scgi</code>.</p>
+
+ <p>Balancer workers are virtual workers that use direct workers known
+ as their members to actually handle the requests. Each balancer can
+ have multiple members. When it handles a request, it chooses a member
+ based on the configured load balancing algorithm.</p>
+
+ <p>A balancer worker is created if its worker URL uses
+ <code>balancer</code> as the protocol scheme.
+ The balancer URL uniquely identifies the balancer worker.
+ Members are added to a balancer using
+ <code class="directive"><a href="#balancermember">BalancerMember</a></code>.</p>
+
+ <div class="note"><h3>DNS resolution for origin domains</h3>
+ <p>DNS resolution happens when the socket to
+ the origin domain is created for the first time.
+ When connection reuse is enabled, each backend domain is resolved
+ only once per child process, and cached for all further connections
+ until the child is recycled. This information should to be considered
+ while planning DNS maintenance tasks involving backend domains.
+ Please also check <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ parameters for more details about connection reuse.
+ </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="access" id="access">Controlling Access to Your Proxy</a></h2>
+ <p>You can control who can access your proxy via the <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> control block as in
+ the following example:</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
+ Require ip 192.168.0
+&lt;/Proxy&gt;</pre>
+
+
+ <p>For more information on access control directives, see
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
+
+ <p>Strictly limiting access is essential if you are using a
+ forward proxy (using the <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive).
+ Otherwise, your server can be used by any client to access
+ arbitrary hosts while hiding his or her true identity. This is
+ dangerous both for your network and for the Internet at large.
+ When using a reverse proxy (using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive with
+ <code>ProxyRequests Off</code>), access control is less
+ critical because clients can only contact the hosts that you
+ have specifically configured.</p>
+
+ <p><strong>See Also</strong> the <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a> environment variable.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">Slow Startup</a></h2>
+ <p>If you're using the <code class="directive"><a href="#proxyblock">ProxyBlock</a></code> directive, hostnames' IP addresses are looked up
+ and cached during startup for later match test. This may take a few
+ seconds (or more) depending on the speed with which the hostname lookups
+ occur.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="intranet" id="intranet">Intranet Proxy</a></h2>
+ <p>An Apache httpd proxy server situated in an intranet needs to forward
+ external requests through the company's firewall (for this, configure
+ the <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> directive
+ to forward the respective <var>scheme</var> to the firewall proxy).
+ However, when it has to
+ access resources within the intranet, it can bypass the firewall when
+ accessing hosts. The <code class="directive"><a href="#noproxy">NoProxy</a></code>
+ directive is useful for specifying which hosts belong to the intranet and
+ should be accessed directly.</p>
+
+ <p>Users within an intranet tend to omit the local domain name from their
+ WWW requests, thus requesting "http://somehost/" instead of
+ <code>http://somehost.example.com/</code>. Some commercial proxy servers
+ let them get away with this and simply serve the request, implying a
+ configured local domain. When the <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> directive is used and the server is <a href="#proxyrequests">configured for proxy service</a>, Apache httpd can return
+ a redirect response and send the client to the correct, fully qualified,
+ server address. This is the preferred method since the user's bookmark
+ files will then contain fully qualified hosts.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="envsettings" id="envsettings">Protocol Adjustments</a></h2>
+ <p>For circumstances where <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> is sending
+ requests to an origin server that doesn't properly implement
+ keepalives or HTTP/1.1, there are two <a href="../env.html">environment variables</a> that can force the
+ request to use HTTP/1.0 with no keepalive. These are set via the
+ <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> directive.</p>
+
+ <p>These are the <code>force-proxy-request-1.0</code> and
+ <code>proxy-nokeepalive</code> notes.</p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/buggyappserver/"&gt;
+ ProxyPass "http://buggyappserver:7001/foo/"
+ SetEnv force-proxy-request-1.0 1
+ SetEnv proxy-nokeepalive 1
+&lt;/Location&gt;</pre>
+
+
+ <p> In 2.4.26 and later, the "no-proxy" environment variable can be set to disable
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> processing the current request.
+ This variable should be set with <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, as <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>
+ is not evaluated early enough.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="request-bodies" id="request-bodies">Request Bodies</a></h2>
+
+ <p>Some request methods such as POST include a request body.
+ The HTTP protocol requires that requests which include a body
+ either use chunked transfer encoding or send a
+ <code>Content-Length</code> request header. When passing these
+ requests on to the origin server, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ will always attempt to send the <code>Content-Length</code>. But
+ if the body is large and the original request used chunked
+ encoding, then chunked encoding may also be used in the upstream
+ request. You can control this selection using <a href="../env.html">environment variables</a>. Setting
+ <code>proxy-sendcl</code> ensures maximum compatibility with
+ upstream servers by always sending the
+ <code>Content-Length</code>, while setting
+ <code>proxy-sendchunked</code> minimizes resource usage by using
+ chunked encoding.</p>
+
+ <p>Under some circumstances, the server must spool request bodies
+ to disk to satisfy the requested handling of request bodies. For
+ example, this spooling will occur if the original body was sent with
+ chunked encoding (and is large), but the administrator has
+ asked for backend requests to be sent with Content-Length or as HTTP/1.0.
+ This spooling can also occur if the request body already has a
+ Content-Length header, but the server is configured to filter incoming
+ request bodies.</p>
+
+ <p><code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> only applies to
+ request bodies that the server will spool to disk</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="x-headers" id="x-headers">Reverse Proxy Request Headers</a></h2>
+
+ <p>When acting in a reverse-proxy mode (using the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive, for example),
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> adds several request headers in
+ order to pass information to the origin server. These headers
+ are:</p>
+
+ <dl>
+ <dt><code>X-Forwarded-For</code></dt>
+ <dd>The IP address of the client.</dd>
+ <dt><code>X-Forwarded-Host</code></dt>
+ <dd>The original host requested by the client in the <code>Host</code>
+ HTTP request header.</dd>
+ <dt><code>X-Forwarded-Server</code></dt>
+ <dd>The hostname of the proxy server.</dd>
+ </dl>
+
+ <p>Be careful when using these headers on the origin server, since
+ they will contain more than one (comma-separated) value if the
+ original request already contained one of these headers. For
+ example, you can use <code>%{X-Forwarded-For}i</code> in the log
+ format string of the origin server to log the original clients IP
+ address, but you may get more than one address if the request
+ passes through several proxies.</p>
+
+ <p>See also the <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> and <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, which control
+ other request headers.</p>
+
+ <p>Note: If you need to specify custom request headers to be
+ added to the forwarded request, use the
+ <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>
+ directive.</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="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a> <a name="balancergrowth" id="balancergrowth">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of additional Balancers that can be added Post-configuration</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerGrowth 5</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#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>BalancerGrowth is only available in Apache HTTP Server 2.3.13
+ and later.</td></tr>
+</table>
+ <p>This directive allows for growth potential in the number of
+ Balancers available for a virtualhost in addition to the
+ number pre-configured. It only takes effect if there is at
+ least one pre-configured Balancer.</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="BalancerInherit" id="BalancerInherit">BalancerInherit</a> <a name="balancerinherit" id="balancerinherit">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inherit ProxyPassed Balancers/Workers from the main server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerInherit On</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#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>BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.</td></tr>
+</table>
+ <p>This directive will cause the current server/vhost to "inherit" ProxyPass
+ Balancers and Workers defined in the main server. This can cause issues and
+ inconsistent behavior if using the Balancer Manager and so should be disabled
+ if using that feature.</p>
+ <p>The setting in the global server defines the default for all vhosts.</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="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add a member to a load balancing group</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>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>BalancerMember is only available in Apache HTTP Server 2.2
+ and later.</td></tr>
+</table>
+ <p>This directive adds a member to a load balancing group. It can be used
+ within a <code>&lt;Proxy <var>balancer://</var>...&gt;</code> container
+ directive and can take any of the key value pair parameters available to
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> directives.</p>
+ <p>One additional parameter is available only to <code class="directive">BalancerMember</code> directives:
+ <var>loadfactor</var>. This is the member load factor - a decimal number between 1.0
+ (default) and 100.0, which defines the weighted load to be applied to the
+ member in question.</p>
+ <p>The <var>balancerurl</var> is only needed when not within a
+ <code>&lt;Proxy <var>balancer://</var>...&gt;</code>
+ container directive. It corresponds to the url of a balancer defined in
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p>
+ <p>The path component of the balancer URL in any
+ <code>&lt;Proxy <var>balancer://</var>...&gt;</code> container directive
+ is ignored.</p>
+ <p>Trailing slashes should typically be removed from the URL of a
+ <code class="directive">BalancerMember</code>.</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="BalancerPersist" id="BalancerPersist">BalancerPersist</a> <a name="balancerpersist" id="balancerpersist">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Attempt to persist changes made by the Balancer Manager across restarts.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BalancerPersist 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#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>BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.</td></tr>
+</table>
+ <p>This directive will cause the shared memory storage associated
+ with the balancers and balancer members to be persisted across
+ restarts. This allows these local changes to not be lost during the
+ normal restart/graceful state transitions.</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="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Hosts, domains, or networks that will be connected to
+directly</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This directive is only useful for Apache httpd proxy servers within
+ intranets. The <code class="directive">NoProxy</code> directive specifies a
+ list of subnets, IP addresses, hosts and/or domains, separated by
+ spaces. A request to a host which matches one or more of these is
+ always served directly, without forwarding to the configured
+ <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> proxy server(s).</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81"
+NoProxy ".example.com" "192.168.112.0/21"</pre>
+</div>
+
+ <p>The <var>host</var> arguments to the <code class="directive">NoProxy</code>
+ directive are one of the following type list:</p>
+
+ <dl>
+
+ <dt><var><a name="domain" id="domain">Domain</a></var></dt>
+ <dd>
+ <p>A <dfn>Domain</dfn> is a partially qualified DNS domain name, preceded
+ by a period. It represents a list of hosts which logically belong to the
+ same DNS domain or zone (<em>i.e.</em>, the suffixes of the hostnames are
+ all ending in <var>Domain</var>).</p>
+
+ <div class="example"><h3>Examples</h3><p><code>
+ .com .example.org.
+ </code></p></div>
+
+ <p>To distinguish <var>Domain</var>s from <var><a href="#hostname">Hostname</a></var>s (both syntactically and semantically; a DNS domain can
+ have a DNS A record, too!), <var>Domain</var>s are always written with a
+ leading period.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Domain name comparisons are done without regard to the case, and
+ <var>Domain</var>s are always assumed to be anchored in the root of the
+ DNS tree; therefore, the two domains <code>.ExAmple.com</code> and
+ <code>.example.com.</code> (note the trailing period) are considered
+ equal. Since a domain comparison does not involve a DNS lookup, it is much
+ more efficient than subnet comparison.</p>
+ </div></dd>
+
+
+ <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
+ <dd>
+ <p>A <dfn>SubNet</dfn> is a partially qualified internet address in
+ numeric (dotted quad) form, optionally followed by a slash and the netmask,
+ specified as the number of significant bits in the <var>SubNet</var>. It is
+ used to represent a subnet of hosts which can be reached over a common
+ network interface. In the absence of the explicit net mask it is assumed
+ that omitted (or zero valued) trailing digits specify the mask. (In this
+ case, the netmask can only be multiples of 8 bits wide.) Examples:</p>
+
+ <dl>
+ <dt><code>192.168</code> or <code>192.168.0.0</code></dt>
+ <dd>the subnet 192.168.0.0 with an implied netmask of 16 valid bits
+ (sometimes used in the netmask form <code>255.255.0.0</code>)</dd>
+ <dt><code>192.168.112.0/21</code></dt>
+ <dd>the subnet <code>192.168.112.0/21</code> with a netmask of 21
+ valid bits (also used in the form <code>255.255.248.0</code>)</dd>
+ </dl>
+
+ <p>As a degenerate case, a <em>SubNet</em> with 32 valid bits is the
+ equivalent to an <var><a href="#ipaddr">IPAddr</a></var>, while a <var>SubNet</var> with zero
+ valid bits (<em>e.g.</em>, 0.0.0.0/0) is the same as the constant
+ <var>_Default_</var>, matching any IP address.</p></dd>
+
+
+ <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
+ <dd>
+ <p>A <dfn>IPAddr</dfn> represents a fully qualified internet address in
+ numeric (dotted quad) form. Usually, this address represents a host, but
+ there need not necessarily be a DNS domain name connected with the
+ address.</p>
+ <div class="example"><h3>Example</h3><p><code>
+ 192.168.123.7
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>An <var>IPAddr</var> does not need to be resolved by the DNS system, so
+ it can result in more effective apache performance.</p>
+ </div></dd>
+
+
+ <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
+ <dd>
+ <p>A <dfn>Hostname</dfn> is a fully qualified DNS domain name which can
+ be resolved to one or more <var><a href="#ipaddr">IPAddrs</a></var> via the
+ DNS domain name service. It represents a logical host (in contrast to
+ <var><a href="#domain">Domain</a></var>s, see above) and must be resolvable
+ to at least one <var><a href="#ipaddr">IPAddr</a></var> (or often to a list
+ of hosts with different <var><a href="#ipaddr">IPAddr</a></var>s).</p>
+
+ <div class="example"><h3>Examples</h3><p><code>
+ prep.ai.example.edu<br />
+ www.example.org
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>In many situations, it is more effective to specify an <var><a href="#ipaddr">IPAddr</a></var> in place of a <var>Hostname</var> since a
+ DNS lookup can be avoided. Name resolution in Apache httpd can take a remarkable
+ deal of time when the connection to the name server uses a slow PPP
+ link.</p>
+ <p><var>Hostname</var> comparisons are done without regard to the case,
+ and <var>Hostname</var>s are always assumed to be anchored in the root
+ of the DNS tree; therefore, the two hosts <code>WWW.ExAmple.com</code>
+ and <code>www.example.com.</code> (note the trailing period) are
+ considered equal.</p>
+ </div></dd>
+ </dl>
+
+<h3>See also</h3>
+<ul>
+<li><a href="../dns-caveats.html">DNS Issues</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Proxy" id="Proxy">&lt;Proxy&gt;</a> <a name="proxy" id="proxy">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Container for directives applied to proxied resources</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Directives placed in <code class="directive">&lt;Proxy&gt;</code>
+ sections apply only to matching proxied content. Shell-style wildcards are
+ allowed.</p>
+
+ <p>For example, the following will allow only hosts in
+ <code>yournetwork.example.com</code> to access content via your proxy
+ server:</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
+ Require host yournetwork.example.com
+&lt;/Proxy&gt;</pre>
+
+
+ <p>The following example will process all files in the <code>foo</code>
+ directory of <code>example.com</code> through the <code>INCLUDES</code>
+ filter when they are sent through the proxy server:</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://example.com/foo/*"&gt;
+ SetOutputFilter INCLUDES
+&lt;/Proxy&gt;</pre>
+
+
+ <div class="note"><h3>Differences from the Location configuration section</h3>
+ <p>A backend URL matches the configuration section if it begins with the
+ the <var>wildcard-url</var> string, even if the last path segment in the
+ directive only matches a prefix of the backend URL. For example,
+ &lt;Proxy "http://example.com/foo"&gt; matches all of
+ http://example.com/foo, http://example.com/foo/bar, and
+ http://example.com/foobar. The matching of the final URL differs
+ from the behavior of the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, which for purposes of this note
+ treats the final path component as if it ended in a slash.</p>
+ <p>For more control over the matching, see <code class="directive">&lt;ProxyMatch&gt;</code>.</p>
+ </div>
+
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="#proxymatch">&lt;ProxyMatch&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a> <a name="proxyaddheaders" id="proxyaddheaders">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Add proxy information in X-Forwarded-* headers</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyAddHeaders On</code></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 version 2.3.10 and later</td></tr>
+</table>
+ <p>This directive determines whether or not proxy related information should be passed to the
+ backend server through X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server HTTP headers.</p>
+ <div class="note"><h3>Effectiveness</h3>
+ <p>This option is of use only for HTTP proxying, as handled by <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a> <a name="proxybadheader" id="proxybadheader">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines how to handle bad header lines in a
+response</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyBadHeader IsError</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">ProxyBadHeader</code> directive determines the
+ behavior of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> if it receives syntactically invalid
+ response header lines (<em>i.e.</em> containing no colon) from the origin
+ server. The following arguments are possible:</p>
+
+ <dl>
+ <dt><code>IsError</code></dt>
+ <dd>Abort the request and end up with a 502 (Bad Gateway) response. This is
+ the default behavior.</dd>
+
+ <dt><code>Ignore</code></dt>
+ <dd>Treat bad header lines as if they weren't sent.</dd>
+
+ <dt><code>StartBody</code></dt>
+ <dd>When receiving the first bad header line, finish reading the headers and
+ treat the remainder as body. This helps to work around buggy backend servers
+ which forget to insert an empty line between the headers and the body.</dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a> <a name="proxyblock" id="proxyblock">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Words, hosts, or domains that are banned from being
+proxied</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">ProxyBlock</code> directive specifies a list of
+ words, hosts and/or domains, separated by spaces. HTTP, HTTPS, and
+ FTP document requests to sites whose names contain matched words,
+ hosts or domains are <em>blocked</em> by the proxy server. The proxy
+ module will also attempt to determine IP addresses of list items which
+ may be hostnames during startup, and cache them for match test as
+ well. That may slow down the startup time of the server.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre>
+</div>
+
+ <p>Note that <code>example</code> would also be sufficient to match any
+ of these sites.</p>
+
+ <p>Hosts would also be matched if referenced by IP address.</p>
+
+ <p>Note also that</p>
+
+ <pre class="prettyprint lang-config">ProxyBlock "*"</pre>
+
+
+ <p>blocks connections to all sites.</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="ProxyDomain" id="ProxyDomain">ProxyDomain</a> <a name="proxydomain" id="proxydomain">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default domain name for proxied requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyDomain <var>Domain</var></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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This directive is only useful for Apache httpd proxy servers within
+ intranets. The <code class="directive">ProxyDomain</code> directive specifies
+ the default domain which the apache proxy server will belong to. If a
+ request to a host without a domain name is encountered, a redirection
+ response to the same host with the configured <var>Domain</var> appended
+ will be generated.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81"
+NoProxy ".example.com" "192.168.112.0/21"
+ProxyDomain ".example.com"</pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride" id="proxyerroroverride">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Override error pages for proxied content</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyErrorOverride Off</code></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>
+</table>
+ <p>This directive is useful for reverse-proxy setups where you want to
+ have a common look and feel on the error pages seen by the end user.
+ This also allows for included files (via
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>'s SSI) to get
+ the error code and act accordingly. (Default behavior would display
+ the error page of the proxied server. Turning this on shows the SSI
+ Error message.)</p>
+
+ <p>This directive does not affect the processing of informational (1xx),
+ normal success (2xx), or redirect (3xx) responses.</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="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determine size of internal data throughput buffer</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyIOBufferSize <var>bytes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyIOBufferSize 8192</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">ProxyIOBufferSize</code> directive adjusts the size
+ of the internal buffer which is used as a scratchpad for the data between
+ input and output. The size must be at least <code>512</code>.</p>
+
+ <p>In almost every case, there's no reason to change that value.</p>
+
+ <p>If used with AJP, this directive sets the maximum AJP packet size in
+ bytes. Values larger than 65536 are set to 65536. If you change it from
+ the default, you must also change the <code>packetSize</code> attribute of
+ your AJP connector on the Tomcat side! The attribute
+ <code>packetSize</code> is only available in Tomcat <code>5.5.20+</code>
+ and <code>6.0.2+</code></p>
+
+ <p>Normally it is not necessary to change the maximum packet size.
+ Problems with the default value have been reported when sending
+ certificates or certificate chains.</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="ProxyMatch" id="ProxyMatch">&lt;ProxyMatch&gt;</a> <a name="proxymatch" id="proxymatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Container for directives applied to regular-expression-matched
+proxied resources</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">&lt;ProxyMatch&gt;</code> directive is
+ identical to the <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> directive, except that it matches URLs
+ using <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expressions</a>.</p>
+
+ <p>From 2.4.8 onwards, named groups and backreferences are captured and
+ written to the environment with the corresponding name prefixed with
+ "MATCH_" and in upper case. This allows elements of URLs to be referenced
+ from within <a href="../expr.html">expressions</a> and modules like
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered
+ (unnamed) backreferences are ignored. Use named groups instead.</p>
+
+<pre class="prettyprint lang-config">&lt;ProxyMatch "^http://(?&lt;sitename&gt;[^/]+)"&gt;
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+&lt;/ProxyMatch&gt;</pre>
+
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards" id="proxymaxforwards">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximium number of proxies that a request can be forwarded
+through</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyMaxForwards <var>number</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyMaxForwards -1</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#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>Default behaviour changed in 2.2.7</td></tr>
+</table>
+ <p>The <code class="directive">ProxyMaxForwards</code> directive specifies the
+ maximum number of proxies through which a request may pass if there's no
+ <code>Max-Forwards</code> header supplied with the request. This may
+ be set to prevent infinite proxy loops or a DoS attack.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre>
+</div>
+
+ <p>Note that setting <code class="directive">ProxyMaxForwards</code> is a
+ violation of the HTTP/1.1 protocol (RFC2616), which forbids a Proxy
+ setting <code>Max-Forwards</code> if the Client didn't set it.
+ Earlier Apache httpd versions would always set it. A negative
+ <code class="directive">ProxyMaxForwards</code> value, including the
+ default -1, gives you protocol-compliant behavior but may
+ leave you open to loops.</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="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps remote servers into the local server URL-space</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]] [nocanon] [interpolate] [noquery]</code></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>Unix Domain Socket (UDS) support added in 2.4.7</td></tr>
+</table>
+ <p>This directive allows remote servers to be mapped into the
+ space of the local server. The local server does not act as a
+ proxy in the conventional sense but appears to be a mirror of the
+ remote server. The local server is often called a <dfn>reverse
+ proxy</dfn> or <dfn>gateway</dfn>. The <var>path</var> is the name of
+ a local virtual path; <var>url</var> is a partial URL for the
+ remote server and cannot include a query string.</p>
+
+ <div class="note">It is strongly suggested to review the concept of a
+ <a href="#workers">Worker</a> before proceeding any further
+ with this section.</div>
+
+ <div class="note">This directive is not supported within
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>,
+ <code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code> and
+ <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code> containers.
+ </div>
+
+ <div class="warning">The <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> directive should
+ usually be set <strong>off</strong> when using
+ <code class="directive">ProxyPass</code>.</div>
+
+ <p>In 2.4.7 and later, support for using a Unix Domain Socket is available by using a target
+ which prepends <code>unix:/path/lis.sock|</code>. For example, to proxy
+ HTTP and target the UDS at /home/www.socket, you would use
+ <code>unix:/home/www.socket|http://localhost/whatever/</code>.</p>
+
+ <div class="note"><strong>Note:</strong> The path associated with the <code>unix:</code>
+ URL is <code class="directive">DefaultRuntimeDir</code> aware.</div>
+
+ <p>When used inside a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, the first argument is omitted and the local
+ directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. The same will occur inside a
+ <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section;
+ however, ProxyPass does not interpret the regexp as such, so it is necessary
+ to use <code class="directive">ProxyPassMatch</code> in this situation instead.</p>
+
+ <p>Suppose the local server has address <code>http://example.com/</code>;
+ then</p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;</pre>
+
+
+ <p>will cause a local request for
+ <code>http://example.com/mirror/foo/bar</code> to be internally converted
+ into a proxy request to <code>http://backend.example.com/bar</code>.</p>
+
+ <p>If you require a more flexible reverse-proxy configuration, see the
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
+ <code>[P]</code> flag.</p>
+
+ <p>The following alternative syntax is possible; however, it can carry a
+ performance penalty when present in very large numbers. The advantage of
+ the below syntax is that it allows for dynamic control via the
+ <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre>
+
+
+ <div class="warning">
+ <p>If the first argument ends with a trailing <strong>/</strong>, the second
+ argument should also end with a trailing <strong>/</strong>, and vice
+ versa. Otherwise, the resulting requests to the backend may miss some
+ needed slashes and do not deliver the expected results.
+ </p>
+ </div>
+
+ <p>The <code>!</code> directive is useful in situations where you don't want
+ to reverse-proxy a subdirectory, <em>e.g.</em></p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;
+&lt;Location "/mirror/foo/i"&gt;
+ ProxyPass "!"
+&lt;/Location&gt;</pre>
+
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
+ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
+
+
+ <p>will proxy all requests to <code>/mirror/foo</code> to
+ <code>backend.example.com</code> <em>except</em> requests made to
+ <code>/mirror/foo/i</code>.</p>
+
+ <p>Mixing ProxyPass settings in different contexts does not work:</p>
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
+&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;</pre>
+
+ <p>In this case, a request to <code>/mirror/foo/i</code> will get proxied,
+ because the <code class="directive">ProxyPass</code> directive in the Location block will be evaluated
+ first. The fact that <code class="directive">ProxyPass</code> supports both server and directory contexts
+ does not mean that their scope and position in the configuration file will
+ guarantee any ordering or override.</p>
+
+ <div class="warning"><h3>Ordering ProxyPass Directives</h3>
+ <p>The configured <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ and <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code>
+ rules are checked in the order of configuration. The first rule that
+ matches wins. So usually you should sort conflicting
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> rules starting with the
+ longest URLs first. Otherwise, later rules for longer URLS will be hidden
+ by any earlier rule which uses a leading substring of the URL. Note that
+ there is some relation with worker sharing.</p>
+ </div>
+ <div class="warning"><h3>Ordering ProxyPass Directives in Locations</h3>
+ <p>Only one <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive
+ can be placed in a <code class="directive"><a href="../mod/core.html#location">Location</a></code> block,
+ and the most specific location will take precedence.</p>
+ </div>
+ <div class="warning"><h3>Exclusions and the no-proxy environment variable</h3>
+ <p>Exclusions must come <em>before</em> the
+ general <code class="directive">ProxyPass</code> directives. In 2.4.26 and later, the "no-proxy"
+ environment variable is an alternative to exclusions, and is the only
+ way to configure an exclusion of a <code class="directive">ProxyPass</code>
+ directive in <code class="directive"><a href="../mod/core.html#location">Location</a></code> context.
+ This variable should be set with <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, as <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>
+ is not evaluated early enough.
+ </p>
+
+ </div>
+
+ <p><strong>ProxyPass <code>key=value</code> Parameters</strong></p>
+
+ <p>In Apache HTTP Server 2.1 and later, mod_proxy supports pooled
+ connections to a backend server. Connections created on demand
+ can be retained in a pool for future use. Limits on the pool size
+ and other settings can be coded on
+ the <code class="directive">ProxyPass</code> directive
+ using <code>key=value</code> parameters, described in the tables
+ below.</p>
+
+ <div class="warning"><h3>Maximum connections to the backend</h3>
+ <p>By default, mod_proxy will allow and retain the maximum number of
+ connections that could be used simultaneously by that web server child
+ process. Use the <code>max</code> parameter to reduce the number from
+ the default. The pool of connections is maintained per web server child
+ process, and <code>max</code> and other settings are not coordinated
+ among all child processes, except when only one child process is allowed
+ by configuration or MPM design.</p>
+ </div>
+
+ <p>Use the <code>ttl</code> parameter to set an optional
+ time to live; connections which have been unused for at least
+ <code>ttl</code> seconds will be closed. <code>ttl</code> can be used
+ to avoid using a connection which is subject to closing because of the
+ backend server's keep-alive timeout.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
+</div>
+
+ <table class="bordered"><tr><th>Worker|BalancerMember parameters</th></tr></table>
+ <table>
+ <tr><th>Parameter</th>
+ <th>Default</th>
+ <th>Description</th></tr>
+ <tr><td>min</td>
+ <td>0</td>
+ <td>Minimum number of connection pool entries, unrelated to the
+ actual number of connections. This only needs to be modified from the
+ default for special circumstances where heap memory associated with the
+ backend connections should be preallocated or retained.</td></tr>
+ <tr><td>max</td>
+ <td>1...n</td>
+ <td>Maximum number of connections that will be allowed to the
+ backend server. The default for this limit is the number of threads
+ per process in the active MPM. In the Prefork MPM, this is always 1,
+ while with other MPMs, it is controlled by the
+ <code class="directive">ThreadsPerChild</code> directive.</td></tr>
+ <tr><td>smax</td>
+ <td>max</td>
+ <td>Retained connection pool entries above this limit are freed
+ during certain operations if they have been unused for longer than
+ the time to live, controlled by the <code>ttl</code> parameter. If
+ the connection pool entry has an associated connection, it will be
+ closed. This only needs to be modified from the default for special
+ circumstances where connection pool entries and any associated
+ connections which have exceeded the time to live need to be freed or
+ closed more aggressively.</td></tr>
+ <tr><td>acquire</td>
+ <td>-</td>
+ <td>If set, this will be the maximum time to wait for a free
+ connection in the connection pool, in milliseconds. If there are no free
+ connections in the pool, the Apache httpd will return <code>SERVER_BUSY</code>
+ status to the client.
+ </td></tr>
+ <tr><td>connectiontimeout</td>
+ <td>timeout</td>
+ <td>Connect timeout in seconds.
+ The number of seconds Apache httpd waits for the creation of a connection to
+ the backend to complete. By adding a postfix of ms, the timeout can be
+ also set in milliseconds.
+ </td></tr>
+ <tr><td>disablereuse</td>
+ <td>Off</td>
+ <td>This parameter should be used when you want to force mod_proxy
+ to immediately close a connection to the backend after being used, and
+ thus, disable its persistent connection and pool for that backend.
+ This helps in various situations where a firewall between Apache
+ httpd and
+ the backend server (regardless of protocol) tends to silently
+ drop connections or when backends themselves may be under round-
+ robin DNS.
+ When connection reuse is enabled each backend domain is resolved
+ (with a DNS query) only once per child process and cached for all further
+ connections until the child is recycled. To disable connection reuse,
+ set this property value to <code>On</code>.
+ </td></tr>
+ <tr><td>enablereuse</td>
+ <td>On</td>
+ <td>This is the inverse of 'disablereuse' above, provided as a
+ convenience for scheme handlers that require opt-in for connection
+ reuse (such as <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>). 2.4.11 and later only.
+ </td></tr>
+ <tr><td>flushpackets</td>
+ <td>off</td>
+ <td>Determines whether the proxy module will auto-flush the output
+ brigade after each "chunk" of data. 'off' means that it will flush
+ only when needed; 'on' means after each chunk is sent; and
+ 'auto' means poll/wait for a period of time and flush if
+ no input has been received for 'flushwait' milliseconds.
+ Currently, this is in effect only for mod_proxy_ajp and mod_proxy_fcgi.
+ </td></tr>
+ <tr><td>flushwait</td>
+ <td>10</td>
+ <td>The time to wait for additional input, in milliseconds, before
+ flushing the output brigade if 'flushpackets' is 'auto'.
+ </td></tr>
+ <tr><td>iobuffersize</td>
+ <td>8192</td>
+ <td>Adjusts the size of the internal scratchpad IO buffer. This allows you
+ to override the <code class="directive">ProxyIOBufferSize</code> for a specific worker.
+ This must be at least 512 or set to 0 for the system default of 8192.
+ </td></tr>
+ <tr><td>responsefieldsize</td>
+ <td>8192</td>
+ <td>Adjust the size of the proxy response field buffer. The buffer size
+ should be at least the size of the largest expected header size from
+ a proxied response. Setting the value to 0 will use the system
+ default of 8192 bytes.<br />
+ Available in Apache HTTP Server 2.4.34 and later.
+ </td></tr>
+ <tr><td>keepalive</td>
+ <td>Off</td>
+ <td><p>This parameter should be used when you have a firewall between your
+ Apache httpd and the backend server, which tends to drop inactive connections.
+ This flag will tell the Operating System to send <code>KEEP_ALIVE</code>
+ messages on inactive connections and thus prevent the firewall from dropping
+ the connection.
+ To enable keepalive, set this property value to <code>On</code>. </p>
+ <p>The frequency of initial and subsequent TCP keepalive probes
+ depends on global OS settings, and may be as high as 2 hours. To be useful,
+ the frequency configured in the OS must be smaller than the threshold used
+ by the firewall.</p>
+ </td></tr>
+ <tr><td>lbset</td>
+ <td>0</td>
+ <td>Sets the load balancer cluster set that the worker is a member
+ of. The load balancer will try all members of a lower numbered
+ lbset before trying higher numbered ones.
+ </td></tr>
+ <tr><td>ping</td>
+ <td>0</td>
+ <td>Ping property tells the webserver to "test" the connection to
+ the backend before forwarding the request. For AJP, it causes
+ <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> to send a <code>CPING</code>
+ request on the ajp13 connection (implemented on Tomcat 3.3.2+, 4.1.28+
+ and 5.0.13+). For HTTP, it causes <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ to send a <code>100-Continue</code> to the backend (only valid for
+ HTTP/1.1 - for non HTTP/1.1 backends, this property has no
+ effect). In both cases, the parameter is the delay in seconds to wait
+ for the reply.
+ This feature has been added to avoid problems with hung and
+ busy backends.
+ This will increase the network traffic during the normal operation
+ which could be an issue, but it will lower the
+ traffic in case some of the cluster nodes are down or busy.
+ By adding a postfix of ms, the delay can be also set in
+ milliseconds.
+ </td></tr>
+ <tr><td>receivebuffersize</td>
+ <td>0</td>
+ <td>Adjusts the size of the explicit (TCP/IP) network buffer size for
+ proxied connections. This allows you to override the
+ <code class="directive">ProxyReceiveBufferSize</code> for a specific worker.
+ This must be at least 512 or set to 0 for the system default.
+ </td></tr>
+ <tr><td>redirect</td>
+ <td>-</td>
+ <td>Redirection Route of the worker. This value is usually
+ set dynamically to enable safe removal of the node from
+ the cluster. If set, all requests without session id will be
+ redirected to the BalancerMember that has route parameter
+ equal to this value.
+ </td></tr>
+ <tr><td>retry</td>
+ <td>60</td>
+ <td>Connection pool worker retry timeout in seconds.
+ If the connection pool worker to the backend server is in the error state,
+ Apache httpd will not forward any requests to that server until the timeout
+ expires. This enables to shut down the backend server for maintenance
+ and bring it back online later. A value of 0 means always retry workers
+ in an error state with no timeout.
+ </td></tr>
+ <tr><td>route</td>
+ <td>-</td>
+ <td>Route of the worker when used inside load balancer.
+ The route is a value appended to session id.
+ </td></tr>
+ <tr><td><a name="status_table">status</a></td>
+ <td>-</td>
+ <td>Single letter value defining the initial status of
+ this worker.
+ <table>
+ <tr><td>D: Worker is disabled and will not accept any requests.</td></tr>
+ <tr><td>S: Worker is administratively stopped.</td></tr>
+ <tr><td>I: Worker is in ignore-errors mode and will always be considered available.</td></tr>
+ <tr><td>R: Worker is a hot spare. For each worker in a given lbset that is unusable
+ (draining, stopped, in error, etc.), a usable hot spare with the same lbset will be used in
+ its place. Hot spares can help ensure that a specific number of workers are always available
+ for use by a balancer.</td></tr>
+ <tr><td>H: Worker is in hot-standby mode and will only be used if no other
+ viable workers or spares are available in the balancer set.</td></tr>
+ <tr><td>E: Worker is in an error state.</td></tr>
+ <tr><td>N: Worker is in drain mode and will only accept existing sticky sessions
+ destined for itself and ignore all other requests.</td></tr>
+ </table>Status
+ can be set (which is the default) by prepending with '+' or
+ cleared by prepending with '-'.
+ Thus, a setting of 'S-E' sets this worker to Stopped and
+ clears the in-error flag.
+ </td></tr>
+ <tr><td>timeout</td>
+ <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td>
+ <td>Connection timeout in seconds.
+ The number of seconds Apache httpd waits for data sent by / to the backend.
+ </td></tr>
+ <tr><td>ttl</td>
+ <td>-</td>
+ <td>Time to live for inactive connections and associated connection
+ pool entries, in seconds. Once reaching this limit, a
+ connection will not be used again; it will be closed at some
+ later time.
+ </td></tr>
+ <tr><td>flusher</td>
+ <td>flush</td>
+ <td><p>Name of the provider used by <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
+ See the documentation of this module for more details.</p>
+ </td></tr>
+ <tr><td>secret</td>
+ <td>-</td>
+ <td><p>Value of secret used by <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>.
+ See the documentation of this module for more details.</p>
+ </td></tr>
+ <tr><td>upgrade</td>
+ <td>WebSocket</td>
+ <td><p>Protocol accepted in the Upgrade header by <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code>.
+ See the documentation of this module for more details.</p>
+ </td></tr>
+
+ </table>
+
+ <p>If the Proxy directive scheme starts with the
+ <code>balancer://</code> (eg: <code>balancer://cluster</code>,
+ any path information is ignored), then a virtual worker that does not really
+ communicate with the backend server will be created. Instead, it is responsible
+ for the management of several "real" workers. In that case, the special set of
+ parameters can be added to this virtual worker.
+ See <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> for more information about how
+ the balancer works.
+ </p>
+ <table class="bordered"><tr><th>Balancer parameters</th></tr></table>
+ <table>
+ <tr><th>Parameter</th>
+ <th>Default</th>
+ <th>Description</th></tr>
+ <tr><td>lbmethod</td>
+ <td>byrequests</td>
+ <td>Balancer load-balance method. Select the load-balancing scheduler
+ method to use. Either <code>byrequests</code>, to perform weighted
+ request counting; <code>bytraffic</code>, to perform weighted
+ traffic byte count balancing; or <code>bybusyness</code>, to perform
+ pending request balancing. The default is <code>byrequests</code>.
+ </td></tr>
+ <tr><td>maxattempts</td>
+ <td>One less than the number of workers, or 1 with a single worker.</td>
+ <td>Maximum number of failover attempts before giving up.
+ </td></tr>
+ <tr><td>nofailover</td>
+ <td>Off</td>
+ <td>If set to <code>On</code>, the session will break if the worker is in
+ error state or disabled. Set this value to <code>On</code> if backend
+ servers do not support session replication.
+ </td></tr>
+ <tr><td>stickysession</td>
+ <td>-</td>
+ <td>Balancer sticky session name. The value is usually set to something
+ like <code>JSESSIONID</code> or <code>PHPSESSIONID</code>,
+ and it depends on the backend application server that support sessions.
+ If the backend application server uses different name for cookies
+ and url encoded id (like servlet containers) use | to separate them.
+ The first part is for the cookie the second for the path.<br />
+ Available in Apache HTTP Server 2.4.4 and later.
+ </td></tr>
+ <tr><td>stickysessionsep</td>
+ <td>"."</td>
+ <td>Sets the separation symbol in the session cookie. Some backend application servers
+ do not use the '.' as the symbol. For example, the Oracle Weblogic server uses
+ '!'. The correct symbol can be set using this option. The setting of 'Off'
+ signifies that no symbol is used.
+ </td></tr>
+ <tr><td>scolonpathdelim</td>
+ <td>Off</td>
+ <td>If set to <code>On</code>, the semi-colon character ';' will be
+ used as an additional sticky session path delimiter/separator. This
+ is mainly used to emulate mod_jk's behavior when dealing with paths such
+ as <code>JSESSIONID=6736bcf34;foo=aabfa</code>
+ </td></tr>
+ <tr><td>timeout</td>
+ <td>0</td>
+ <td>Balancer timeout in seconds. If set, this will be the maximum time
+ to wait for a free worker. The default is to not wait.
+ </td></tr>
+ <tr><td>failonstatus</td>
+ <td>-</td>
+ <td>A single or comma-separated list of HTTP status codes. If set, this will
+ force the worker into error state when the backend returns any status code
+ in the list. Worker recovery behaves the same as other worker errors.
+ </td></tr>
+ <tr><td>failontimeout</td>
+ <td>Off</td>
+ <td>If set, an IO read timeout after a request is sent to the backend will
+ force the worker into error state. Worker recovery behaves the same as other
+ worker errors.<br />
+ Available in Apache HTTP Server 2.4.5 and later.
+ </td></tr>
+ <tr><td>nonce</td>
+ <td>&lt;auto&gt;</td>
+ <td>The protective nonce used in the <code>balancer-manager</code> application page.
+ The default is to use an automatically determined UUID-based
+ nonce, to provide for further protection for the page. If set,
+ then the nonce is set to that value. A setting of <code>None</code>
+ disables all nonce checking.
+ <div class="note"><h3>Note</h3>
+ <p>In addition to the nonce, the <code>balancer-manager</code> page
+ should be protected via an ACL.</p>
+ </div>
+ </td></tr>
+ <tr><td>growth</td>
+ <td>0</td>
+ <td>Number of additional BalancerMembers to allow to be added
+ to this balancer in addition to those defined at configuration.
+ </td></tr>
+ <tr><td>forcerecovery</td>
+ <td>On</td>
+ <td>Force the immediate recovery of all workers without considering the
+ retry parameter of the workers if all workers of a balancer are
+ in error state. There might be cases where an already overloaded backend
+ can get into deeper trouble if the recovery of all workers is enforced
+ without considering the retry parameter of each worker. In this case,
+ set to <code>Off</code>.<br />
+ Available in Apache HTTP Server 2.4.2 and later.
+ </td></tr>
+
+ </table>
+ <p>A sample balancer setup:</p>
+ <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+&lt;Proxy "balancer://mycluster"&gt;
+ BalancerMember "ajp://1.2.3.4:8009"
+ BalancerMember "ajp://1.2.3.5:8009" loadfactor=20
+ # Less powerful server, don't send as many requests there,
+ BalancerMember "ajp://1.2.3.6:8009" loadfactor=5
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Configuring hot spares can help ensure that a certain number of
+ workers are always available for use per load balancer set:</p>
+ <pre class="prettyprint lang-config">ProxyPass "/" "balancer://sparecluster/"
+&lt;Proxy balancer://sparecluster&gt;
+ BalancerMember ajp://1.2.3.4:8009
+ BalancerMember ajp://1.2.3.5:8009
+ # The servers below are hot spares. For each server above that is unusable
+ # (draining, stopped, unreachable, in error state, etc.), one of these spares
+ # will be used in its place. Two servers will always be available for a request
+ # unless one or more of the spares is also unusable.
+ BalancerMember ajp://1.2.3.6:8009 status=+R
+ BalancerMember ajp://1.2.3.7:8009 status=+R
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Setting up a hot-standby that will only be used if no other
+ members (or spares) are available in the load balancer set:</p>
+ <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/"
+&lt;Proxy "balancer://hotcluster"&gt;
+ BalancerMember "ajp://1.2.3.4:8009" loadfactor=1
+ BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25
+ # The server below is on hot standby
+ BalancerMember "ajp://1.2.3.6:8009" status=+H
+ ProxySet lbmethod=bytraffic
+&lt;/Proxy&gt;</pre>
+
+
+ <p><strong>Additional ProxyPass Keywords</strong></p>
+
+ <p>Normally, mod_proxy will canonicalise ProxyPassed URLs.
+ But this may be incompatible with some backends, particularly those
+ that make use of <var>PATH_INFO</var>. The optional <var>nocanon</var>
+ keyword suppresses this and passes the URL path "raw" to the
+ backend. Note that this keyword may affect the security of your backend,
+ as it removes the normal limited protection against URL-based attacks
+ provided by the proxy.</p>
+
+ <p>Normally, mod_proxy will include the query string when
+ generating the <var>SCRIPT_FILENAME</var> environment variable.
+ The optional <var>noquery</var> keyword (available in
+ httpd 2.4.1 and later) prevents this.</p>
+
+ <p>The optional <var>interpolate</var> keyword, in combination with
+ <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, causes the ProxyPass
+ to interpolate environment variables, using the syntax
+ <var>${VARNAME}</var>. Note that many of the standard CGI-derived
+ environment variables will not exist when this interpolation happens,
+ so you may still have to resort to <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ for complex rules. Also note that interpolation is supported
+ within the scheme/hostname/port portion of a URL only for variables that
+ are available when the directive is parsed
+ (like <code class="directive"><a href="../mod/core.html#define">Define</a></code>). Dynamic determination of
+ those fields can be accomplished with <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
+ The following example describes how to use <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ to dynamically set the scheme to http or https:</p>
+
+ <pre class="prettyprint lang-config">RewriteEngine On
+
+RewriteCond "%{HTTPS}" =off
+RewriteRule "." "-" [E=protocol:http]
+RewriteCond "%{HTTPS}" =on
+RewriteRule "." "-" [E=protocol:https]
+
+RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P]
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a> <a name="proxypassinherit" id="proxypassinherit">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inherit ProxyPass directives defined from the main server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPassInherit On</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#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>ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later.
+ </td></tr>
+</table>
+ <p>This directive will cause the current server/vhost to "inherit"
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ directives defined in the main server. This can cause issues and
+ inconsistent behavior if using the Balancer Manager for dynamic changes
+ and so should be disabled if using that feature.</p>
+ <p>The setting in the global server defines the default for all vhosts.</p>
+ <p>Disabling ProxyPassInherit also disables <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</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="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyPassInterpolateEnv Off</code></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 httpd 2.2.9 and later</td></tr>
+</table>
+ <p>This directive, together with the <var>interpolate</var> argument to
+ <code class="directive">ProxyPass</code>, <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code>, and
+ <code class="directive">ProxyPassReverseCookiePath</code>,
+ enables reverse proxies to be dynamically
+ configured using environment variables which may be set by
+ another module such as <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
+ It affects the <code class="directive">ProxyPass</code>,
+ <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code>, and
+ <code class="directive">ProxyPassReverseCookiePath</code> directives
+ and causes them to substitute the value of an environment
+ variable <code>varname</code> for the string <code>${varname}</code>
+ in configuration directives if the <var>interpolate</var> option is set.</p>
+ <p>The scheme/hostname/port portion of <code class="directive">ProxyPass</code> may
+ contain variables, but only the ones available when the directive is parsed
+ (for example, using <code class="directive"><a href="../mod/core.html#define">Define</a></code>).
+ For all the other use cases, please consider using
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> instead.</p>
+ <div class="warning"><h3>Performance warning</h3>
+ <p>Keep this turned off unless you need it!
+ Adding variables to <code class="directive">ProxyPass</code> for example may lead to
+ the use of the default mod_proxy's workers configured (that don't allow any fine
+ tuning like connections reuse, etc..).</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var> [<var>key=value</var>
+ <var>[key=value</var> ...]]</code></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>
+</table>
+ <p>This directive is equivalent to <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ but makes use of regular expressions instead of simple prefix matching. The
+ supplied regular expression is matched against the <var>url</var>, and if it
+ matches, the server will substitute any parenthesized matches into the given
+ string and use it as a new <var>url</var>.</p>
+
+ <div class="note"><strong>Note: </strong>This directive cannot be used within a
+ <code>&lt;Directory&gt;</code> context.</div>
+
+ <p>Suppose the local server has address <code>http://example.com/</code>;
+ then</p>
+
+ <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"</pre>
+
+
+ <p>will cause a local request for
+ <code>http://example.com/foo/bar.gif</code> to be internally converted
+ into a proxy request to <code>http://backend.example.com/foo/bar.gif</code>.</p>
+ <div class="note"><h3>Note</h3>
+ <p>The URL argument must be parsable as a URL <em>before</em> regexp
+ substitutions (as well as after). This limits the matches you can use.
+ For instance, if we had used</p>
+ <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"</pre>
+
+ <p>in our previous example, it would fail with a syntax error
+ at server startup. This is a bug (PR 46665 in the ASF bugzilla),
+ and the workaround is to reformulate the match:</p>
+ <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
+
+ </div>
+ <p>The <code>!</code> directive is useful in situations where you don't want
+ to reverse-proxy a subdirectory.</p>
+
+ <p>When used inside a <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section, the first argument is omitted and the
+ regexp is obtained from the <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.</p>
+
+ <p>If you require a more flexible reverse-proxy configuration, see the
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
+ <code>[P]</code> flag.</p>
+
+ <div class="note">
+ <h3>Default Substitution</h3>
+ <p>When the URL parameter doesn't use any backreferences into the regular
+ expression, the original URL will be appended to the URL parameter.
+ </p>
+ </div>
+
+ <div class="warning">
+ <h3>Security Warning</h3>
+ <p>Take care when constructing the target URL of the rule, considering
+ the security impact from allowing the client influence over the set of
+ URLs to which your server will act as a proxy. Ensure that the scheme
+ and hostname part of the URL is either fixed or does not allow the
+ client undue influence.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the URL in HTTP response headers sent from a reverse
+proxied server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverse [<var>path</var>] <var>url</var>
+[<var>interpolate</var>]</code></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>
+</table>
+ <p>This directive lets Apache httpd adjust the URL in the <code>Location</code>,
+ <code>Content-Location</code> and <code>URI</code> headers on HTTP
+ redirect responses. This is essential when Apache httpd is used as a
+ reverse proxy (or gateway) to avoid bypassing the reverse proxy
+ because of HTTP redirects on the backend servers which stay behind
+ the reverse proxy.</p>
+
+ <p>Only the HTTP response headers specifically mentioned above
+ will be rewritten. Apache httpd will not rewrite other response
+ headers, nor will it by default rewrite URL references inside HTML pages.
+ This means that if the proxied content contains absolute URL
+ references, they will bypass the proxy. To rewrite HTML content to
+ match the proxy, you must load and enable <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>.
+ </p>
+
+ <p><var>path</var> is the name of a local virtual path; <var>url</var> is a
+ partial URL for the remote server.
+ These parameters are used the same way as for the
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p>
+
+ <p>For example, suppose the local server has address
+ <code>http://example.com/</code>; then</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverseCookieDomain "backend.example.com" "public.example.com"
+ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
+
+
+ <p>will not only cause a local request for the
+ <code>http://example.com/mirror/foo/bar</code> to be internally converted
+ into a proxy request to <code>http://backend.example.com/bar</code>
+ (the functionality which <code>ProxyPass</code> provides here).
+ It also takes care of redirects which the server <code>backend.example.com</code>
+ sends when redirecting <code>http://backend.example.com/bar</code> to
+ <code>http://backend.example.com/quux</code> . Apache httpd adjusts this to
+ <code>http://example.com/mirror/foo/quux</code> before forwarding the HTTP
+ redirect response to the client. Note that the hostname used for
+ constructing the URL is chosen in respect to the setting of the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> directive.</p>
+
+ <p>Note that this <code class="directive">ProxyPassReverse</code> directive can
+ also be used in conjunction with the proxy feature
+ (<code>RewriteRule ... [P]</code>) from <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ because it doesn't depend on a corresponding <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p>
+
+ <p>The optional <var>interpolate</var> keyword, used together with
+ <code class="directive">ProxyPassInterpolateEnv</code>, enables interpolation
+ of environment variables specified using the format <var>${VARNAME}</var>.
+ Note that interpolation is not supported within the scheme portion of a
+ URL.</p>
+
+ <p>When used inside a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, the first argument is omitted and the local
+ directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. The same occurs inside a <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section, but will probably not work as
+ intended, as ProxyPassReverse will interpret the regexp literally as a
+ path; if needed in this situation, specify the ProxyPassReverse outside
+ the section or in a separate <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section.</p>
+
+ <p>This directive is not supported in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> or <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code> sections.</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="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the Domain string in Set-Cookie headers from a reverse-
+proxied server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverseCookieDomain <var>internal-domain</var>
+<var>public-domain</var> [<var>interpolate</var>]</code></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>
+</table>
+<p>Usage is basically similar to
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, but instead of
+rewriting headers that are a URL, this rewrites the <code>domain</code>
+string in <code>Set-Cookie</code> headers.</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="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a> <a name="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adjusts the Path string in Set-Cookie headers from a reverse-
+proxied server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPassReverseCookiePath <var>internal-path</var>
+<var>public-path</var> [<var>interpolate</var>]</code></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>
+</table>
+<p>
+Useful in conjunction with
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>
+in situations where backend URL paths are mapped to public paths on the
+reverse proxy. This directive rewrites the <code>path</code> string in
+<code>Set-Cookie</code> headers. If the beginning of the cookie path matches
+<var>internal-path</var>, the cookie path will be replaced with
+<var>public-path</var>.
+</p><p>
+In the example given with
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive:
+</p>
+ <pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
+
+<p>
+will rewrite a cookie with backend path <code>/</code> (or
+<code>/example</code> or, in fact, anything) to <code>/mirror/foo/</code>.
+</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="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost" id="proxypreservehost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use incoming Host HTTP request header for proxy
+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, 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>Usable in directory
+context in 2.3.3 and later.</td></tr>
+</table>
+ <p>When enabled, this option will pass the Host: line from the incoming
+ request to the proxied host, instead of the hostname specified in the
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> line.</p>
+
+ <p>This option should normally be turned <code>Off</code>. It is mostly
+ useful in special configurations like proxied mass name-based virtual
+ hosting, where the original Host header needs to be evaluated by the
+ backend server.</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="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Network buffer size for proxied HTTP and FTP
+connections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyReceiveBufferSize <var>bytes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyReceiveBufferSize 0</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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">ProxyReceiveBufferSize</code> directive specifies an
+ explicit (TCP/IP) network buffer size for proxied HTTP and FTP connections,
+ for increased throughput. It has to be greater than <code>512</code> or set
+ to <code>0</code> to indicate that the system's default buffer size should
+ be used.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a> <a name="proxyremote" id="proxyremote">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remote proxy used to handle certain requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRemote <var>match</var> <var>remote-server</var></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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This defines remote proxies to this proxy. <var>match</var> is either the
+ name of a URL-scheme that the remote server supports, or a partial URL
+ for which the remote server should be used, or <code>*</code> to indicate
+ the server should be contacted for all requests. <var>remote-server</var> is
+ a partial URL for the remote server. Syntax:</p>
+
+ <div class="example"><p><code>
+ <dfn>remote-server</dfn> =
+ <var>scheme</var>://<var>hostname</var>[:<var>port</var>]
+ </code></p></div>
+
+ <p><var>scheme</var> is effectively the protocol that should be used to
+ communicate with the remote server; only <code>http</code> and <code>https</code>
+ are supported by this module. When using <code>https</code>, the requests
+ are forwarded through the remote proxy using the HTTP CONNECT method.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000"
+ProxyRemote "*" "http://cleverproxy.localdomain"
+ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"</pre>
+</div>
+
+ <p>In the last example, the proxy will forward FTP requests, encapsulated
+ as yet another HTTP proxy request, to another proxy which can handle
+ them.</p>
+
+ <p>This option also supports reverse proxy configuration; a backend
+ webserver can be embedded within a virtualhost URL space even if that
+ server is hidden by another forward proxy.</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="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remote proxy used to handle requests matched by regular
+expressions</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>The <code class="directive">ProxyRemoteMatch</code> is identical to the
+ <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> directive, except that
+ the first argument is a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>
+ match against the requested URL.</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="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables forward (standard) proxy requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyRequests 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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This allows or prevents Apache httpd from functioning as a forward proxy
+ server. (Setting ProxyRequests to <code>Off</code> does not disable use of
+ the <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.)</p>
+
+ <p>In a typical reverse proxy or gateway configuration, this
+ option should be set to
+ <code>Off</code>.</p>
+
+ <p>In order to get the functionality of proxying HTTP or FTP sites, you
+ need also <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> or <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>
+ (or both) present in the server.</p>
+
+ <p>In order to get the functionality of (forward) proxying HTTPS sites, you
+ need <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> enabled in the server.</p>
+
+ <div class="warning"><h3>Warning</h3>
+ <p>Do not enable proxying with <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> until you have <a href="#access">secured your server</a>. Open proxy servers are dangerous
+ both to your network and to the Internet at large.</p>
+ </div>
+
+<h3>See also</h3>
+<ul>
+<li><a href="#forwardreverse">Forward and Reverse Proxies/Gateways</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set various Proxy balancer or member parameters</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySet <var>url</var> <var>key=value [key=value ...]</var></code></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>ProxySet is only available in Apache HTTP Server 2.2
+ and later.</td></tr>
+</table>
+ <p>This directive is used as an alternate method of setting any of the
+ parameters available to Proxy balancers and workers normally done via the
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive. If used
+ within a <code>&lt;Proxy <var>balancer url|worker url</var>&gt;</code>
+ container directive, the <var>url</var> argument is not required. As a side
+ effect the respective balancer or worker gets created. This can be useful
+ when doing reverse proxying via a
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> instead of a
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive.</p>
+
+ <div class="example"><pre class="prettyprint lang-config">&lt;Proxy "balancer://hotcluster"&gt;
+ BalancerMember "http://www2.example.com:8080" loadfactor=1
+ BalancerMember "http://www3.example.com:8080" loadfactor=2
+ ProxySet lbmethod=bytraffic
+&lt;/Proxy&gt;</pre>
+</div>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://backend"&gt;
+ ProxySet keepalive=On
+&lt;/Proxy&gt;</pre>
+
+
+ <pre class="prettyprint lang-config">ProxySet "balancer://foo" lbmethod=bytraffic timeout=15</pre>
+
+
+ <pre class="prettyprint lang-config">ProxySet "ajp://backend:7001" timeout=15</pre>
+
+
+ <div class="warning"><h3>Warning</h3>
+ <p>Keep in mind that the same parameter key can have a different meaning
+ depending whether it is applied to a balancer or a worker, as shown by
+ the two examples above regarding timeout.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a> <a name="proxysourceaddress" id="proxysourceaddress">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set local IP address for outgoing proxy connections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxySourceAddress <var>address</var></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#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 version 2.3.9 and later</td></tr>
+</table>
+ <p>This directive allows to set a specific local address to bind to when connecting
+ to a backend server.</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="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyStatus 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#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 version 2.2 and later</td></tr>
+</table>
+ <p>This directive determines whether or not proxy
+ loadbalancer status data is displayed via the <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>
+ server-status page.</p>
+ <div class="note"><h3>Note</h3>
+ <p><strong>Full</strong> is synonymous with <strong>On</strong></p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Network timeout for proxied requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Value of <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This directive allows a user to specifiy a timeout on proxy requests.
+ This is useful when you have a slow/buggy appserver which hangs, and you
+ would rather just return a timeout and fail gracefully instead of waiting
+ however long it takes the server to return.</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="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information provided in the <code>Via</code> HTTP response
+header for proxied requests</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyVia 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#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>This directive controls the use of the <code>Via:</code> HTTP
+ header by the proxy. Its intended use is to control the flow of
+ proxy requests along a chain of proxy servers. See <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1), section
+ 14.45 for an explanation of <code>Via:</code> header lines.</p>
+
+ <ul>
+ <li>If set to <code>Off</code>, which is the default, no special processing
+ is performed. If a request or reply contains a <code>Via:</code> header,
+ it is passed through unchanged.</li>
+
+ <li>If set to <code>On</code>, each request and reply will get a
+ <code>Via:</code> header line added for the current host.</li>
+
+ <li>If set to <code>Full</code>, each generated <code>Via:</code> header
+ line will additionally have the Apache httpd server version shown as a
+ <code>Via:</code> comment field.</li>
+
+ <li>If set to <code>Block</code>, every proxy request will have all its
+ <code>Via:</code> header lines removed. No new <code>Via:</code> header will
+ be generated.</li>
+ </ul>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy.html.fr.utf8 b/docs/manual/mod/mod_proxy.html.fr.utf8
new file mode 100644
index 0000000..9e15bd2
--- /dev/null
+++ b/docs/manual/mod/mod_proxy.html.fr.utf8
@@ -0,0 +1,2357 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_proxy - Serveur HTTP Apache Version 2.4</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.min.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_proxy</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux pour votre réseau,
+ mais aussi pour l'Internet au sens large.</p>
+ </div>
+
+ <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et ses modules associés implémentent
+ un mandataire/passerelle pour le serveur HTTP Apache, et supportent
+ de nombreux protocoles courants, ainsi que plusieurs algorithmes de
+ répartition de charge. Le support de protocoles et d'algorithmes de
+ répartition de charge supplémentaires peut être assuré par des
+ modules tiers.</p>
+
+ <p>Un jeu de modules chargés dans le serveur permet de fournir les
+ fonctionnalités souhaitées. Ces modules peuvent être inclus
+ statiquement à la compilation, ou dynamiquement via la directive
+ <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Ce jeu de module
+ doit comporter :</p>
+
+ <ul>
+ <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de
+ base d'un mandataire</li>
+
+ <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et un ou plusieurs modules
+ de répartition, si la répartition de charge doit être mise en
+ oeuvre (Voir la documentation de
+ <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li>
+
+ <li>un ou plusieurs modules de types de mandataire, ou protocoles
+ :
+
+ <table class="bordered">
+ <tr><th>Protocole</th><th>Module</th></tr>
+ <tr><td>AJP13 (Protocole Apache JServe version
+ 1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr>
+ <tr><td>CONNECT (pour
+ SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr>
+ <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr>
+ <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr>
+ <tr><td>HTTP/0.9, HTTP/1.0, et
+ HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr>
+ <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr>
+ <tr><td>WS and WSS (Web-sockets)</td><td><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></td></tr>
+ </table>
+ </li>
+ </ul>
+
+ <p>En outre, d'autres modules fournissent des fonctionnalités
+ étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
+ fournissent la mise en cache. Les directives <code>SSLProxy*</code>
+ du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des
+ serveurs distants en utilisant le protocole SSL/TLS. Ces modules
+ additionnels devront être chargés et configurés pour pouvoir
+ disposer de ces fonctionnalités.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et
+ mandataires/passerelles inverses</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
+ mandataire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire en Intranet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au
+ protocole</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
+ inverse</a></li>
+</ul><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
+</ul>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li>
+<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
+<li><a href="#comments_section">Commentaires</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="forwardreverse" id="forwardreverse">Mandataires directs et
+ mandataires/passerelles inverses</a></h2>
+ <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire
+ <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
+ mode <dfn>passerelle</dfn>).</p>
+
+ <p>Un <dfn>mandataire direct</dfn> standard est un serveur
+ intermédiaire qui s'intercale entre le client et le <em>serveur
+ demandé</em>. Pour obtenir un contenu hébergé par
+ le serveur demandé, le client envoie une requête au
+ mandataire en nommant le serveur demandé comme
+ cible. Le mandataire extrait alors le contenu depuis le
+ serveur demandé et le renvoie enfin au client. Le client doit être
+ configuré de manière appropriée pour pouvoir utiliser le mandataire
+ direct afin d'accéder à d'autres sites.</p>
+
+ <p>L'accès à Internet depuis des clients situés derrière un
+ pare-feu est une utilisation typique du mandataire direct. Le
+ mandataire direct peut aussi utiliser la mise en cache (fournie
+ par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
+ réseau.</p>
+
+ <p>La fonctionnalité de mandataire direct est activée via la
+ directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
+ Comme les mandataires directs permettent aux clients d'accéder à
+ des sites quelconques via votre serveur et de dissimuler leur
+ véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
+ les clients autorisés puissent accéder à votre serveur avant
+ d'activer la fonctionnalité de mandataire direct.</p>
+
+ <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
+ quant à lui, apparaît au client comme un serveur web standard.
+ Aucune configuration particulière du client n'est nécessaire. Le
+ client adresse ses demandes de contenus ordinaires dans l'espace
+ de nommage du mandataire inverse. Ce dernier décide alors où
+ envoyer ces requêtes, et renvoie le contenu au client comme s'il
+ l'hébergeait lui-même.</p>
+
+ <p>L'accès d'utilisateurs depuis Internet vers un serveur situé
+ derrière un pare-feu est une utilisation typique du mandataire
+ inverse. On peut aussi utiliser les mandataires inverses pour
+ mettre en oeuvre une répartition de charge entre plusieurs
+ serveurs en arrière-plan, ou fournir un cache pour un serveur
+ d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
+ tout simplement servir à rassembler plusieurs serveurs dans le
+ même espace de nommage d'URLs.</p>
+
+ <p>La fonctionnalité de mandataire inverse est activée via la
+ directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou
+ le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est
+ <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer
+ un mandataire inverse.</p>
+ </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">Exemples simples</a></h2>
+
+ <p>Les exemples ci-dessous illustrent de manière très basique la
+ mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
+ pour vous aider à démarrer. Reportez-vous à la documentation de
+ chaque directive.</p>
+
+ <p>Si en outre, vous désirez activer la mise en cache, consultez la
+ documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+
+ <div class="example"><h3>Mandataire inverse</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
+ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
+</div>
+
+ <div class="example"><h3>Mandataire direct</h3><pre class="prettyprint lang-config">ProxyRequests On
+ProxyVia On
+
+&lt;Proxy "*"&gt;
+ Require host internal.example.com
+&lt;/Proxy&gt;</pre>
+</div>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="handler" id="handler">Accès via un gestionnaire</a></h2>
+
+ <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
+ requête de mandataire inverse en créant un gestionnaire de transfert
+ approprié. Dans l'exemple suivant, toutes les requêtes pour
+ des scripts PHP seront transmises au serveur FastCGI
+ spécifié via un mandat inverse :
+ </p>
+
+ <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config">&lt;FilesMatch "\.php$"&gt;
+ # Les sockets Unix nécessitent une version 2.4.7 ou supérieure du
+ # serveur HTTP Apache
+ SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+&lt;/FilesMatch&gt;</pre>
+</div>
+
+ <p>Cette fonctionnalité est disponible à partir de la version
+ 2.4.10 du serveur HTTP Apache.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="workers" id="workers">Workers</a></h2>
+ <p>Le mandataire gère la configuration et les paramètres de
+ communication des serveurs originaux au sein d'objets nommés
+ <dfn>workers</dfn>. Deux types de worker sont fournis : le worker
+ par défaut du mandataire direct et le worker par défaut du
+ mandataire inverse. Il est aussi possible de définir explicitement
+ des workers supplémentaires.</p>
+
+ <p>Les deux workers par défaut possèdent une configuration figée
+ et seront utilisés si aucun autre worker ne correspond à la
+ requête. Ils ne réutilisent pas les connexions et n'utilisent pas les
+ connexions HTTP persistantes (Keep-Alive). En effet, les
+ connexions TCP vers le serveur original sont fermées et ouvertes
+ pour chaque requête.</p>
+
+ <p>Les workers définis explicitement sont identifiés par leur URL.
+ Ils sont en général définis via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> lorsqu'on les
+ utilise dans le cadre d'un mandataire inverse :</p>
+
+ <div class="example"><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
+</div>
+
+
+ <p>Cette directive va créer un worker associé à l'URL du serveur
+ original <code>http://backend.example.com</code> qui utilisera les
+ valeurs de timeout données. Lorsqu'ils sont utilisés dans le cadre
+ d'un mandataire direct, les workers sont en général définis via la
+ directive <code class="directive"><a href="#proxyset">ProxySet</a></code>,</p>
+
+ <div class="example"><pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
+</div>
+
+
+ <p>ou encore via les directives <code class="directive"><a href="#proxy">Proxy</a></code> et <code class="directive"><a href="#proxyset">ProxySet</a></code> :</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://backend.example.com"&gt;
+ ProxySet connectiontimeout=5 timeout=30
+&lt;/Proxy&gt;</pre>
+
+
+ <p>L'utilisation de workers définis explicitement dans le mode
+ mandataire direct n'est pas très courante, car les mandataires
+ directs communiquent en général avec de nombreux serveurs
+ originaux. La création explicite de workers pour certains serveurs
+ originaux peut cependant s'avérer utile si ces serveurs sont
+ très souvent sollicités. A leur niveau, les workers explicitement
+ définis ne possèdent aucune notion de mandataire direct ou
+ inverse. Ils encapsulent un concept de communication commun avec
+ les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le
+ cadre d'un mandataire inverse sera aussi utilisé dans le cadre
+ d'un mandataire directe chaque fois que l'URL vers le serveur
+ original correspondra à l'URL du worker, et vice versa.</p>
+
+ <p>L'URL qui identifie un worker correspond à l'URL de son serveur
+ original, y compris un éventuel chemin donné :</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
+ProxyPass "/docs" "http://backend.example.com/docs"</pre>
+
+
+ <p>Dans cet exemple, deux workers différents sont définis, chacun
+ d'eux utilisant des configurations et jeux de connexions
+ séparés.</p>
+
+ <div class="warning"><h3>Partage de workers</h3>
+ <p>Le partage de workers intervient lorsque les URLs des workers
+ s'entrecoupent, ce qui arrive lorsque l'URL d'un worker
+ correspond au début de l'URL d'un autre worker défini plus loin
+ dans le fichier de configuration. Dans l'exemple suivant,</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
+ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
+
+
+ <p>le second worker n'est pas vraiment créé. C'est le premier
+ worker qui est en fait utilisé. L'avantage de ceci réside dans
+ le fait qu'il n'existe qu'un seul jeu de connexions, ces
+ dernières étant donc réutilisées plus souvent. Notez que tous
+ les attributs de configuration définis explicitement pour le
+ deuxième worker seront ignorés, ce qui sera journalisé en tant
+ qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de
+ timeout retenue pour l'URL <code>/exemples</code> sera
+ <code>60</code>, et non <code>10</code> !</p>
+
+ <p>Si vous voulez empêcher le partage de workers, classez vos
+ définitions de workers selon la longueur des URLs, de la plus
+ longue à la plus courte. Si au contraire vous voulez favoriser
+ ce partage, utilisez l'ordre de classement inverse. Voir aussi
+ l'avertissement à propos de l'ordre de classement des directives
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ </div>
+
+ <p>Les workers définis explicitement sont de deux sortes :
+ <dfn>workers directs</dfn> et <dfn>workers de répartition (de
+ charge)</dfn>. Ils supportent de nombreux attributs de
+ configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs
+ peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
+
+ <p>Le jeu d'options disponibles pour un worker direct dépend du
+ protocole spécifié dans l'URL du serveur original. Les protocoles
+ disponibles comprennent <code>ajp</code>, <code>fcgi</code>,
+ <code>ftp</code>, <code>http</code> et <code>scgi</code>.</p>
+
+ <p>Les workers de répartition sont des workers virtuels qui
+ utilisent les workers directs, connus comme faisant partie de leurs
+ membres, pour le traitement effectif des requêtes. Chaque
+ répartiteur peut comporter plusieurs membres. Lorsqu'il traite une
+ requête, il choisit un de ses membres en fonction de l'algorithme
+ de répartition de charge défini.</p>
+
+ <p>Un worker de répartition est créé si son URL de worker comporte
+ <code>balancer</code> comme indicateur de protocole. L'URL du
+ répartiteur permet d'identifier de manière unique le worker de
+ répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
+ membres au répartiteur.</p>
+
+ <div class="note"><h3>Résolution DNS pour les domaines originaux</h3>
+ <p>La résolution DNS s'effectue lorsque le socket vers le
+ domaine original est créé pour la première fois. Lorsque la réutilisation
+ des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une
+ seule fois pour chaque processus enfant, et cette résolution est mise en
+ cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant
+ soit recyclé. Ce comportement doit être pris en considération lorsqu'on
+ planifie des tâches de maintenance du DNS impactant les domaines
+ d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la
+ directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour plus de
+ détails à propos de la réutilisation des connexions.</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="access" id="access">Contrôler l'accès à votre
+ mandataire</a></h2>
+ <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
+ de contrôle <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> comme dans
+ l'exemple suivant :</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
+ Require ip 192.168.0
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Pour plus de détails sur les directives de contrôle d'accès,
+ voir la documentation du module
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
+
+ <p>Restreindre l'accès de manière stricte est essentiel si vous
+ mettez en oeuvre un mandataire direct (en définissant la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
+ Dans le cas contraire, votre serveur pourrait être utilisé par
+ n'importe quel client pour accéder à des serveurs quelconques,
+ tout en masquant sa véritable identité. Ceci représente un danger
+ non seulement pour votre réseau, mais aussi pour l'Internet au
+ sens large. Dans le cas de la mise en oeuvre d'un mandataire
+ inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle
+ d'accès est moins critique car les clients ne peuvent contacter
+ que les serveurs que vous avez spécifiés.</p>
+
+ <p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">Ralentissement au démarrage</a></h2>
+ <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses
+ IP puis ces dernières mises en cache au cours du démarrage
+ à des fins de tests de comparaisons ultérieurs. Ce processus peut
+ durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
+ à laquelle s'effectue la résolution des noms d'hôtes.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="intranet" id="intranet">Mandataire en Intranet</a></h2>
+ <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet
+ doit faire suivre les requêtes destinées à un serveur externe à
+ travers le pare-feu de l'entreprise (pour ce faire, définissez la
+ directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
+ façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
+ vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
+ à des ressources situées dans l'Intranet, il peut se passer du
+ pare-feu pour accéder aux serveurs. A cet effet, la directive
+ <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
+ spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
+ être accédés directement.</p>
+
+ <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
+ domaine local dans leurs requêtes WWW, et demandent par exemple
+ "http://un-serveur/" au lieu de
+ <code>http://un-serveur.example.com/</code>. Certains serveurs
+ mandataires commerciaux acceptent ce genre de requête et les
+ traitent simplement en utilisant un nom de domaine local
+ implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
+ serveur est <a href="#proxyrequests">configuré comme
+ mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et
+ ainsi fournir au client l'adresse de serveur correcte,
+ entièrement qualifiée. C'est la méthode à privilégier car le
+ fichier des marque-pages de l'utilisateur contiendra alors des
+ noms de serveurs entièrement qualifiés.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="envsettings" id="envsettings">Ajustements relatifs au
+ protocole</a></h2>
+ <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
+ vers un serveur qui n'implémente pas correctement les connexions
+ persistantes ou le protocole HTTP/1.1, il existe deux variables
+ d'environnement qui permettent de forcer les requêtes à utiliser
+ le protocole HTTP/1.0 avec connexions non persistantes. Elles
+ peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>
+
+ <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
+ <code>proxy-nokeepalive</code>.</p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/buggyappserver/"&gt;
+ ProxyPass "http://buggyappserver:7001/foo/"
+ SetEnv force-proxy-request-1.0 1
+ SetEnv proxy-nokeepalive 1
+&lt;/Location&gt;</pre>
+
+
+ <p>A partir de la version 2.4.26 du serveur HTTP Apache, la définition de
+ la variable d'environnement "no-proxy" permet de désactiver
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requête courante.
+ Cette variable doit être définie via la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée assez tôt.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a></h2>
+
+ <p>Certaines méthodes de requêtes comme POST comportent un corps de
+ requête. Le protocole HTTP stipule que les requêtes qui comportent
+ un corps doivent soit utiliser un codage de transmission
+ fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête
+ <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
+ requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
+ Par contre, si la taille du corps est importante, et si la requête
+ originale utilise un codage à fractionnement, ce dernier peut aussi
+ être utilisé dans la requête montante. Ce comportement peut être
+ contrôlé à l'aide de <a href="../env.html">variables
+ d'environnement</a>. Ainsi, si elle est définie, la variable
+ <code>proxy-sendcl</code> assure une compatibilité maximale avec les
+ serveurs demandés en imposant l'envoi de l'en-tête
+ <code>Content-Length</code>, alors que
+ <code>proxy-sendchunked</code> diminue la consommation de ressources
+ en imposant l'utilisation d'un codage à fractionnement.</p>
+
+ <p>Dans certaines circonstances, le serveur doit mettre en file
+ d'attente sur disque les corps de requêtes afin de satisfaire le
+ traitement demandé des corps de requêtes. Par exemple, cette mise en
+ file d'attente se produira si le corps original a été envoyé selon un
+ codage morcelé (et possède une taille importante), alors que
+ l'administrateur a demandé que les requêtes du serveur
+ d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en
+ HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps
+ de la requête contient déjà un en-tête Content-Length, alors que le
+ serveur est configuré pour filtrer les corps des requêtes entrantes.</p>
+
+ <p>La directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> ne s'applique qu'aux
+ corps de requêtes que le serveur met en file d'attente sur disque.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
+ inverse</a></h2>
+
+ <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
+ par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>),
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
+ afin de transmettre des informations au serveur demandé. Ces
+ en-têtes sont les suivants :</p>
+
+ <dl>
+ <dt><code>X-Forwarded-For</code></dt>
+ <dd>L'adresse IP du client.</dd>
+ <dt><code>X-Forwarded-Host</code></dt>
+ <dd>L'hôte d'origine demandé par le client dans l'en-tête de
+ requête HTTP <code>Host</code>.</dd>
+ <dt><code>X-Forwarded-Server</code></dt>
+ <dd>Le nom d'hôte du serveur mandataire.</dd>
+ </dl>
+
+ <p>Ces en-têtes doivent être utilisés avec précautions sur le
+ serveur demandé, car ils contiendront plus d'une valeur (séparées
+ par des virgules) si la requête originale contenait déjà un de ces
+ en-têtes. Par exemple, vous pouvez utiliser
+ <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
+ du serveur demandé pour enregistrer les adresses IP des clients
+ originaux, mais il est possible que vous obteniez plusieurs adresses
+ si la requête passe à travers plusieurs mandataires.</p>
+
+ <p>Voir aussi les directives <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> et <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, qui permettent
+ de contrôler d'autres en-têtes de requête.</p>
+
+ <p>Note : Si vous devez ajouter des en-têtes particuliers à la
+ requête mandatée, utilisez la directive <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>.</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="balancergrowth" id="balancergrowth">Directive</a> <a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés
+après la configuration initiale</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du
+serveur HTTP Apache</td></tr>
+</table>
+ <p>Cette directive permet de définir le nombre de membres pouvant
+ être ajoutés au groupe de répartition de charge préconfiguré d'un
+ serveur virtuel. Elle n'est active que si le groupe a été
+ préconfiguré avec un membre au minimum.</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="balancerinherit" id="balancerinherit">Directive</a> <a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de
+ charge du mandataire définis au niveau du serveur principal</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
+ HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive permet d'attribuer au serveur virtuel courant
+ l'héritage des membres de groupes de répartition de charge
+ définis au niveau du serveur
+ principal. Elle ne doit pas être activée si vous
+ utilisez la fonctionnalité de modifications dynamiques du
+ gestionnaire de répartition de charge (Balancer Manager) pour
+ éviter des problèmes et des comportements inattendus.</p>
+ <p>Les définitions au niveau du serveur principal constituent
+ les définitions par défaut au niveau des serveurs virtuels.</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="balancermember" id="balancermember">Directive</a> <a name="BalancerMember" id="BalancerMember">BalancerMember</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
+charge</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible depuis la version 2.2 du serveur HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive permet d'ajouter un membre à un groupe de
+ répartition de charge. Elle peut se trouver dans un conteneur
+ <code>&lt;Proxy <var>balancer://</var>...&gt;</code>, et accepte
+ tous les paramètres de paires clé/valeur que supporte la directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre
+ supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de
+ charge du membre - un nombre décimal entre 1.0 (valeur par défaut) et 100.0, qui
+ définit la charge à appliquer au membre en question.</p>
+ <p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas
+ dèjà dans la directive de conteneur <code>&lt;Proxy
+ <var>balancer://</var>...&gt;</code>. Il correspond à l'URL d'un
+ répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <p>La partie chemin de l'URL du répartiteur dans toute directive de
+ conteneur <code>&lt;Proxy <var>balancer://</var>...&gt;</code> est
+ ignorée.</p>
+ <p>En particulier, le slash de fin de l'URL d'un
+ <code class="directive">BalancerMember</code> doit être supprimé.</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="balancerpersist" id="balancerpersist">Directive</a> <a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le
+ gestionnaire de répartition de charge après un redémarrage du
+ serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la
+ version 2.4.4 du serveur HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive permet de conserver le contenu de l'espace
+ mémoire partagé associé aux répartiteurs de charge et à leurs
+ membres après un redémarrage du serveur. Ces modifications
+ locales ne sont ainsi pas perdues lors des transitions d'état
+ dues à un redémarrage.</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="noproxy" id="noproxy">Directive</a> <a name="NoProxy" id="NoProxy">NoProxy</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
+directement</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ Apache httpd au sein d'Intranets. La directive
+ <code class="directive">NoProxy</code> permet de spécifier une liste de
+ sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
+ par des espaces. Une requête pour un serveur qui correspond à un ou
+ plusieurs critères sera toujours servie par ce serveur directement,
+ sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
+ la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81"
+NoProxy ".example.com" "192.168.112.0/21"</pre>
+</div>
+
+ <p>Le type des arguments <var>serveur</var> de la directive
+ <code class="directive">NoProxy</code> appartiennent à la liste suivante
+ :</p>
+
+ <dl>
+
+ <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
+ <dd>
+ <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
+ qualifié précédé d'un point. Il représente une liste de serveurs qui
+ appartiennent logiquement au même domaine ou à la même zonz DNS
+ (en d'autres termes, les nom des serveurs se terminent tous par
+ <var>domaine</var>).</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ .com .example.org.
+ </code></p></div>
+
+ <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois
+ syntaxique et
+ sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
+ de type A !), les <var>domaine</var>s sont toujours spécifiés en les
+ préfixant par un point.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Les comparaisons de noms de domaines s'effectuent sans tenir
+ compte de la casse, et les parties droites des <var>Domaine</var>s
+ sont toujours censées correspondre à la racine de l'arborescence
+ DNS, si bien que les domaines <code>.ExEmple.com</code> et
+ <code>.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques. Comme une comparaison de domaines ne
+ nécessite pas de recherche DNS, elle est beaucoup plus efficace
+ qu'une comparaison de sous-réseaux.</p>
+ </div></dd>
+
+
+ <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
+ <dd>
+ <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
+ qualifiée sous forme numérique (quatre nombres séparés par des
+ points), optionnellement suivie d'un slash et du masque de
+ sous-réseau spécifiant le nombre de bits significatifs dans le
+ <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
+ peuvent être atteints depuis la même interface réseau. En l'absence
+ de masque de sous-réseau explicite, il est sous-entendu que les
+ digits manquants (ou caractères 0) de fin spécifient le masque de
+ sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
+ qu'un multiple de 8). Voici quelques exemples :</p>
+
+ <dl>
+ <dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
+ <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
+ implicite de 16 bits significatifs (parfois exprimé sous la forme
+ <code>255.255.0.0</code>)</dd>
+ <dt><code>192.168.112.0/21</code></dt>
+ <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
+ sous-réseau implicite de 21 bits significatifs (parfois exprimé
+ sous la forme<code>255.255.248.0</code>)</dd>
+ </dl>
+
+ <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
+ identique à la constante <var>_Default_</var>, et peut correspondre
+ à toute adresse IP.</p></dd>
+
+
+ <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
+ <dd>
+ <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
+ qualifiée sous forme numérique (quatre nombres séparés par des
+ points). En général, cette adresse représente un serveur, mais elle
+ ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
+ <div class="example"><h3>Exemple</h3><p><code>
+ 192.168.123.7
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
+ et peut ainsi s'avérer plus efficace quant aux performances
+ d'Apache.</p>
+ </div></dd>
+
+
+ <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
+ <dd>
+ <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
+ qualifié qui peut être résolu en une ou plusieurs adresses IP par le
+ service de noms de domaines DNS. Il représente un hôte logique (par
+ opposition aux <var><a href="#domain">Domaine</a></var>s, voir
+ ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
+ d'hôtes avec différentes <var><a href="#ipaddr">adresses
+ IP</a></var>).</p>
+
+ <div class="example"><h3>Exemples</h3><p><code>
+ prep.ai.example.edu<br />
+ www.example.org
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Dans de nombreuses situations, il est plus efficace de
+ spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
+ <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
+ recherche DNS. La résolution de nom dans Apache httpd peut prendre un
+ temps très long lorsque la connexion avec le serveur de noms
+ utilise une liaison PPP lente.</p>
+ <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
+ compte de la casse, et les parties droites des <var>Noms de serveur</var>
+ sont toujours censées correspondre à la racine de l'arborescence
+ DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
+ <code>www.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques.</p>
+ </div></dd>
+ </dl>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxy" id="proxy">Directive</a> <a name="Proxy" id="Proxy">&lt;Proxy&gt;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;Proxy <var>url-avec-jokers</var>&gt; ...&lt;/Proxy&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Les directives situées dans une section <code class="directive">&lt;Proxy&gt;</code> ne s'appliquent qu'au contenu
+ mandaté concerné. Les jokers de style shell sont autorisés.</p>
+
+ <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un
+ contenu via votre serveur mandataire que les hôtes appartenant à
+ <code>votre-reseau.example.com</code> :</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
+ Require host votre-reseau.example.com
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Dans l'exemple suivant, tous les fichiers du répertoire
+ <code>foo</code> de <code>example.com</code> seront traités par le
+ filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
+ l'intermédiaire du serveur mandataire :</p>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://example.com/foo/*"&gt;
+ SetOutputFilter INCLUDES
+&lt;/Proxy&gt;</pre>
+
+
+ <div class="note"><h3>Différences avec la section de configuration Location</h3>
+ <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si
+ elle commence par la <var>url-avec-jokers</var>, même si le
+ dernier segment de chemin de la directive ne correspond qu'à un
+ préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, &lt;Proxy
+ "http://example.com/foo"&gt; correspondra entre autres aux URLs
+ http://example.com/foo, http://example.com/foo/bar, et
+ http://example.com/foobar. La correspondance de l'URL finale
+ diffère du comportement de la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> qui, pour le cas de cette note,
+ traitera le segment de chemin final comme s'il se terminait par un
+ slash.</p>
+ <p>Pour un contrôle plus fin de la correspondance des URL, voir la
+ directive <code class="directive">&lt;ProxyMatch&gt;</code>.</p>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#proxymatch">&lt;ProxyMatch&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxyaddheaders" id="proxyaddheaders">Directive</a> <a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux
+en-têtes X-Forwarded-*</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
+</table>
+ <p>Cette directive permet de passer au serveur d'arrière-plan des
+ informations à propos du mandataire via les en-têtes HTTP
+ X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p>
+ <div class="note"><h3>Utilité</h3>
+ <p>Cette option n'est utile que dans le cas du mandat HTTP traité
+ par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxybadheader" id="proxybadheader">Directive</a> <a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête
+incorrectes d'une réponse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBadHeader</code> permet de
+ déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
+ reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
+ à dire ne contenant pas de caractère ':') en provenance du serveur
+ original. Les arguments disponibles sont :</p>
+
+ <dl>
+ <dt><code>IsError</code></dt>
+ <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
+ passerelle). C'est le comportement par défaut.</dd>
+
+ <dt><code>Ignore</code></dt>
+ <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
+ pas été envoyées.</dd>
+
+ <dt><code>StartBody</code></dt>
+ <dd>A la réception de la première ligne d'en-tête incorrecte, les
+ autres en-têtes sont lus et ce qui reste est traité en tant que
+ corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
+ bogués qui oublient d'insérer une ligne vide entre les
+ en-têtes et le corps.</dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxyblock" id="proxyblock">Directive</a> <a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqués par le
+mandataire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var>
+[<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBlock</code> permet de
+ spécifier une liste de termes, serveurs et/ou domaines, séparés par
+ des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des
+ sites dont les noms contiennent des termes, noms de serveur ou
+ domaine correspondants seront <em>bloqués</em> par le serveur
+ mandataire. La module proxy va aussi tenter de déterminer les
+ adresses IP des éléments de la liste qui peuvent correspondre à des
+ noms d'hôtes au cours du démarrage, et les mettra en cache à des
+ fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du
+ serveur.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre>
+</div>
+
+ <p>Notez qu'<code>example</code> suffirait aussi pour atteindre
+ ces sites.</p>
+
+ <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p>
+
+ <p>Notez aussi que</p>
+
+ <pre class="prettyprint lang-config">ProxyBlock "*"</pre>
+
+
+ <p>bloque les connexions vers tous les sites.</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="proxydomain" id="proxydomain">Directive</a> <a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ Apache httpd au sein d'un Intranet. La directive
+ <code class="directive">ProxyDomain</code> permet de spécifier le domaine
+ par défaut auquel le serveur mandataire apache appartient. Si le
+ serveur reçoit une requête pour un hôte sans nom de domaine, il va
+ générer une réponse de redirection vers le même hôte suffixé par le
+ <var>Domaine</var> spécifié.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81"
+NoProxy ".example.com" "192.168.112.0/21"
+ProxyDomain ".example.com"</pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxyerroroverride" id="proxyerroroverride">Directive</a> <a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus
+mandatés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive est utile pour les configurations de mandataires
+ inverses, lorsque vous souhaitez que les pages d'erreur envoyées
+ aux utilisateurs finaux présentent un aspect homogène. Elle permet
+ aussi l'inclusion de fichiers (via les SSI de
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir
+ en conséquence (le comportement par défaut afficherait la page
+ d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
+ qui sera affiché si cette directive est à "on").</p>
+
+ <p>Cette directive n'affecte pas le traitement des réponses
+ informatives (1xx), de type succès normal (2xx), ou de redirection
+ (3xx).</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="proxyiobuffersize" id="proxyiobuffersize">Directive</a> <a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
+données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyIOBufferSize</code> permet
+ d'ajuster la taille du tampon interne utilisé comme bloc-note pour
+ les transferts de données entre entrée et sortie. La taille minimale
+ est de <code>512</code> octets.</p>
+
+ <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
+ valeur.</p>
+
+ <p>Si elle est utilisée avec AJP, cette directive permet de définir
+ la taille maximale du paquet AJP en octets. Si la valeur spécifiée
+ est supérieure à 65536, elle est corrigée et prend la valeur 65536.
+ Si vous ne conservez pas
+ la valeur par défaut, vous devez aussi modifier l'attribut
+ <code>packetSize</code> de votre connecteur AJP du côté de Tomcat !
+ L'attribut <code>packetSize</code> n'est disponible que dans Tomcat
+ <code>5.5.20+</code> et <code>6.0.2+</code>.</p>
+ <p>Il n'est normalement pas nécessaire de modifier la taille
+ maximale du paquet. Des problèmes ont cependant été rapportés avec
+ la valeur par défaut lors de l'envoi de certificats ou de chaînes de
+ certificats.</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="proxymatch" id="proxymatch">Directive</a> <a name="ProxyMatch" id="ProxyMatch">&lt;ProxyMatch&gt;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">&lt;ProxyMatch&gt;</code> est
+ identique à la directive <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code>, à l'exception qu'elle définit
+ les URLs auxquelles elle s'applique en utilisant une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<pre class="prettyprint lang-config">&lt;ProxyMatch "^http://(?&lt;sitename&gt;[^/]+)"&gt;
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+&lt;/ProxyMatch&gt;</pre>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxymaxforwards" id="proxymaxforwards">Directive</a> <a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une
+requête peut être redirigée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyMaxForwards <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Comportement par défaut
+modifié dans 2.2.7</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyMaxForwards</code> permet de
+ spécifier le nombre maximum de mandataires à travers lesquels une
+ requête peut passer dans le cas où la la requête ne contient pas
+ d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir
+ contre les boucles infinies de mandataires ou contre les attaques de
+ type déni de service.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre>
+</div>
+
+ <p>Notez que la définition de la directive
+ <code class="directive">ProxyMaxForwards</code> constitue une violation du
+ protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de
+ définir <code>Max-Forwards</code> si le client ne l'a pas fait
+ lui-même. Les versions précédentes d'Apache httpd la définissaient
+ systématiquement. Une valeur négative de
+ <code class="directive">ProxyMaxForwards</code>, y compris la valeur par
+ défaut -1, implique un comportement compatible avec le protocole,
+ mais vous expose aux bouclages infinis.</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="proxypass" id="proxypass">Directive</a> <a name="ProxyPass" id="ProxyPass">ProxyPass</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis
+l'espace d'URLs du serveur local</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Les sockets de style Unix (Unix Domain Socket - UDS)
+sont supportés à partir de la version 2.4.7 du serveur HTTP Apache</td></tr>
+</table>
+ <p>Cette directive permet de référencer des serveurs distants depuis
+ l'espace d'URLs du serveur local. Le serveur
+ local n'agit pas en tant que mandataire au sens conventionnel, mais
+ plutôt comme miroir du serveur distant. Le serveur local est
+ souvent nommé <dfn>mandataire inverse</dfn> ou
+ <dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un
+ chemin virtuel local ; <var>url</var> est une URL partielle pour le
+ serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
+
+ <div class="note">Il est fortement recommandé de revoir le concept de <a href="#workers">Worker</a> avant d'aller plus loin.</div>
+
+ <div class="note">Cette directive n'est pas supportée au sein des sections <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code> et <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</div>
+
+ <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
+ <strong>off</strong> lorsqu'on utilise la directive
+ <code class="directive">ProxyPass</code>.</div>
+
+ <p>Les sockets de style Unix sont supportés à partir de la version
+ 2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité,
+ il suffit d'utiliser une URL cible préfixée par
+ <code>unix:/path/lis.sock|</code>. Par exemple, pour mandater HTTP
+ et cibler l'UDS /home/www.socket, vous devez utiliser
+ <code>unix:/home/www.socket|http://localhost/whatever/</code>.</p>
+
+ <div class="note"><strong>Note :</strong>Le chemin associé à l'URL
+ <code>unix:</code> tient compte de la directive
+ <code class="directive">DefaultRuntimeDir</code>.</div>
+
+ <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier
+ argument est omis et le répertoire local est obtenu à partir de
+ l'argument de la directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le résultat ne sera
+ probablement pas celui attendu car ProxyPassReverse va interpréter
+ l'expression rationnelle littéralement comme un chemin ; si besoin
+ est dans ce cas, définissez la directive ProxyPassReverse en dehors
+ de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> séparée.</p>
+
+ <p>Supposons que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors la ligne</p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;</pre>
+
+
+ <p>va convertir en interne toute requête pour
+ <code>http://example.com/mirror/foo/bar</code> en une requête
+ mandatée pour <code>http://backend.example.com/bar</code>.</p>
+
+ <p>Si vous avez besoin d'un configuration de mandataire inverse plus
+ souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
+ <code>[P]</code>.</p>
+
+ <p>La syntaxe alternative suivante est valide, bien qu'elle puisse
+ induire une dégradation des performances lorsqu'elle est
+ présente en très grand nombre. Elle possède l'avantage de
+ permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre>
+
+
+ <div class="warning">
+ <p>Si le premier argument se termine par un slash
+ <strong>/</strong>, il doit en être de même pour le second argument
+ et vice versa. Dans le cas contraire, il risque de manquer des
+ slashes nécessaires dans la requête résultante vers le serveur
+ d'arrière-plan et les résulats ne seront pas ceux attendus.
+ </p>
+ </div>
+
+ <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
+ du mandat inverse, comme dans l'exemple suivant :</p>
+
+ <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;
+&lt;Location "/mirror/foo/i"&gt;
+ ProxyPass "!"
+&lt;/Location&gt;</pre>
+
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
+ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
+
+
+ <p>va mandater toutes les requêtes pour <code>/mirror/foo</code>
+ vers <code>backend.example.com</code>, <em>sauf</em> les requêtes
+ pour <code>/mirror/foo/i</code>.</p>
+
+ <p>Mélanger plusieurs configurations ProxyPass dans différents contextes ne
+ fonctionne pas :</p>
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
+&lt;Location "/mirror/foo/"&gt;
+ ProxyPass "http://backend.example.com/"
+&lt;/Location&gt;</pre>
+
+ <p>Dans ce cas, une requête pour <code>/mirror/foo/i</code> sera tout de
+ même mandatée car c'est la directive <code class="directive">ProxyPass</code> de la
+ section Location qui sera évaluée en premier. Le fait que la directive
+ <code class="directive">ProxyPass</code> supporte les deux contextes serveur
+ principal et répertoire ne signifie pas que sa portée et sa position dans le
+ fichier de configuration va garantir une quelconque priorité et/ou
+ chronologie de prise en compte.</p>
+
+ <div class="warning"><h3>Ordre de classement des directives ProxyPass</h3>
+ <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont évaluées dans
+ l'ordre de leur apparition dans le fichier de configuration. La
+ première règle qui correspond s'applique. Vous devez donc en
+ général classer les règles <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui entrent en conflit de
+ l'URL la plus longue à la plus courte. Dans le cas contraire, les
+ règles situées après une règle dont l'URL correspond au début de
+ leur propre URL seront ignorées. Notez que tout ceci est en
+ relation avec le partage de workers.</p>
+
+ </div>
+ <div class="warning"><h3>Chronologie de prise en compte des directives
+ ProxyPass au sein des sections Locations</h3>
+ <p>On ne peut placer
+ qu'une seule directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> dans une section
+ <code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section
+ la plus spécifique qui l'emportera.</p>
+ </div>
+ <div class="warning"><h3>Exclusions et variable d'environnement no-proxy</h3>
+ <p>Les exclusions doivent se situer <em>avant</em>
+ les directives <code class="directive">ProxyPass</code> générales. A partir de la
+ version 2.4.26 du serveur HTTP Apache, la variable
+ d'environnement "no-proxy" est une alternative aux exclusions et constitue
+ le seul moyen de configurer une exclusion pour une directive
+ <code class="directive">ProxyPass</code> dans le contexte d'une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>. Cette variable doit être définie via
+ la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la
+ directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée
+ assez tôt.</p>
+
+ </div>
+
+ <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p>
+
+ <p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte
+ les groupements de connexions vers un serveur d'arrière-plan. Les
+ connexions créées à la demande peuvent être enregistrées dans un
+ groupement pour une utilisation ultérieure. La taille du groupe
+ ainsi que d'autres caractéristiques peuvent être définies via la
+ directive <code class="directive">ProxyPass</code> au moyen de paramètres
+ <code>clé=valeur</code> dont la description fait l'objet des
+ tableaux ci-dessous.</p>
+
+ <div class="warning"><h3>Nombre maximum de connexions vers
+ l'arrière-plan</h3>
+ <p>Par défaut, mod_proxy permet et met en réserve le
+ nombre maximum de connexions pouvant être utilisées simultanément par le
+ processus enfant concerné du serveur web. Le paramètre <code>max</code>
+ permet de réduire cette valeur par défaut. Le jeu de connexions est maintenu
+ au niveau de chaque processus enfant du serveur web, <code>max</code> et les
+ autres réglages n'étant pas coordonnés entre ces différents processus, sauf
+ bien entendu lorsqu'un seul processus enfant n'est autorisé par la
+ configuration ou le MPM utilisé.</p> </div>
+
+ <p>Le paramètre <code>ttl</code>,
+ quant à lui, permet de définir une durée de vie optionnelle ; les
+ connexions qui n'ont pas été utilisées pendant au moins
+ <code>ttl</code> secondes seront fermées. <code>ttl</code> permet
+ aussi d'empêcher l'utilisation d'une connexion susceptible d'être
+ fermée suite à une fin de vie de connexion persistante sur le
+ serveur d'arrière-plan.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
+</div>
+
+ <table class="bordered"><tr><th>Paramètres de worker (directive BalancerMember)</th></tr></table>
+ <table>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
+ <th>Description</th></tr>
+ <tr><td>min</td>
+ <td>0</td>
+ <td>Nombre minimum d'entrées dans le pool de connexions,
+ distinct du nombre de connexions effectif. La valeur par défaut
+ ne doit être modifiée que dans des circonstances particulières
+ où la mémoire associée aux connexions avec le serveur
+ d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr>
+ <tr><td>max</td>
+ <td>1...n</td>
+ <td>Nombre maximum de connexions autorisées vers le serveur
+ d'arrière-plan. La valeur par défaut correspond au nombre de
+ threads par processus pour le MPM (Module Multi Processus)
+ actif. La valeur sera toujours 1 pour le MPM Prefork, alors
+ qu'elle dépendra de la définition de la directive
+ <code class="directive">ThreadsPerChild</code> pour les autres MPMs.</td></tr>
+ <tr><td>smax</td>
+ <td>max</td>
+ <td>Les entrées du pool de connexions conservées au delà de
+ cette limite sont libérées au cours de certaines opérations si
+ elles n'ont pas été utilisées au cours de leur durée de vie,
+ définie par le paramètre <code>ttl</code>. Si l'entrée du pool
+ de connexions est associée à une connexion, cette dernière sera
+ fermée. La valeur par défaut ne doit être modifiée que dans des
+ circonstances particulières où les entrées du pool de connexions
+ et toutes connexions associées qui ont dépassé leur durée de vie
+ doivent être libérées ou fermées de manière plus autoritaire.</td></tr>
+ <tr><td>acquire</td>
+ <td>-</td>
+ <td>Cette clé permet de définir le délai maximum d'attente pour
+ une connexion libre dans le jeu de connexions, en millisecondes.
+ S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra
+ l'état <code>SERVER_BUSY</code> au client.
+ </td></tr>
+ <tr><td>connectiontimeout</td>
+ <td>timeout</td>
+ <td>Délai d'attente d'une connexion en secondes.
+ La durée en secondes pendant laquelle Apache httpd va attendre pour
+ l'établissement d'une connexion vers le serveur d'arrière-plan.
+ Le délai peut être spécifié en millisecondes en ajoutant le
+ suffixe ms.
+ </td></tr>
+ <tr><td>disablereuse</td>
+ <td>Off</td>
+ <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à
+ fermer immédiatement une connexion vers le serveur
+ d'arrière-plan après utilisation, et ainsi désactiver le jeu de
+ connexions permanentes vers ce serveur. Ceci peut s'avérer utile
+ dans des situations où un pare-feu situé entre Apache httpd et le
+ serveur d'arrière-plan (quelque soit le protocole) interrompt
+ des connexions de manière silencieuse, ou lorsque le serveur
+ d'arrière-plan lui-même est accessible par rotation de DNS
+ (round-robin DNS). Lorsque la réutilisation des connexions est activée,
+ chaque domaine d'arrière-plan n'est résolu (via une requête DNS) qu'une
+ seule fois par chaque processus enfant et mis en cache pour toutes les
+ connexions ultérieures jusqu'au recyclage du processus concerné.
+ Pour désactiver la réutilisation du jeu de
+ connexions, définissez cette clé à <code>On</code>.
+ </td></tr>
+ <tr><td>enablereuse</td>
+ <td>On</td>
+ <td>Ce paramètre est utilisé par les gestionnaires de protocole pour
+ lesquels la réutilisation des connexions est optionnelle (comme
+ <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>). C'est le contraire du
+ paramètre 'disablereuse' ci-dessus, et il est supporté par les
+ versions 2.4.11 et supérieures du serveur HTTP Apache.
+ </td></tr>
+ <tr><td>flushpackets</td>
+ <td>off</td>
+ <td>Permet de définir si le module mandataire doit vider
+ automatiquement le tampon de sortie après chaque tronçon de
+ données. 'off' signifie que le tampon sera vidé si
+ nécessaire ;
+ 'on' signifie que le tampon sera vidé après chaque envoi d'un
+ tronçon de données, et 'auto' que le tampon sera vidé après un
+ délai de 'flushwait' millisecondes si aucune entrée n'est reçue.
+ Actuellement, cette clé n'est supportée que par mod_proxy_ajp et
+ mod_proxy_fcgi.
+ </td></tr>
+ <tr><td>flushwait</td>
+ <td>10</td>
+ <td>Le délai d'attente pour une entrée additionnelle, en
+ millisecondes, avant le vidage du tampon en sortie dans le cas
+ où 'flushpackets' est à 'auto'.
+ </td></tr>
+ <tr><td>iobuffersize</td>
+ <td>8192</td>
+ <td>Permet de définir la taille du tampon d'entrées/sorties du
+ bloc-notes interne. Cette clé vous permet d'outrepasser la
+ directive <code class="directive">ProxyIOBufferSize</code> pour un
+ serveur cible spécifique. La valeur doit être au minimum 512 ou définie
+ à 0 pour la valeur par défaut du système de 8192.
+ </td></tr>
+ <tr><td>responsefieldsize</td>
+ <td>8192</td>
+ <td>Contrôle la taille du tampon pour le champ de la réponse mandatée.
+ Cette taille doit être au moins égale à la taille attendue du plus grand
+ en-tête d'une réponse mandatée. Une valeur de 0 implique l'utilisation
+ de la valeur par défaut du système, à savoir 8192 octets.<br />
+ Disponible à partir de la version 2.4.34 du serveur HTTP Apache.
+ </td></tr>
+ <tr><td>keepalive</td>
+ <td>Off</td>
+ <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
+ entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
+ à interrompre les connexions inactives. Cette clé va faire en
+ sorte que le système d'exploitation envoie des messages
+ <code>KEEP_ALIVE</code> sur chacune des connexions inactives et
+ ainsi éviter la fermeture de la connexion par le pare-feu.
+ Pour conserver les connexions persistantes, definissez cette
+ propriété à <code>On</code>.</p>
+ <p>La fréquence de vérification des connexions TCP persistantes
+ initiale et subséquentes dépend de la configuration globale de l'OS,
+ et peut atteindre 2 heures. Pour être utile, la fréquence configurée
+ dans l'OS doit être inférieure au seuil utilisé par le pare-feu.</p>
+
+ </td></tr>
+ <tr><td>lbset</td>
+ <td>0</td>
+ <td>Définit le groupe de répartition de charge dont le serveur cible
+ est membre. Le répartiteur de charge va essayer tous les membres
+ d'un groupe de répartition de charge de numéro inférieur avant
+ d'essayer ceux dont le groupe possède un numéro supérieur.
+ </td></tr>
+ <tr><td>ping</td>
+ <td>0</td>
+ <td>Avec la clé Ping, le serveur web va "tester" la connexion
+ vers le serveur d'arrière-plan avant de transmettre la requête.
+ Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requête
+ <code>CPING</code> sur la connexion ajp13 (implémenté sur Tomcat
+ 3.3.2+, 4.1.28+ et 5.0.13+). Avec HTTP,
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> envoie <code>100-Continue</code>
+ au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les
+ serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit
+ aucun effet). Dans les deux cas, ce paramètre correspond au
+ délai en secondes pour l'attente de la réponse. Cette
+ fonctionnalité a été ajoutée pour éviter les problèmes avec les
+ serveurs d'arrière-plan bloqués ou surchargés.
+
+ Le trafic
+ réseau peut s'en trouver augmenté en fonctionnement normal, ce
+ qui peut poser problème, mais peut s'en trouver diminué dans les
+ cas où les noeuds de cluster sont arrêtés ou
+ surchargés. Le délai peut
+ aussi être défini en millisecondes en ajoutant le suffixe
+ ms.
+ </td></tr>
+ <tr><td>receivebuffersize</td>
+ <td>0</td>
+ <td>Définit la taille du tampon réseau explicite (TCP/IP) pour
+ les connexions mandatées. Cette clé vous permet d'outrepasser la
+ directive <code class="directive">ProxyReceiveBufferSize</code> pour un
+ serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie
+ à 0 pour la valeur par défaut du système.
+ </td></tr>
+ <tr><td>redirect</td>
+ <td>-</td>
+ <td>Route pour la redirection du serveur cible. Cette valeur est en
+ général définie dynamiquement pour permettre une suppression
+ sécurisée du noeud du cluster. Si cette clé est définie, toutes
+ les requêtes sans identifiant de session seront redirigées vers
+ le membre de groupe de répartition de charge dont la route
+ correspond à la valeur de la clé.
+ </td></tr>
+ <tr><td>retry</td>
+ <td>60</td>
+ <td>Délai entre deux essais du serveur cible du jeu de connexions en
+ secondes. Si le serveur cible du jeu de connexions vers le serveur
+ d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera
+ pas de requête vers ce serveur avant l'expiration du délai
+ spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour
+ maintenance, et de le remettre en ligne plus tard. Une valeur de
+ 0 implique de toujours essayer les serveurs cibles dans un état d'erreur
+ sans délai.
+ </td></tr>
+ <tr><td>route</td>
+ <td>-</td>
+ <td>La route du serveur cible lorsqu'il est utilisé au sein d'un
+ répartiteur de charge. La route est une valeur ajoutée à
+ l'identifiant de session.
+ </td></tr>
+ <tr><td><a name="status_table">status</a></td>
+ <td>-</td>
+ <td>Valeur constituée d'une simple lettre et définissant l'état
+ initial de ce serveur cible.
+ <table>
+ <tr><td>D: le serveur cible est désactivé et n'accepte aucune requête.</td></tr>
+ <tr><td>S: le serveur cible est arrêté.</td></tr>
+ <tr><td>I: le serveur cible est en mode "erreurs ignorées",
+ et sera toujours considéré comme disponible.</td></tr>
+ <tr><td>R: Le serveur cible sert de remplaçant à
+ chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable
+ (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à
+ chaud libre de même lbset sera utilisé à sa place. Les remplaçants à
+ chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles
+ sera toujours disponible pour un répartiteur de charge.</td></tr>
+ <tr><td>H: le serveur cible est en mode d'attente et ne sera
+ utilisé que si aucun autre serveur ou remplaçant à chaud n'est
+ disponible dans le jeu de serveurs cibles.</td></tr>
+ <tr><td>E: le serveur cible est en erreur.</td></tr>
+ <tr><td>N: le serveur cible est en mode vidage, n'acceptera que
+ les sessions persistantes qui lui appartiennent, et refusera
+ toutes les autres requêtes.</td></tr>
+ </table>
+ Une valeur d'état peut être définie (ce qui
+ correspond au comportement par défaut) en préfixant la valeur
+ par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la
+ valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime
+ le drapeau "en-erreur".
+ </td></tr>
+ <tr><td>timeout</td>
+ <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td>
+ <td>Délai d'attente de la connexion en secondes. Le nombre de
+ secondes pendant lesquelles Apache httpd attend l'envoi de
+ données vers le serveur d'arrière-plan.
+ </td></tr>
+ <tr><td>ttl</td>
+ <td>-</td>
+ <td>Durée de vie des connexions inactives et des entrées du pool
+ de connexions associées en secondes. Une fois cette
+ limite atteinte, une connexion ne sera pas réutilisée ; elle
+ sera fermée après un délai variable.
+ </td></tr>
+ <tr><td>flusher</td>
+ <td>flush</td>
+ <td><p>Nom du fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
+ Voir la documentation de ce module pour plus de détails.</p>
+ </td></tr>
+ <tr><td>secret</td>
+ <td>-</td>
+ <td><p>Le mot de passe utilisé par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Voir
+ la documentation de ce module pour plus de détails.</p>
+ </td></tr>
+ <tr><td>upgrade</td>
+ <td>WebSocket</td>
+ <td><p>Le protocol accepté par <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> dans
+ l'en-tête Upgrade. Voir la documentation de ce module pour plus de
+ détails.</p>
+ </td></tr>
+
+ </table>
+
+ <p>Si l'URL de la directive Proxy débute par
+ <code>balancer://</code> (par exemple:
+ <code>balancer://cluster</code>, toute information relative au
+ chemin est ignorée), alors un serveur cible virtuel ne communiquant pas
+ réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera
+ en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans
+ ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible
+ virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus
+ d'informations à propos du fonctionnement du répartiteur de
+ charge.
+ </p>
+ <table class="bordered"><tr><th>Paramètres du répartiteur</th></tr></table>
+ <table>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
+ <th>Description</th></tr>
+ <tr><td>lbmethod</td>
+ <td>byrequests</td>
+ <td>Méthode de répartition de charge utilisée. Permet de
+ sélectionner la méthode de planification de la répartition de
+ charge à utiliser. La valeur est soit <code>byrequests</code>,
+ pour effectuer un décompte de requêtes pondérées, soit
+ <code>bytraffic</code>, pour effectuer une répartition en
+ fonction du décompte des octets transmis, soit
+ <code>bybusyness</code>, pour effectuer une répartition en
+ fonction des requêtes en attente. La valeur par défaut est
+ <code>byrequests</code>.
+ </td></tr>
+ <tr><td>maxattempts</td>
+ <td>1 de moins que le nombre de workers, ou 1 avec un seul
+ worker</td>
+ <td>Nombre maximum d'échecs avant abandon.
+ </td></tr>
+ <tr><td>nofailover</td>
+ <td>Off</td>
+ <td>Si ce paramètre est défini à <code>On</code>, la session va
+ s'interrompre si le serveur cible est dans un état d'erreur ou
+ désactivé. Définissez ce paramètre à <code>On</code> si le serveur
+ d'arrière-plan ne supporte pas la réplication de session.
+ </td></tr>
+ <tr><td>stickysession</td>
+ <td>-</td>
+ <td>Nom de session persistant du répartiteur. La valeur est
+ généralement du style <code>JSESSIONID</code> ou
+ <code>PHPSESSIONID</code>, et dépend du serveur d'application
+ d'arrière-plan qui supporte les sessions. Si le serveur
+ d'application d'arrière-plan utilise un nom différent pour
+ les cookies et les identifiants codés d'URL (comme les
+ conteneurs de servlet), séparez-les par le caractère '|'. La
+ première partie contient le cookie et la seconde le chemin.<br />
+ Disponible depuis la version 2.4.4 du serveur HTTP Apache.
+ </td></tr>
+ <tr><td>stickysessionsep</td>
+ <td>"."</td>
+ <td>Définit le caractère de séparation dans le cookie de
+ session. Certains serveurs d'application d'arrière-plan
+ n'utilisent pas le caractère '.' comme séparateur. Par exemple
+ le serveur Oracle Weblogic utilise le caractère '!'. Cette
+ option permet d'attribuer au caractère de séparation la valeur
+ appropriée. Si elle est définie à 'Off', aucun caractère de
+ séparation n'est utilisé.
+ </td></tr>
+ <tr><td>scolonpathdelim</td>
+ <td>Off</td>
+ <td>Si ce paramètre est défini à <code>On</code>, le caractère
+ ';' sera utilisé comme séparateur de chemin de session
+ persistante additionnel. Ceci permet principalement de simuler
+ le comportement de mod_jk lorsqu'on utilise des chemins du style
+ <code>JSESSIONID=6736bcf34;foo=aabfa</code>.
+ </td></tr>
+ <tr><td>timeout</td>
+ <td>0</td>
+ <td>Délai du répartiteur en secondes. Si ce paramètre est
+ défini, sa valeur correspond à la durée maximale d'attente pour
+ un serveur cible libre. Le comportement par défaut est de ne pas
+ attendre.
+ </td></tr>
+ <tr><td>failonstatus</td>
+ <td>-</td>
+ <td>Une liste de codes d'état HTTP séparés par des virgules. Si
+ ce paramètre est présent, le worker se mettra en erreur si le
+ serveur d'arrière-plan renvoie un des codes d'état spécifiés
+ dans la liste. La récupération du worker s'effectue comme dans
+ le cas des autres erreurs de worker.
+ </td></tr>
+ <tr><td>failontimeout</td>
+ <td>Off</td>
+ <td>Si ce paramètre est défini à "On", un délai d'attente
+ dépassé en entrée/sortie après envoi d'une requête au serveur
+ d'arrière-plan va mettre le processus en état d'erreur. La
+ sortie de cet état d'erreur se passe de la même façon que pour
+ les autres erreurs.<br />
+ Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
+ </td></tr>
+ <tr><td>nonce</td>
+ <td>&lt;auto&gt;</td>
+ <td>Le nombre à usage unique de protection utilisé dans la page
+ de l'application <code>balancer-manager</code>. Par défaut, la
+ protection de la page est assurée par un nombre à usage unique
+ automatique à base d'UUID. Si une valeur est précisée, elle sera
+ utilisée comme nombre à usage unique. La valeur
+ <code>None</code> désactive la vérification du nombre à usage
+ unique.
+ <div class="note"><h3>Note</h3>
+ <p>En plus du nombre à usage unique, la page de l'application
+ <code>balancer-manager</code> peut être protégée par une ACL.</p>
+ </div>
+ </td></tr>
+ <tr><td>growth</td>
+ <td>0</td>
+ <td>Nombre de membres supplémentaires que l'on peut ajouter à ce
+ répartiteur en plus de ceux définis au niveau de la
+ configuration.
+ </td></tr>
+ <tr><td>forcerecovery</td>
+ <td>On</td>
+ <td>Force la relance immédiate de tous les membres sans tenir
+ compte de leur paramètre retry dans le cas où ils sont tous en
+ état d'erreur. Il peut cependant arriver qu'un membre déjà
+ surchargé entre dans une situation critique si la relance de
+ tous les membres est forcée sans tenir compte du paramètre retry
+ de chaque membre. Dans ce cas, définissez ce paramètre à
+ <code>Off</code>.<br />
+ Disponible depuis la version 2.4.2 du serveur HTTP Apache.
+ </td></tr>
+
+ </table>
+ <p>Exemple de configuration d'un répartiteur de charge</p>
+ <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
+&lt;Proxy "balancer://mycluster"&gt;
+ BalancerMember "ajp://1.2.3.4:8009"
+ BalancerMember "ajp://1.2.3.5:8009" loadfactor=20
+ # Less powerful server, don't send as many requests there,
+ BalancerMember "ajp://1.2.3.6:8009" loadfactor=5
+&lt;/Proxy&gt;</pre>
+
+
+ <p>La définition de remplaçants à chaud permet de s'assurer qu'un nombre
+ déterminé de serveurs sera toujours disponible dans le jeu de serveurs
+ cibles :</p>
+ <pre class="prettyprint lang-config">ProxyPass "/" "balancer://sparecluster/"
+&lt;Proxy balancer://sparecluster&gt;
+ BalancerMember ajp://1.2.3.4:8009
+ BalancerMember ajp://1.2.3.5:8009
+ # Les serveurs ci-dessous sont des remplaçants à chaud. Pour chaque serveur
+ # ci-dessus qui viendrait à être inutilisable (maintenance, arrêt, non
+ # contactable, en erreur, etc...), un de ces remplaçants à chaud prendra sa
+ # place. Deux serveurs seront toujours disponibles pour traiter une requête
+ # (à moins qu'un ou plusieurs remplaçant à chaud soit lui aussi
+ # indisponible).
+ BalancerMember ajp://1.2.3.6:8009 status=+R
+ BalancerMember ajp://1.2.3.7:8009 status=+R
+&lt;/Proxy&gt;</pre>
+
+
+ <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
+ aucun autre serveur cible ou remplaçant à chaud n'est disponible dans le jeu
+ de serveurs cibles :</p>
+ <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/"
+&lt;Proxy "balancer://hotcluster"&gt;
+ BalancerMember "ajp://1.2.3.4:8009" loadfactor=1
+ BalancerMember "ajp://1.2.3.5:8009" loadfactor=2.25
+ # The server below is on hot standby
+ BalancerMember "ajp://1.2.3.6:8009" status=+H
+ ProxySet lbmethod=bytraffic
+&lt;/Proxy&gt;</pre>
+
+
+ <p><strong>Mots-clés additionnels de ProxyPass</strong></p>
+
+ <p>Normalement, mod_proxy va mettre sous leur forme canonique les
+ URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
+ certains serveurs d'arrière-plan, et en particulier avec ceux qui
+ utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
+ <var>nocanon</var> modifie ce comportement et permet de transmettre
+ le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
+ que ceci peut affecter la sécurité de votre serveur d'arrière-plan,
+ car la protection limitée contre les attaques à base d'URL que
+ fournit le mandataire est alors supprimée.</p>
+
+ <p>Par défaut, mod_proxy inclut la chaîne de paramètres lors de la
+ génération de la variable d'environnement
+ <var>SCRIPT_FILENAME</var>. Le mot-clé optionnel <var>noquery</var>
+ (disponible à partir de la version 2.4.1) permet d'exclure cette
+ chaîne.</p>
+
+ <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
+ section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier argument est omis et le répertoire
+ local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en sera de même dans une
+ section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> ; cependant, ProxyPass
+ n'interprète pas les expressions rationnelles, et il sera ici
+ nécessaire d'utiliser la directive
+ <code class="directive">ProxyPassMatch</code> à la place.</p>
+
+ <p>Cette directive ne peut pas être placée dans une section
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
+ <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
+
+ <p>Si vous avez besoin d'un configuration de mandataire inverse plus
+ souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
+ <code>[P]</code>.</p>
+
+ <p>Le mot-clé optionnel <var>interpolate</var>, en combinaison avec la directive
+ <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, permet à ProxyPass
+ d'interpoler les variables d'environnement à l'aide de la syntaxe
+ <var>${VARNAME}</var>. Notez que de nombreuses variables
+ d'environnement standard dérivées de CGI n'existeront pas lorsque
+ l'interpolation se produit ; vous devrez alors encore avoir avoir
+ recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles
+ complexes. Notez aussi que l'interpolation n'est supportée dans
+ la partie protocole/hostname/port d'une URL que pour les variables qui sont
+ disponibles au moment où la directive est interprétée (comme pour la
+ directive <code class="directive"><a href="../mod/core.html#define">Define</a></code>). La détermination
+ dynamique de ces champs peut être effectuée à l'aide de
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'exemple suivant décrit comment utiliser
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour définir dynamiquement le protocole à http
+ ou https :</p>
+
+ <pre class="prettyprint lang-config">RewriteEngine On
+
+RewriteCond "%{HTTPS}" =off
+RewriteRule "". "-" [E=protocol:http]
+RewriteCond "%{HTTPS}" =on
+RewriteRule "." "-" [E=protocol:https]
+
+RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P]
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
+
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxypassinherit" id="proxypassinherit">Directive</a> <a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des directives ProxyPass définies au niveau du
+serveur principal</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
+HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive permet à un serveur virtuel d'hériter des
+ directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> définies
+ au niveau du serveur principal. Si vous utilisez la fonctionnalité de
+ modifications dynamiques du Balancer Manager, cette directive peut
+ causer des problèmes et des comportements inattendus et doit donc
+ être désactivée.</p>
+ <p>Les valeurs définies au niveau du serveur principal
+ constituent les valeurs par défaut pour tous les serveurs virtuels.</p>
+ <p>La désactivation de ProxyPassInherit désactive aussi la
+ directive <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</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="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a> <a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'interpolation des variables d'environnement dans
+les configurations de mandataires inverses</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible depuis la version 2.2.9 d'Apache</td></tr>
+</table>
+ <p>Cette directive, ainsi que l'argument <var>interpolate</var> des
+ directives <code class="directive">ProxyPass</code>,
+ <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code> et
+ <code class="directive">ProxyPassReverseCookiePath</code>, permet de
+ configurer dynamiquement un mandataire inverse à l'aide de
+ variables d'environnement, ces dernières pouvant être définies par un
+ autre module comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Elle affecte les
+ directives <code class="directive">ProxyPass</code>,
+ <code class="directive">ProxyPassReverse</code>,
+ <code class="directive">ProxyPassReverseCookieDomain</code>, et
+ <code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant
+ de remplacer la chaîne <code>${nom_var}</code> dans les directives
+ de configuration par la valeur de la variable d'environnement
+ <code>nom_var</code> (si l'option <var>interpolate</var> est
+ spécifiée).</p>
+ <p>La partie protocole/hostname/port de <code class="directive">ProxyPass</code>
+ peut contenir des variables, mais seulement celles qui sont accessibles au
+ moment où la directive est interprétée (similairement à la directive
+ <code class="directive"><a href="../mod/core.html#define">Define</a></code>). Pour tous les autres cas,
+ utilisez plutôt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ <div class="warning"><h3>Avertissement concernant les performances</h3>
+ <p>Laissez cette directive à off, à moins que vous n'en ayez réellemnt
+ besoin ! Par exemple, ajouter des variables à
+ <code class="directive">ProxyPass</code> peut entraîner l'utilisation des serveurs
+ d'arrière-plan de mod_proxy configurés par défaut, et ceux-ci ne permettent
+ pas un réglage fin comme la réutilisation des connexions, entre
+ autres...).</p> </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxypassmatch" id="proxypassmatch">Directive</a> <a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre des serveurs distants dans l'espace d'URL
+du serveur local en utilisant des expressions rationnelles</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var>
+[<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des
+ expressions rationnelles, au lieu d'une simple comparaison de
+ préfixes. L'expression rationnelle spécifiée est comparée à
+ l'<var>url</var>, et si elle correspond, le serveur va substituer
+ toute correspondance entre parenthèses dans la chaîne donnée et
+ l'utiliser comme nouvelle <var>url</var>.</p>
+
+ <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
+ utilisée dans un contexte de niveau répertoire.</div>
+
+ <p>Supposons que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors</p>
+
+ <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"</pre>
+
+
+ <p>va provoquer la conversion interne de la requête locale
+ <code>http://example.com/foo/bar.gif</code> en une requête mandatée
+ pour <code>http://backend.example.com/foo/bar.gif</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'argument URL doit pouvoir être interprété en tant qu'URL
+ <em>avant</em> les substitutions d'expressions rationnelles (et
+ doit aussi l'être après). Ceci limite les correspondances que vous
+ pouvez utiliser. Par exemple, si l'on avait utilisé</p>
+ <pre class="prettyprint lang-config"> ProxyPassMatch "^(/.*\.gif)$"
+ "http://backend.example.com:8000$1"</pre>
+
+ <p>dans l'exemple précédent, nous aurions provoqué une erreur de
+ syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
+ ASF bugzilla), et il est possible de la contourner en reformulant
+ la correspondance :</p>
+ <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
+
+ </div>
+
+ <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
+ sous-répertoire donné.</p>
+
+ <p>Dans une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, le premier argument est
+ omis et l'expression rationnelle est obtenue à partir de la directive
+ <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.</p>
+
+ <p>Si vous avez besoin d'une configuration du mandataire inverse
+ plus flexible, voyez la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> avec le drapeau
+ <code>[P]</code>.</p>
+
+ <div class="note">
+ <h3>Substitution par défaut</h3>
+ <p>Lorsque le paramètre URL n'utilise pas de références arrières
+ dans l'expression rationnelle, l'URL originale sera ajoutée au
+ paramètre URL.
+ </p>
+ </div>
+
+ <div class="warning">
+ <h3>Avertissement à propos de la sécurité</h3>
+ <p>Lors de la construction de l'URL cible de la règle, il convient
+ de prendre en compte l'impact en matière de sécurité qu'aura le
+ fait de permettre au client d'influencer le jeu d'URLs pour
+ lesquelles votre serveur agira en tant que mandataire.
+ Assurez-vous que la partie protocole://nom-serveur de l'URL soit
+ fixe, ou ne permette pas au client de l'influencer induement.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxypassreverse" id="proxypassreverse">Directive</a> <a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
+par un serveur mandaté en inverse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var>
+[<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL
+ dans les en-têtes <code>Location</code>,
+ <code>Content-Location</code> et <code>URI</code> des réponses de
+ redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en
+ tant que mandataire inverse (ou passerelle), afin d'éviter de
+ court-circuiter le mandataire inverse suite aux redirections HTTP
+ sur le serveur d'arrière-plan qui restent derrière le mandataire
+ inverse.</p>
+
+ <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés
+ ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes
+ de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela
+ signifie que dans le cas où un contenu mandaté contient des
+ références à des URLs absolues, elles court-circuiteront le
+ mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au
+ mandataire, vous devez charger et activer le module
+ <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>.
+ </p>
+
+ <p><var>chemin</var> est le nom d'un chemin virtuel local.
+ <var>url</var> est une URL partielle pour le serveur distant. Ces
+ paramètres s'utilisent de la même façon qu'avec la
+ directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <p>Supposons par exemple que le serveur local a pour adresse
+ <code>http://example.com/</code> ; alors</p>
+
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverseCookieDomain "backend.example.com" "public.example.com"
+ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
+
+
+ <p>ne va pas seulement provoquer la conversion interne d'une requête
+ locale pour <code>http://example.com/mirror/foo/bar</code> en une
+ requête mandatée pour <code>http://backend.example.com/bar</code>
+ (la fonctionnalité fournie par <code>ProxyPass</code>). Il va
+ aussi s'occuper des redirections que le serveur
+ <code>backend.example.com</code> envoie lorsqu'il redirige
+ <code>http://backend.example.com/bar</code> vers
+ <code>http://backend.example.com/quux</code>. Apache
+ httpd corrige ceci en <code>http://example.com/mirror/foo/quux</code>
+ avant de faire suivre la redirection HTTP au client. Notez que le
+ nom d'hôte utilisé pour construire l'URL est choisi en respectant la
+ définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
+
+ <p>Notez que la directive <code class="directive">ProxyPassReverse</code>
+ peut aussi être utilisée en conjonction avec la
+ fonctionnalité de mandataire
+ (<code>RewriteRule ... [P]</code>) du module
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ correspondante.</p>
+
+ <p>Le mot-clé optionnel <var>interpolate</var>, en
+ combinaison avec la directive
+ <code class="directive">ProxyPassInterpolateEnv</code>, permet
+ l'interpolation des variables d'environnement spécifiées en
+ utilisant le format <var>${VARNAME}</var> Notez que l'interpolation
+ n'est pas supportée dans la partie protocole d'une URL.
+ </p>
+
+ <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier
+ argument est omis et le répertoire local est obtenu à partir de
+ l'argument de la directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le résultat ne sera
+ probablement pas celui attendu car ProxyPassReverse va interpréter
+ l'expression rationnelle littéralement comme un chemin ; si besoin
+ est dans ce cas, définissez la directive ProxyPassReverse en dehors
+ de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> séparée.</p>
+
+ <p>Cette directive ne peut pas être placée dans une section
+ <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
+ <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</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="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a> <a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var>
+<var>domaine-public</var> [<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>L'utilisation de cette directive est similaire à celle de la
+directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
+mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
+réécrit la chaîne correspondant au domaine dans les en-têtes
+<code>Set-Cookie</code>.</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="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a> <a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var>
+<var>chemin-public</var> [<var>interpolate</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>
+Cette directive s'avère utile en conjonction avec la directive
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> dans les
+situations où les chemins d'URL d'arrière-plan correspondent à des
+chemins publics sur le mandataire inverse. Cette directive permet de
+réécrire la chaîne <code>path</code> dans les en-têtes
+<code>Set-Cookie</code>. Si le début du chemin du cookie correspond à
+<var>chemin-interne</var>, le chemin du cookie sera remplacé par
+<var>chemin-public</var>.
+</p><p>
+Dans l'exemple fourni avec la directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, la directive :
+</p>
+ <pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
+
+<p>
+va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code>
+(ou <code>/example</code> ou en fait tout chemin)
+en <code>/mirror/foo/</code>..
+</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="proxypreservehost" id="proxypreservehost">Directive</a> <a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête
+du mandataire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Utilisable
+dans un contexte de répertoire depuis la version 2.3.3.</td></tr>
+</table>
+ <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
+ Host: de la requête entrante vers le serveur mandaté, au lieu du nom
+ d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <p>Cette directive est habituellement définie à <code>Off</code>.
+ Elle est principalement utile dans les configurations particulières
+ comme l'hébergement virtuel mandaté en masse à base de nom, où
+ l'en-tête Host d'origine doit être évalué par le serveur
+ d'arrière-plan.</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="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a> <a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP
+et FTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyReceiveBufferSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyReceiveBufferSize</code> permet
+ de spécifier une taille de tampon réseau explicite (TCP/IP) pour les
+ connexions mandatées HTTP et FTP, afin d'améliorer le débit de
+ données. Elle doit être supérieure à <code>512</code> ou définie à
+ <code>0</code> pour indiquer que la taille de tampon par défaut du
+ système doit être utilisée.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxyremote" id="proxyremote">Directive</a> <a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines
+requêtes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de définir des mandataires distants pour
+ ce mandataire. <var>comparaison</var> est soit le nom d'un protocole
+ que supporte le serveur distant, soit une URL partielle pour
+ laquelle le serveur distant devra être utilisé, soit <code>*</code>
+ pour indiquer que le serveur distant doit être utilisé pour toutes
+ les requêtes. <var>serveur-distant</var> est une URL partielle
+ correspondant au serveur distant. Syntaxe : </p>
+
+ <div class="example"><p><code>
+ <dfn>serveur-distant</dfn> =
+ <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
+ </code></p></div>
+
+ <p><var>protocole</var> est effectivement le protocole à utiliser
+ pour communiquer avec le serveur distant ; ce module ne supporte que
+ <code>http</code> et <code>https</code>. Lorsqu'on utilise
+ <code>https</code>, les requêtes sont redirigées par le mandataire
+ distant en utilisant la méthode HTTP CONNECT.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000"
+ProxyRemote "*" "http://cleverproxy.localdomain"
+ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"</pre>
+</div>
+
+ <p>Dans la dernière ligne de l'exemple, le mandataire va faire
+ suivre les requêtes FTP, encapsulées dans une autre requête mandatée
+ HTTP, vers un autre mandataire capable de les traiter.</p>
+
+ <p>Cette directive supporte aussi les configurations de mandataire
+ inverse ; un serveur web d'arrière-plan peut être intégré dans
+ l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
+ par un autre mandataire direct.</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="proxyremotematch" id="proxyremotematch">Directive</a> <a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes
+correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyRemoteMatch</code> est
+ identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception du
+ premier argument qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
+ rationnelle</a> à mettre en correspondance avec l'URL de la
+ requête.</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="proxyrequests" id="proxyrequests">Directive</a> <a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire
+direct</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet d'activer/désactiver la fonctionnalité de
+ serveur mandataire direct d'Apache httpd. Définir ProxyRequests à
+ <code>Off</code> n'interdit pas l'utilisation de la directive
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <p>Pour une configuration typique de mandataire inverse ou
+ passerelle, cette directive doit être définie à
+ <code>Off</code>.</p>
+
+ <p>Afin d'activer la fonctionnalité de mandataire pour des sites
+ HTTP et/ou FTP, les modules <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> et/ou
+ <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent également être chargés dans le
+ serveur.</p>
+
+ <p>Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module
+ <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit également être chargé dans le serveur.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux non seulement pour votre
+ réseau, mais aussi pour l'Internet au sens large.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="#forwardreverse">Mandataires/Passerelles directs et
+inverses</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxyset" id="proxyset">Directive</a> <a name="ProxySet" id="ProxySet">ProxySet</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de
+charge des mandataires et aux membres des groupes de répartition de
+charge</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>ProxySet n'est disponible que depuis la version 2.2
+du serveur HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive propose une méthode alternative pour définir tout
+ paramètre relatif aux répartiteurs de charge et serveurs cibles de
+ mandataires normalement définis via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un
+ conteneur <code>&lt;Proxy <var>url de répartiteur|url de
+ serveur cible</var>&gt;</code>, l'argument <var>url</var> n'est pas
+ nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif
+ est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un
+ mandataire inverse via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> au lieu de <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+
+ <div class="example"><pre class="prettyprint lang-config">&lt;Proxy "balancer://hotcluster"&gt;
+ BalancerMember "http://www2.example.com:8080" loadfactor=1
+ BalancerMember "http://www3.example.com:8080" loadfactor=2
+ ProxySet lbmethod=bytraffic
+&lt;/Proxy&gt;</pre>
+</div>
+
+ <pre class="prettyprint lang-config">&lt;Proxy "http://backend"&gt;
+ ProxySet keepalive=On
+&lt;/Proxy&gt;</pre>
+
+
+ <pre class="prettyprint lang-config">ProxySet "balancer://foo" lbmethod=bytraffic timeout=15</pre>
+
+
+ <pre class="prettyprint lang-config">ProxySet "ajp://backend:7001" timeout=15</pre>
+
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir
+ différentes significations selon qu'elle s'applique à un
+ répartiteur ou à un serveur cible, et ceci est illustré par les deux
+ exemples précédents où il est question d'un timeout.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxysourceaddress" id="proxysourceaddress">Directive</a> <a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'adresse IP locale pour les connexions mandatées
+sortantes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySourceAddress <var>adresse</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9</td></tr>
+</table>
+ <p>Cette directive permet de définir une adresse IP locale
+ spécifique à laquelle faire référence lors d'une connexion à un
+ serveur d'arrière-plan.</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="proxystatus" id="proxystatus">Directive</a> <a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans
+mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</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">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr>
+</table>
+ <p>Cette directive permet de spécifier si les données d'état du
+ répartiteur de charge du mandataire doivent être affichées via la
+ page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
+ <div class="note"><h3>Note</h3>
+ <p>L'argument <strong>Full</strong> produit le même effet que
+ l'argument <strong>On</strong>.</p>
+ </div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="proxytimeout" id="proxytimeout">Directive</a> <a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes
+mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyTimeout <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet à l'utilisateur de spécifier un délai pour
+ les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur
+ d'applications lent et bogué qui a tendance à se bloquer, et si vous
+ préférez simplement renvoyer une erreur timeout et abandonner la
+ connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur
+ veuille bien répondre.</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="proxyvia" id="proxyvia">Directive</a> <a name="ProxyVia" id="ProxyVia">ProxyVia</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-tête de réponse HTTP
+<code>Via</code> pour les requêtes mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>Cette directive permet de contrôler l'utilisation de l'en-tête
+ HTTP <code>Via:</code> par le mandataire. Le but recherché est de
+ contrôler le flux des requêtes mandatées tout au long d'une chaîne
+ de serveurs mandataires. Voir <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1),
+ section 14.45 pour une description des lignes d'en-tête
+ <code>Via:</code>.</p>
+
+ <ul>
+ <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette
+ directive n'effectue aucun traitement particulier. Si une requête ou
+ une réponse contient un en-tête <code>Via:</code>, il est transmis
+ sans modification.</li>
+
+ <li>Si elle est définie à <code>On</code>, chaque requête ou réponse
+ se verra ajouter une ligne d'en-tête <code>Via:</code> pour le
+ serveur courant.</li>
+
+ <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête
+ <code>Via:</code> se verra ajouter la version du serveur Apache
+ httpd sous la forme d'un champ de commentaire <code>Via:</code>.</li>
+
+ <li>Si elle est définie à <code>Block</code>, chaque requête
+ mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées.
+ Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li>
+ </ul>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_proxy.html.ja.utf8 b/docs/manual/mod/mod_proxy.html.ja.utf8
new file mode 100644
index 0000000..f2779b9
--- /dev/null
+++ b/docs/manual/mod/mod_proxy.html.ja.utf8
@@ -0,0 +1,1274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_proxy - Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.min.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーãƒ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.4</a> &gt; <a href="./">モジュール</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Apache モジュール mod_proxy</h1>
+<div class="toplang">
+<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+<div class="outofdate">ã“ã®æ—¥æœ¬èªžè¨³ã¯ã™ã§ã«å¤ããªã£ã¦ã„ã‚‹
+ å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
+ 最近更新ã•ã‚ŒãŸå†…容を見るã«ã¯è‹±èªžç‰ˆã‚’ã”覧下ã•ã„。
+ </div>
+<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>HTTP/1.1 プロキシ/ゲートウェイサーãƒ</td></tr>
+<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別å­:</a></th><td>proxy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_proxy.c</td></tr></table>
+<h3>概è¦</h3>
+
+ <div class="warning"><h3>警告</h3>
+ <p><a href="#access">サーãƒã‚’安全ã«ã™ã‚‹</a>ã¾ã§ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。
+ オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€
+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚</p>
+ </div>
+
+ <p>ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Apache ã®ãƒ—ロキシ/ゲートウェイ機能を実装ã—ã¦ã„ã¾ã™ã€‚
+ <code>AJP13</code> (Apache JServe Protocol version 1.3),
+ <code>FTP</code>, <code>CONNECT</code> (SSL 用),
+ <code>HTTP/0.9</code>, <code>HTTP/1.0</code>, <code>HTTP/1.1</code>
+ ã®ãƒ—ロキシ機能を実装ã—ã¦ã„ã¾ã™ã€‚ã“れらã®ãƒ—ロトコルやãã®ä»–ã®ãƒ—ロトコル用ã®
+ プロキシ機能をæŒã£ãŸã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«æŽ¥ç¶šã™ã‚‹ã‚ˆã†ã«ã‚‚設定ã§ãã¾ã™ã€‚</p>
+
+ <p>Apache ã®ãƒ—ロキシ機能㯠<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ã®ä»–ã«ã€
+ ã„ãã¤ã‹ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åˆ†å‰²ã•ã‚Œã¦ã„ã¾ã™:
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>, <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>,
+ <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>,
+ <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> ã§ã™ã€‚ã§ã™ã‹ã‚‰ã€
+ 特定ã®ãƒ—ロキシã®æ©Ÿèƒ½ã‚’使ã„ãŸã„å ´åˆã¯ã€<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> <em>ã¨</em>
+ 該当ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã« (コンパイル時ã«é™çš„ã«è¡Œãªã†ã‹
+ <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> ã§å‹•çš„ã«èª­ã¿è¾¼ã‚€ã‹ã—ã¦)
+ 組ã¿è¾¼ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+ <p>ã“ã‚Œã«åŠ ãˆã¦ã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã£ã¦æ‹¡å¼µæ©Ÿèƒ½ãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ キャッシュ㯠<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ã¨é–¢é€£ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§
+ æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚SSL/TLS ã§é éš”サーãƒã«æŽ¥ç¶šã™ã‚‹æ©Ÿèƒ½ã¯
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ã® <code>SSLProxy*</code> ディレクティブã§
+ æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ã“れらã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ãŸã‚ã«ã¯ã€è©²å½“ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’
+ 組ã¿è¾¼ã‚“ã§è¨­å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>トピック</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">フォワードプロキシã¨ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">基本ã®ä¾‹</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#access">プロキシã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">é…ã„èµ·å‹•</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#intranet">イントラãƒãƒƒãƒˆãƒ—ロキシ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">プロトコルã®èª¿æ•´</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">リクエストボディ</a></li>
+</ul><h3 class="directives">ディレクティブ</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
+</ul>
+<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy">Report a bug</a></li></ul><h3>å‚ç…§</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
+<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
+<li><a href="#comments_section">コメント</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="forwardreverse" id="forwardreverse">フォワードプロキシã¨ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシ</a></h2>
+ <p>Apache ã¯<dfn>フォワード</dfn>プロキシã¨ã—ã¦ã‚‚ã€
+ <dfn>リãƒãƒ¼ã‚¹</dfn>プロキシã¨ã—ã¦ã‚‚設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
+
+ <p>通常ã®<dfn>フォワードプロキシ</dfn>ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨
+ <em>オリジンサーãƒ</em> <span class="transnote">(<em>訳注:</em> コンテンツ生æˆå…ƒã®ã‚µãƒ¼ãƒ)</span>
+ ã®é–“ã«ä½ç½®ã™ã‚‹ä¸­é–“サーãƒã§ã™ã€‚
+ オリジンサーãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å–å¾—ã™ã‚‹éŽç¨‹ã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯
+ è¡Œãå…ˆã¨ã—ã¦ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‚’指定ã—ã¤ã¤ãƒ—ロキシã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚Šã€
+ プロキシã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„å–å¾—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚Šã€
+ コンテンツãŒå–å¾—ã§ãã‚Œã°ãれをクライアントã«è¿”ã—ã¾ã™ã€‚
+ クライアントãŒä»–ã®ã‚µã‚¤ãƒˆã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロクシ経由ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€
+ 特別ã«ãれ用ã®è¨­å®šã‚’ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
+
+ <p>フォワードプロキシã®ä¸€èˆ¬çš„ãªä½¿ç”¨æ–¹æ³•ã¯ã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã«ã‚ˆã£ã¦
+ 制é™ã•ã‚Œã¦ã„る内部ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’
+ æä¾›ã™ã‚‹ã‚‚ã®ã§ã™ã€‚フォワードプロキシã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä½¿ç”¨é‡ã‚’
+ 減らã™ãŸã‚ã« (<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ã§æä¾›ã•ã‚Œã¦ã„ã‚‹)
+ キャッシュ機能を用ã„ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚</p>
+
+ <p>フォワードプロキシ㯠<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブã§
+ 有効ã«ãªã‚Šã¾ã™ã€‚フォワードプロキシã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æœ¬å½“ã®èº«å…ƒã‚’
+ éš ã—ã¦ä»»æ„ã®ã‚µã‚¤ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚‹ãŸã‚ã€ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシを
+ 有効ã«ã™ã‚‹å‰ã«ã€æ‰¿èªã•ã‚ŒãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ã¿ãŒãƒ—ロキシã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«
+ <a href="#access">サーãƒã‚’安全ã«ã™ã‚‹</a>ã“ã¨ãŒé‡è¦ã§ã™ã€‚</p>
+
+ <p>一方<dfn>リãƒãƒ¼ã‚¹ãƒ—ロキシ</dfn>ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã¯æ™®é€šã®
+ ウェブサーãƒã®ã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚クライアントå´ã«ç‰¹åˆ¥ãªè¨­å®šã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+ クライアントã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®åå‰ç©ºé–“ã«å¯¾ã—ã¦é€šå¸¸ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¸ã®
+ リクエストを行ãªã„ã¾ã™ã€‚プロキシã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã©ã“ã«é€ã‚Œã°è‰¯ã„ã‹ã‚’判定ã—ã€
+ ã‚ãŸã‹ã‚‚自分自身ãŒã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã§ã‚ã£ãŸã‹ã®ã‚ˆã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«
+ コンテンツを返ã—ã¾ã™ã€‚</p>
+
+ <p>リãƒãƒ¼ã‚¹ãƒ—ロキシã®ã‚ˆãã‚る利用方法ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ¦ãƒ¼ã‚¶ã«
+ ファイアウォールã®ä¸­ã«ã‚るサーãƒã«ã‚¢ã‚¯ã‚»ã‚¹ã‚’与ãˆã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚
+ リãƒãƒ¼ã‚¹ãƒ—ロキシã¯è¤‡æ•°ã®ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸è² è·åˆ†æ•£ã‚’ã™ã‚‹ãŸã‚ã«
+ 使ã£ãŸã‚Šã€é…ã„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã®ãŸã‚ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã‚’æä¾›ã—ãŸã‚Š
+ ã™ã‚‹ãŸã‚ã«ä½¿ãˆã¾ã™ã€‚ã¾ãŸã€ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã¯è¤‡æ•°ã®ã‚µãƒ¼ãƒã‚’
+ åŒã˜ URL 空間ã«ã¾ã¨ã‚ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚</p>
+
+ <p>リãƒãƒ¼ã‚¹ãƒ—ロキシ㯠<code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブや
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブã®
+ <code>[P]</code> フラグを使ã†ã“ã¨ã§æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚リãƒãƒ¼ã‚¹ãƒ—ロキシã®
+ 設定ã®ãŸã‚ã« <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> を設定ã™ã‚‹å¿…è¦ã¯
+ <em>ã‚ã‚Šã¾ã›ã‚“</em>。</p>
+ </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">基本ã®ä¾‹</a></h2>
+
+ <p>以下ã®ä¾‹ã¯æ‰‹å§‹ã‚ã®ç°¡å˜ãªä¾‹ã§ã™ã€‚個々ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æ„味ã¯
+ ãã‚Œãžã‚Œã®èª¬æ˜Žã‚’ãŠèª­ã¿ãã ã•ã„。</p>
+
+ <p>ã¾ãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥æ©Ÿèƒ½ã‚’有効ã«ã—ãŸã„å ´åˆã¯ã€<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+ ã®èª¬æ˜Žã‚’読んã§ãã ã•ã„。</p>
+
+ <div class="example"><h3>フォワードプロキシ</h3><p><code>
+ ProxyRequests On<br />
+ ProxyVia On<br />
+ <br />
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order deny,allow<br />
+ Deny from all<br />
+ Allow from internal.example.com<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <div class="example"><h3>リãƒãƒ¼ã‚¹ãƒ—ロキシ</h3><p><code>
+ ProxyRequests Off<br />
+ <br />
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order deny,allow<br />
+ Allow from all<br />
+ </span>
+ &lt;/Proxy&gt;<br />
+ <br />
+ ProxyPass /foo http://foo.example.com/bar<br />
+ ProxyPassReverse /foo http://foo.example.com/bar
+ </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="access" id="access">プロキシã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡</a></h2>
+ <p>プロキシã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ä»¥ä¸‹ã®ã‚ˆã†ã« <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> コンテナã®ä¸­ã«
+ ディレクティブを書ãã“ã¨ã§åˆ¶å¾¡ã§ãã¾ã™:</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from 192.168.0<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>アクセス制御ã®ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚ˆã‚Šè©³ã—ã„情報ã¯
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ã‚’ãŠèª­ã¿ãã ã•ã„。</p>
+
+ <p>(<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブを
+ 使ã£ã¦) フォワードプロキシを設定ã—ã¦ã„ã‚‹å ´åˆã¯ã€åŽ³ã—ãアクセス
+ 制é™ã‚’è¡Œãªã†ã“ã¨ãŒéžå¸¸ã«å¤§åˆ‡ã§ã™ã€‚ãã†ã—ãªã„ã¨ã€ä»»æ„ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ
+ 身元を明ã‹ã™ã“ã¨ãªãä»»æ„ã®ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ã‚µãƒ¼ãƒã‚’使ã†ã“ã¨ãŒ
+ ã§ãã¦ã—ã¾ã„ã¾ã™ã€‚ã“ã‚Œã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆ
+ 全体ã«ã¨ã£ã¦ã‚‚å±é™ºãªã“ã¨ã§ã™ã€‚(<code>ProxyRequests Off</code> ã«ã—ã¦
+ <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使ã£ã¦)
+ リãƒãƒ¼ã‚¹ãƒ—ロキシを使ã£ã¦ã„ã‚‹å ´åˆã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã‚ãªãŸãŒæ˜Žç¤ºçš„ã«
+ 設定ã—ãŸãƒ›ã‚¹ãƒˆã«ã—ã‹ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„ãŸã‚ã€ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã®ã¨ã
+ ã»ã©ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«åŠ›ã‚’注ãŒãªãã¦ã‚‚大丈夫ã§ã™ã€‚</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">é…ã„èµ·å‹•</a></h2>
+ <p><code class="directive"><a href="#proxyblock">ProxyBlock</a></code> ディレクティブを使ã£ã¦ã„ã‚‹å ´åˆã€
+ 後ã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«èµ·å‹•æ™‚ã«ãƒ›ã‚¹ãƒˆã®
+ IP アドレスãŒèª¿ã¹ã‚‰ã‚Œã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¾ã™ã€‚ホストåã®ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®
+ 速ã•ã«ã‚ˆã£ã¦ã¯ã€æ•°ç§’ (ã‹ãれ以上) ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="intranet" id="intranet">イントラãƒãƒƒãƒˆãƒ—ロキシ</a></h2>
+ <p>イントラãƒãƒƒãƒˆã«ã‚ã‚‹ Apache プロキシサーãƒã¯å¤–部ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
+ 会社ã®ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã‚’通ã—ã¦é€ã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。(ã“ã®ãŸã‚ã«ã¯
+ 個々㮠<var>scheme</var> ã«ã¤ã„ã¦ãã‚Œãžã‚Œã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã®
+ プロキシã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ã‚ˆã†ã«
+ <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブを
+ 設定ã—ã¦ãã ã•ã„)。ã—ã‹ã—イントラãƒãƒƒãƒˆå†…ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ãã¯ã€
+ ファイアウォールを通ã•ãªã„ã§ã‚‚アクセスã§ãã¾ã™ã€‚
+ ã©ã®ãƒ›ã‚¹ãƒˆãŒã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆã«å±žã—ã€ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã¹ãã‹ã‚’指定ã™ã‚‹ã«ã¯ã€
+ <code class="directive"><a href="#noproxy">NoProxy</a></code> ディレクティブãŒ
+ å½¹ã«ç«‹ã¡ã¾ã™ã€‚</p>
+
+ <p>イントラãƒãƒƒãƒˆå†…ã®ãƒ¦ãƒ¼ã‚¶ã¯ WWW ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’
+ çœç•¥ã™ã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚<code>http://somehost.example.com/</code>
+ ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä»£ã‚ã‚Šã« "http://somehost/" をリクエストã—ãŸã‚Šã—ã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘付ã‘ã€ã‚µãƒ¼ãƒã«è¨­å®šã•ã‚Œã¦ã„るローカルドメインãŒ
+ æš—é»™ã®ã†ã¡ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ã¨è§£é‡ˆã—ã¦ã€å˜ç´”ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ã‚‚ã®ã‚‚
+ 商用プロキシサーãƒã®ä¸­ã«ã¯ã‚ã‚Šã¾ã™ã€‚
+ サーãƒãŒ <a href="#proxyrequests">プロキシã®ã‚µãƒ¼ãƒ“ス用ã«è¨­å®šã•ã‚Œã¦ã„ã¦</a>
+ <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> ディレクティブãŒ
+ 使用ã•ã‚ŒãŸå ´åˆã«ã¯ã€Apache ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç­”ã‚’é€ã£ã¦ã€
+ æ­£ã—ã„ã€å®Œå…¨ãª (<span class="transnote">(<em>訳注:</em> fully qualified)</span>)
+ サーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚ˆã†ã«
+ リダイレクトã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ–ックマークãŒæ­£ã—ã„完全ãªãƒ›ã‚¹ãƒˆåã‚’å«ã‚€
+ ã“ã¨ã«ã‚‚ãªã‚‹ãŸã‚ã€ã‚ˆã‚Šå¥½ã¾ã—ã„方法ã¨è¨€ãˆã‚‹ã§ã—ょã†ã€‚</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="envsettings" id="envsettings">プロトコルã®èª¿æ•´</a></h2>
+ <p>Keepalive ã‚„ HTTP/1.1 ã‚’é©åˆ‡ã«å®Ÿè£…ã—ã¦ã„ãªã„アプリケーションサーãƒã«å¯¾ã—ã¦
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹å ´åˆã€
+ HTTP/1.0 を使ã£ã¦ keepalive ã‚’ç„¡ã—ã«ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ã‚ˆã†ã«ã™ã‚‹
+ 環境変数ãŒäºŒã¤ã‚ã‚Šã¾ã™ã€‚ã“れら㯠<code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ディレクティブã§è¨­å®šã—ã¾ã™ã€‚</p>
+
+ <p><code>force-proxy-request-1.0</code> 㨠<code>proxy-nokeepalive</code>
+ ãŒãã®ç’°å¢ƒå¤‰æ•°ã§ã™ã€‚</p>
+
+ <div class="example"><p><code>
+ &lt;Location /buggyappserver/&gt;<br />
+ <span class="indent">
+ ProxyPass http://buggyappserver:7001/foo/<br />
+ SetEnv force-proxy-request-1.0 1<br />
+ SetEnv proxy-nokeepalive 1<br />
+ </span>
+ &lt;/Location&gt;
+ </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="request-bodies" id="request-bodies">リクエストボディ</a></h2>
+
+ <p>POST メソッドãªã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ãŒã‚ã‚Šã¾ã™ã€‚
+ HTTP プロトコル仕様ã«ã‚ˆã‚‹ã¨ã€ãƒœãƒ‡ã‚£ã®ã‚るリクエスト㯠chunked
+ 転é€ã‚’使ã†ã‹ã€<code>Content-Length</code>
+ ヘッダをé€ä¿¡ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’オリジンサーãƒã«é€ä¿¡ã™ã‚‹å ´åˆã€
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ã¯å¸¸ã« <code>Content-Length</code>
+ ã‚’é€ã‚ã†ã¨è©¦ã¿ã¾ã™ã€‚ã—ã‹ã—。ボディãŒå¤§ããã€ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§
+ chunked 転é€ãŒä½¿ã‚ã‚Œã¦ã„ã‚‹å ´åˆã€ä¸Šæµã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«
+ chunked 転é€ã‚‚使ã‚ã‚Œã¾ã™ã€‚
+ ã“ã®æŒ™å‹•ã¯ <a href="../env.html">環境変数</a>ã§åˆ¶å¾¡ã§ãã¾ã™ã€‚
+ <code>proxy-sendcl</code> を設定ã™ã‚‹ã¨ã€å¯èƒ½ãªé™ã‚Šå¸¸ã«
+ <code>Content-Length</code> を付与ã—ã¦ã€
+ 上æµã‚µãƒ¼ãƒã«é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
+ 逆㫠<code>proxy-sendchunked</code> を設定ã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹æ¶ˆè²»ã‚’抑ãˆã€
+ chnked エンコードを使ã£ã¦é€ä¿¡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚</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="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a> <a name="balancergrowth" id="balancergrowth">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Number of additional Balancers that can be added Post-configuration</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerGrowth 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>BalancerGrowth is only available in Apache HTTP Server 2.3.13
+ and later.</td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="BalancerInherit" id="BalancerInherit">BalancerInherit</a> <a name="balancerinherit" id="balancerinherit">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Inherit ProxyPassed Balancers/Workers from the main server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>BalancerInherit is only available in Apache HTTP Server 2.4.5 and later.</td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add a member to a load balancing group</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table><p>Documentation not yet translated. Please see English version of document.</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="BalancerPersist" id="BalancerPersist">BalancerPersist</a> <a name="balancerpersist" id="balancerpersist">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Attempt to persist changes made by the Balancer Manager across restarts.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BalancerPersist Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>BalancerPersist is only available in Apache HTTP Server 2.4.4 and later.</td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>直接接続ã™ã‚‹ ホストã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆä¸­ã® Apache プロキシサーãƒã«ã®ã¿
+ 有用ã§ã™ã€‚<code class="directive">NoProxy</code> ディレクティブã¯ç©ºç™½åŒºåˆ‡ã‚Šã§ã€
+ サブãƒãƒƒãƒˆã€IP アドレスã€ãƒ›ã‚¹ãƒˆã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚
+ ã“れらã®ã©ã‚Œã‹ã«ãƒžãƒƒãƒã™ã‚‹ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ã§è¨­å®šã•ã‚ŒãŸãƒ—ロキシサーãƒã«
+ フォワードã•ã‚Œãšã€ç›´æŽ¥å‡¦ç†ã•ã‚Œã¾ã™ã€‚</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ ProxyRemote * http://firewall.mycompany.com:81<br />
+ NoProxy .mycompany.com 192.168.112.0/21
+ </code></p></div>
+
+ <p><code class="directive">NoProxy</code> ディレクティブ㮠<var>host</var> 引数ã¯
+ 以下ã®ç¨®é¡žã®ã©ã‚Œã‹ã§ã™:</p>
+
+ <dl>
+
+ <dt><var><a name="domain" id="domain">Domain</a></var></dt>
+ <dd>
+ <p><dfn>Domain</dfn> ã¯å…ˆé ­ã«ãƒ”リオドã®ç€ã„ãŸéƒ¨åˆ† DNS ドメインåã§ã™ã€‚
+ åŒä¸€ DNS ドメインåŠã³ã‚¾ãƒ¼ãƒ³ (<em>ã™ãªã‚ã¡</em>ã€ãƒ›ã‚¹ãƒˆåã®æœ«å°¾ãŒã™ã¹ã¦
+ <var>Domain</var> ã§çµ‚ã‚ã£ã¦ã„ã‚‹ã¨ã„ã†ã“ã¨) ã«å±žã™ã‚‹ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆã‚’
+ 表ã—ã¾ã™)。</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ .com .apache.org.
+ </code></p></div>
+
+ <p><var>Domain</var> ã‚’ <a href="#hostname">Hostname</a> ã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã« (æ„味的ã«ã‚‚構文的ã«ã‚‚。DNS ドメインも
+ DNS ã® A レコードをæŒã¤ã“ã¨ãŒã§ãã‚‹ã®ã§ã™!)ã€<var>Domain</var> ã¯
+ 常ã«ãƒ”リオドã§å§‹ã¾ã‚Šã¾ã™ã€‚</p>
+
+ <div class="note"><h3>注</h3>
+ <p>ドメインåã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«è¡Œãªã‚ã‚Œã€<var>Domain</var>
+ ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€
+ 次ã®äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ <code>.MyDomain.com</code> ã¨
+ <code>.mydomain.com.</code> (最後ã®ãƒ”リオドã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚ã‚‹ã¨
+ ã¿ãªã•ã‚Œã¾ã™ã€‚ドメインã®æ¯”較㯠DNS ルックアップãªã—ã§è¡Œãªã‚れるãŸã‚ã€
+ サブãƒãƒƒãƒˆã®æ¯”較よりもãšã£ã¨åŠ¹çŽ‡çš„ã§ã™ã€‚</p>
+ </div></dd>
+
+
+ <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
+ <dd>
+ <p><dfn>SubNet</dfn> ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å­—) ã®
+ 部分インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚後ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ <var>Subnet</var>
+ ã®æ„味ã®ã‚るビット数を指定ã™ã‚‹ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¨ã‚’続ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 共通ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‚’使ã£ã¦åˆ°é”ã™ã‚‹ã“ã¨ã®ã§ãるサブãƒãƒƒãƒˆã‚’
+ 表ã™ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚明示的ã«ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã‚’指定ã—ãªã„å ´åˆã¯
+ 最後ã®çœç•¥ã•ã‚ŒãŸ (ã‚‚ã—ãã¯å€¤ãŒ 0 ã®) æ•°å­—ãŒãƒžã‚¹ã‚¯ã‚’指定ã—ã¾ã™ã€‚
+ (ã“ã®å ´åˆã¯ã€ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¯ 8 ビットå˜ä½ã§ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。)
+ 例:</p>
+
+ <dl>
+ <dt><code>192.168</code> ã‚‚ã—ã㯠<code>192.168.0.0</code></dt>
+ <dd>サブãƒãƒƒãƒˆ 192.168.0.0 ã¨æš—黙㮠16 ビット有効ãªãƒãƒƒãƒˆãƒžã‚¹ã‚¯
+ (<code>255.255.0.0</code> ã¨ã„ã†ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã®å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚
+ ã‚ã‚Šã¾ã™)</dd>
+ <dt><code>192.168.112.0/21</code></dt>
+ <dd>サブãƒãƒƒãƒˆ<code>192.168.112.0/21</code> 㨠21 ビット有効ãª
+ ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ (<code>255.255.248.0</code> ã¨ã„ã†å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚
+ ã‚ã‚Šã¾ã™)</dd>
+ </dl>
+
+ <p>特別ãªå ´åˆã«ã€32 ビット有効㪠<em>SubNet</em> ã¯
+ <var><a href="#ipadr">IPAddr</a></var> ã¨åŒç­‰ã§ã€
+ 0 ビット有効㪠<var>SubNet</var> (<em>例ãˆã°</em>ã€0.0.0.0/0) ã¯
+ ã™ã¹ã¦ã® IP アドレスã«ãƒžãƒƒãƒã™ã‚‹å®šæ•° <var>_Default_</var> ã¨åŒã˜ã§ã™ã€‚</p>
+ </dd>
+
+
+ <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
+ <dd>
+ <p><dfn>IPAddr</dfn> ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å­—) ã®
+ 完全インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚通常ã¯ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ãƒ›ã‚¹ãƒˆã‚’
+ 表ã—ã¾ã™ãŒã€å¿…ãšã—もアドレスã«å¯¾å¿œã™ã‚‹ DNS ドメインåãŒã‚ã‚‹ã‚ã‘ã§ã¯
+ ã‚ã‚Šã¾ã›ã‚“。</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ 192.168.123.7
+ </code></p></div>
+
+ <div class="note"><h3>注</h3>
+ <p><var>IPAddr</var> 㯠DNS システムã«ã‚ˆã‚Šè§£æ±ºã•ã‚Œã‚‹å¿…è¦ãŒãªã„ã®ã§ã€
+ apache ã®æ€§èƒ½ãŒå‘上ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</p>
+ </div></dd>
+
+
+ <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
+ <dd>
+ <p><dfn>Hostname</dfn> 㯠DNS ドメインサービスã«ã‚ˆã‚Šä¸€ã¤ã‚‚ã—ãã¯
+ 複数㮠<var><a href="#ipaddr">IPAddr</a></var> ã«è§£æ±ºå¯èƒ½ãª
+ 完全㪠DNS ドメインåã§ã™ã€‚ã“れ㯠(<var><a href="#domain">Domain</a></var>
+ ã¨é•ã£ã¦ã€èª¬æ˜Žã¯ä¸Šè¨˜ã‚’å‚ç…§) è«–ç†çš„ãªãƒ›ã‚¹ãƒˆã‚’表ã—ã€å°‘ãã¨ã‚‚一ã¤ã®
+ <var><a href="#ipaddr">IPAddr</a></var> (ã‚‚ã—ãã¯é•ã†
+ <var><a href="#ipaddr">IPAddr</a></var> ã®ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆ) ã«è§£æ±º
+ ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“)。</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ prep.ai.mit.edu<br />
+ www.apache.org
+ </code></p></div>
+
+ <div class="note"><h3>注</h3>
+ <p>多ãã®å ´åˆã€<var>Hostname</var> ã®ä»£ã‚ã‚Šã« <var><a href="#ipaddr">IPAddr</a></var> を指定ã—ãŸæ–¹ãŒã€DNS ルックアップを
+ é¿ã‘ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€åŠ¹çŽ‡ãŒè‰¯ããªã‚Šã¾ã™ã€‚Apache ã®åå‰è§£æ±ºã¯
+ ãƒãƒ¼ãƒ ã‚µãƒ¼ãƒã¸ã®æŽ¥ç¶šãŒé…ã„ PPP 上ã®å ´åˆãªã©ã«ã‹ãªã‚Šæ™‚é–“ã‚’å–られる
+ ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚</p>
+ <p><var>Hostname</var> ã®æ¯”較ã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã›ãšã«è¡Œãªã‚ã‚Œã€
+ <var>Hostname</var> ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚
+ ã§ã™ã‹ã‚‰ã€äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ <code>WWW.MyDomain.com</code> ã¨
+ <code>www.mydomain.com.</code> (最後ã®ãƒ”リオドã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚ã‚‹ã¨
+ ã¿ãªã•ã‚Œã¾ã™ã€‚</p>
+ </div></dd>
+ </dl>
+
+<h3>å‚ç…§</h3>
+<ul>
+<li><a href="../dns-caveats.html">DNS ã«é–¢ã™ã‚‹å•é¡Œ</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Proxy" id="Proxy">&lt;Proxy&gt;</a> <a name="proxy" id="proxy">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚Œã‚‹ãƒªã‚½ãƒ¼ã‚¹ã«é©ç”¨ã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠ</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">&lt;Proxy&gt;</code> セクション中ã®
+ ディレクティブã¯ãƒžãƒƒãƒã™ã‚‹ãƒ—ロキシã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«ã®ã¿é©ç”¨ã•ã‚Œã¾ã™ã€‚
+ シェル形å¼ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒä½¿ãˆã¾ã™ã€‚</p>
+
+ <p>例ãˆã°ã€æ¬¡ã®è¨­å®šã¯ <code>yournetwork.example.com</code> ã®
+ ホストã«ã®ã¿ãƒ—ロキシサーãƒã‚’経由ã—ãŸã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—ã¾ã™:</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy *&gt;<br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from yournetwork.example.com<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p>次ã®ä¾‹ã¯ <code>example.com</code> ã® <code>foo</code> ディレクトリã®
+ ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã¦ã€ãƒ—ロキシサーãƒã‚’通ã—ã¦é€ã‚‰ã‚ŒãŸã¨ãã«ã¯
+ <code>INCLUDES</code> フィルタを通ã—ã¦é€ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¾ã™:</p>
+
+ <div class="example"><p><code>
+ &lt;Proxy http://example.com/foo/*&gt;<br />
+ <span class="indent">
+ SetOutputFilter INCLUDES<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a> <a name="proxyaddheaders" id="proxyaddheaders">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Add proxy information in X-Forwarded-* headers</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in version 2.3.10 and later</td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a> <a name="proxybadheader" id="proxybadheader">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>応答ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>2.0.44 以é™</td></tr>
+</table>
+ <p><code class="directive">ProxyBadHeader</code> ディレクティブã¯æ§‹æ–‡çš„ã«
+ é–“é•ã£ãŸãƒ˜ãƒƒãƒ€ (<em>ã¤ã¾ã‚Š</em> コロンをå«ã¾ãªã„ã‚‚ã®) ã‚’å—ã‘å–ã£ãŸã¨ãã«
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ãŒã©ã†æŒ¯ã‚‹èˆžã†ã‹ã‚’決ã‚ã¾ã™ã€‚以下ã®å¼•æ•°ã‚’
+ å–ã‚‹ã“ã¨ãŒã§ãã¾ã™:</p>
+
+ <dl>
+ <dt><code>IsError</code></dt>
+ <dd>リクエストを中止ã—㦠502 (Bad Gateway) 応答を返ã™ã€‚
+ ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã§ã™ã€‚</dd>
+
+ <dt><code>Ignore</code></dt>
+ <dd>é–“é•ã£ãŸãƒ˜ãƒƒãƒ€è¡Œã‚’ãã‚‚ãも存在ã—ãªã‹ã£ãŸã‚‚ã®ã¨ã—ã¦æ‰±ã†ã€‚</dd>
+
+ <dt><code>StartBody</code></dt>
+ <dd>é–“é•ã£ãŸãƒ˜ãƒƒãƒ€è¡Œã‚’å—ã‘å–ã£ãŸã‚‰ã€ãƒ˜ãƒƒãƒ€ã®èª­ã¿è¾¼ã¿ã‚’終了ã—ã¦ã€
+ ãれ以é™ã®æ®‹ã‚Šã‚’ボディã¨ã—ã¦æ‰±ã†ã€‚ã“ã‚Œã¯ãƒ˜ãƒƒãƒ€ã¨ãƒœãƒ‡ã‚£ã®é–“ã«ç©ºè¡Œã‚’入れ忘れã¦
+ ã—ã¾ã£ã¦ã„るよã†ãªã€ãã¡ã‚“ã¨å‹•ä½œã—ã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒã‚ã‚‹ã¨ãã«ã€
+ å•é¡Œã‚’回é¿ã™ã‚‹ã®ã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚</dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a> <a name="proxyblock" id="proxyblock">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシ接続をç¦æ­¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
+[<var>word</var>|<var>host</var>|<var>domain</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">ProxyBlock</code> ディレクティブã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ
+ 語å¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚サイトåã«ãã®èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€
+ ドメインをå«ã‚€ã‚µã‚¤ãƒˆã¸ã® HTTPã€HTTPSã€FTP ã«ã‚ˆã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
+ プロキシサーãƒã«ã‚ˆã‚Š<em>ブロックã•ã‚Œã¾ã™</em>。プロキシモジュールã¯
+ 起動時ã«ãƒ›ã‚¹ãƒˆåã¨æ€ã—ã項目㮠IP アドレスを調ã¹ã€å¾Œã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«
+ キャッシュã—ã¾ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ã‚µãƒ¼ãƒã®èµ·å‹•ãŒå°‘ã—é…ããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
+ </code></p></div>
+
+ <p><code>rocky.wotsamattau.edu</code> ㌠IP アドレスã§å‚ç…§ã•ã‚ŒãŸã¨ãã§ã‚‚
+ マッãƒã—ã¾ã™ã€‚</p>
+
+ <p><code>wotsamattau.edu</code> ã®ãƒžãƒƒãƒã«ã¯ <code>wotsamattau</code>
+ ã ã‘ã§ã‚‚å分ã§ã™ã€‚</p>
+
+ <div class="example"><p><code>
+ ProxyBlock *
+ </code></p></div>
+
+ <p>ã¯ã™ã¹ã¦ã®ã‚µã‚¤ãƒˆã¸ã®æŽ¥ç¶šã‚’ブロックã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。</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="ProxyDomain" id="ProxyDomain">ProxyDomain</a> <a name="proxydomain" id="proxydomain">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³å</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyDomain <var>Domain</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆå†…ã® Apache プロキシサーãƒã«ã®ã¿
+ 有用ã§ã™ã€‚<code class="directive">ProxyDomain</code> ディレクティブã¯
+ apache プロキシサーãƒãŒå±žã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã—ã¾ã™ã€‚
+ ドメインåã®ç„¡ã„リクエストをå—ã‘ãŸå ´åˆã€è¨­å®šã•ã‚ŒãŸ <var>Domain</var>
+ ãŒè¿½åŠ ã•ã‚ŒãŸåŒã˜ãƒ›ã‚¹ãƒˆã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç­”ãŒè¿”ã•ã‚Œã¾ã™ã€‚</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ ProxyRemote * http://firewall.mycompany.com:81<br />
+ NoProxy .mycompany.com 192.168.112.0/21<br />
+ ProxyDomain .mycompany.com
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride" id="proxyerroroverride">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.0 以é™ã§ä½¿ç”¨å¯èƒ½</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシを使用ã—ã¦ã„ã¦ã€
+ エンドユーザã«é€ã‚‰ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã®å¤–見を共通ã®ã‚‚ã®ã«ã—ãŸã„ã¨ãã«
+ 有用ã§ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠(<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ã® SSI ã«ã‚ˆã£ã¦)
+ インクルードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã—ã¦ã€æ­£ã—ã動作を
+ ã™ã‚‹ã‚ˆã†ã«ã‚‚ã—ã¾ã™ (デフォルトã®å‹•ä½œã¯ã€ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã®
+ エラーページã®è¡¨ç¤ºã§ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を有効ã«ã™ã‚‹ã¨ SSI ã®ã‚¨ãƒ©ãƒ¼
+ メッセージを表示ã—ã¾ã™)。</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="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a> <a name="proxyiobuffersize" id="proxyiobuffersize">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyIOBufferSize <var>bytes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">ProxyIOBufferSize</code> ディレクティブã¯å…¥åŠ›ã¨
+ 出力用ã®ä¸€æ™‚メモリã¨ã—ã¦ä½¿ã‚れる内部ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’調整ã—ã¾ã™ã€‚
+ サイズ㯠<code>8192</code> 以下ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
+
+ <p>ã»ã¨ã‚“ã©ã™ã¹ã¦ã®å ´åˆã€ã“ã®å€¤ã‚’変更ã™ã‚‹ç†ç”±ã¯ã‚ã‚Šã¾ã›ã‚“。</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="ProxyMatch" id="ProxyMatch">&lt;ProxyMatch&gt;</a> <a name="proxymatch" id="proxymatch">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒ—ロキシリソース用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–コンテナ</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">&lt;ProxyMatch&gt;</code> 㯠URL ã®ãƒžãƒƒãƒã«
+ <a class="glossarylink" href="../glossary.html#regex" title="用語集をå‚ç…§">æ­£è¦è¡¨ç¾</a> を用ã„ã‚‹ã“ã¨ã‚’除ã„ã¦
+ <code class="directive">&lt;Proxy&gt;</code> ディレクティブã¨åŒã˜ã§ã™ã€‚</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="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards" id="proxymaxforwards">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストãŒãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã‚‹ãƒ—ロキシã®æœ€å¤§æ•°</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyMaxForwards <var>number</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyMaxForwards 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½</td></tr>
+</table>
+ <p><code class="directive">ProxyMaxForwards</code> ディレクティブã¯
+ リクエスト㫠<code>Max-Forwards</code> ヘッダãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„å ´åˆã«
+ リクエストãŒé€šéŽå¯èƒ½ãªãƒ—ロキシã®æœ€å¤§æ•°ã‚’設定ã—ã¾ã™ã€‚ã“ã‚Œã¯
+ プロキシã®ç„¡é™ãƒ«ãƒ¼ãƒ—ã‚„ DoS 攻撃を防ããŸã‚ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ ProxyMaxForwards 15
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リモートサーãƒã‚’ローカルサーãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã‚’ローカルサーãƒã®åå‰ç©ºé–“ã«
+ マップã§ãるよã†ã«ã—ã¾ã™ã€‚ローカルサーãƒã¯é€šå¸¸ã®æ„味ã§ã®ãƒ—ロキシã¨
+ ã—ã¦ã¯å‹•ä½œã›ãšã€ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã®ãƒŸãƒ©ãƒ¼ã¨ã—ã¦æŒ¯ã‚‹èˆžã„ã¾ã™ã€‚
+ <var>path</var> ã¯ãƒ­ãƒ¼ã‚«ãƒ«ã®ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚<var>url</var> ã¯
+ リモートサーãƒã®éƒ¨åˆ† URL ã«ãªã‚Šã€ã‚¯ã‚¨ãƒªãƒ¼æ–‡å­—列をå«ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“。</p>
+
+ <div class="warning"><code class="directive">ProxyPass</code> ディレクティブを
+ 使ã£ã¦ã„ã‚‹ã¨ã㯠<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブã¯é€šå¸¸ã¯
+ <strong>off</strong> ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¹ãã§ã™ã€‚</div>
+
+ <p>ローカルサーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ <code>http://example.com/</code> ã§ã‚ã‚‹ã¨
+ ã—ã¾ã™ã€‚ã™ã‚‹ã¨ã€</p>
+
+ <div class="example"><p><code>
+ ProxyPass /mirror/foo/ http://backend.example.com/
+ </code></p></div>
+
+ <p>ã¨è¨­å®šã™ã‚‹ã¨ <code>http://example.com/mirror/foo/bar</code> ã¸ã®
+ リクエストãŒå†…部的㫠<code>http://backend.example.com/bar</code> ã¸ã®
+ プロキシリクエストã«å¤‰æ›ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚</p>
+
+ <p>サブディレクトリをリãƒãƒ¼ã‚¹ãƒ—ロキシã—ãŸããªã„ã¨ãã« <code>!</code> ã¯
+ å½¹ã«ç«‹ã¡ã¾ã™ã€‚<em>例ãˆã°</em>ã€</p>
+
+ <div class="example"><p><code>
+ ProxyPass /mirror/foo/i !<br />
+ ProxyPass /mirror/foo http://backend.example.com
+ </code></p></div>
+
+ <p>㯠<code>/mirror/foo/i</code> ã‚’<em>除ã</em>
+ <code>/mirror/foo</code> ã¸ã®ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
+ <code>backend.example.com</code> ã«ãƒ—ロキシã—ã¾ã™ã€‚</p>
+
+ <div class="note"><h3>注</h3>
+ <p>順番ã¯é‡è¦ã§ã™ã€‚一般的㪠<code class="directive">ProxyPass</code>
+ ディレクティブã®<em>å‰ã«</em>
+ 除外ディレクティブを置ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p>
+ </div>
+
+ <p>2.1 ã®æ©Ÿèƒ½ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šã«ãƒ—ールã•ã‚ŒãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ 使ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚<code>key=value</code> å½¢å¼ã®ãƒ‘ラメータã§
+ ã“ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングã®èª¿æ•´ãŒã§ãã¾ã™ã€‚<code>Hard Maximum</code>
+ ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ã€æœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ MPM ã§ã®ãƒ—ロセス当ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã¨
+ åŒã˜æ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³æ•°ã§ã™ã€‚prefork MPM ã§ã¯é€šå¸¸ã¯ 1 ã§ã€worker MPM ã§ã¯
+ <code class="directive">ThreadsPerChild</code> ã§èª¿æ•´ã•ã‚Œã¾ã™ã€‚</p>
+
+ <p><code>min</code> ã®è¨­å®šã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®é–“ã«ä½•æœ¬ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ 常時開ãã‹ãŒæ±ºã¾ã‚Šã¾ã™ã€‚Soft Maximum <code>smax</code> ã®æ•°ã«
+ é”ã™ã‚‹ã¾ã§å¿…è¦ã«å¿œã˜ã¦ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ç”Ÿæˆã•ã‚Œã¾ã™ã€‚<code>smax</code>
+ を超ãˆãŸæ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ç”Ÿå­˜æ™‚é–“ <code>ttl</code> ã§åˆ‡æ–­ã•ã‚Œã¾ã™ã€‚
+ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ Hard Maximum <code>max</code> ã®æ•°ä»¥ä¸Šã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ 生æˆã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。</p>
+
+ <div class="example"><p><code>
+ ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
+ </code></p></div>
+
+ <table>
+ <tr><th>パラメータ</th>
+ <th>デフォルト値</th>
+ <th>説明</th></tr>
+ <tr><td>min</td>
+ <td>0</td>
+ <td>ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šã§
+ 常ã«é–‹ã„ã¦ã„るコãƒã‚¯ã‚·ãƒ§ãƒ³æ•°ã®æœ€å°å€¤</td></tr>
+ <tr><td>max</td>
+ <td>1...n</td>
+ <td>ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šæ•°ã® Hard Maximum
+ <span class="transnote">(<em>訳注:</em> ãƒãƒ¼ãƒ‰ãƒªãƒŸãƒƒãƒˆ)</span>。
+ デフォルト値ã¯ã€ä½¿ç”¨ã—ã¦ã„ã‚‹ MPM ã®ãƒ—ロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã«ãªã£ã¦ã„ã¾ã™ã€‚
+ Prefork MPM ã§ã¯å¸¸ã« 1 ã§ã€Worker MPM ã§ã¯ <code class="directive">ThreadsPerChild</code>
+ ã§èª¿ç¯€ã§ãã¾ã™ã€‚Hard Maximum 以上ã«ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ 生æˆã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。</td></tr>
+ <tr><td>smax</td>
+ <td>max</td>
+ <td>接続数㮠Soft Maximum <span class="transnote">(<em>訳注:</em> ソフトリミット)</span>ã¾ã§ã€
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯å¿…è¦ã«å¿œã˜ã¦ç”Ÿæˆã•ã‚Œã¾ã™ã€‚
+ <code>smax</code> を超ãˆãŸæ•°ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ç”Ÿå­˜æ™‚é–“ <code>ttl</code>
+ ã§åˆ‡æ–­ã•ã‚Œã¾ã™ã€‚
+ </td></tr>
+ <tr><td>ttl</td>
+ <td>-</td>
+ <td><code>smax</code> 数を超ãˆãŸéžæ´»å‹•çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ç”Ÿå­˜æ™‚é–“ã‚’ã€
+ 秒ã§æŒ‡å®šã—ã¾ã™ã€‚ã“ã®æœŸé–“内ã«ä½¿ç”¨ã•ã‚Œãªã‹ã£ãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€
+ å…¨ã¦é–‰ã˜ã‚‰ã‚Œã¾ã™ã€‚
+ </td></tr>
+ <tr><td>timeout</td>
+ <td><code class="directive">Timeout</code></td>
+ <td>コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§æŒ‡å®šã—ã¾ã™ã€‚特ã«æŒ‡å®šã•ã‚Œãªã‘ã‚Œã°ã€
+ フリーãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã§ãã‚‹ã¾ã§å¾…ã¡ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
+ <code>max</code> パラメータã¨åˆã‚ã›ã¦ä½¿ã†ã“ã¨ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®
+ 接続数を制御ã™ã‚‹ã®ã«ä½¿ã„ã¾ã™ã€‚
+ </td></tr>
+ <tr><td>acquire</td>
+ <td>-</td>
+ <td>設定ã™ã‚‹ã¨ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã‹ã‚‰ãƒ•ãƒªãƒ¼ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ãŸã‚ã«
+ å¾…æ©Ÿã™ã‚‹å¾…ã¡æ™‚é–“ã®æœ€å¤§å€¤ã«ãªã‚Šã¾ã™ã€‚フリーã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒãƒ—ールã«ãªã‹ã£ãŸå ´åˆã¯ã€
+ <code>SERVER_BUSY</code> ステータスãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¿”ã•ã‚Œã¾ã™ã€‚
+ </td></tr>
+ <tr><td>keepalive</td>
+ <td>Off</td>
+ <td>ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ Apache ã®é–“ã«ãƒ•ã‚¡ã‚¤ã‚¢ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«ãŒã‚ã‚‹å ´åˆã«ã¯ã€
+ ã“ã®ãƒ‘ラメータを使ã£ã¦ãã ã•ã„。ファイアウォールã¯å¾€ã€…ã«ã—ã¦ã€
+ éžæ´»å‹•çŠ¶æ…‹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’è½ã¨ãã†ã¨ã—ã¾ã™ã€‚
+ ã“ã®ãƒ•ãƒ©ã‚°ã¯ OS ã«æŒ‡ç¤ºã—ã¦ã€<code>KEEP_ALIVE</code> メッセージをéžæ´»å‹•çŠ¶æ…‹ã®
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã§ã‚‚é€ã‚‹ã‚ˆã†ã«ã—ã¾ã™ (間隔㯠OS ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®šã«ä¾å­˜ã—ã€
+ 通常㯠120ms é–“éš”) 。ã“ã‚Œã«ã‚ˆã£ã¦ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã«ã‚ˆã£ã¦ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒ
+ è½ã¨ã•ã‚Œã‚‹ã“ã¨ã‚’防ã’ã¾ã™ã€‚keepalive を有効ã«ã™ã‚‹ã«ã¯ã€ã“ã®ãƒ—ロパティを
+ <code>On</code> ã«ã—ã¦ãã ã•ã„。
+ </td></tr>
+ <tr><td>retry</td>
+ <td>60</td>
+ <td>コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’プーリングã™ã‚‹ãŸã‚ã®ã€ãƒªãƒˆãƒ©ã‚¤ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§
+ 指定ã—ã¾ã™ã€‚ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングãŒå¤±æ•—ã—ãŸå ´åˆã¯ã€
+ タイムアウトã®æœŸé–“ãŒéŽãŽã‚‹ã¾ã§ã€ãã®ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’フォワードã—ã¾ã›ã‚“。
+ ã“ã®æ©Ÿèƒ½ã‚’使ã†ã¨ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã‚’メンテナンスã®ãŸã‚ã«ã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã—ã€
+ 後ã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã«å¾©å¸°ã•ã›ã‚‹ã¨ã„ã£ãŸã“ã¨ãŒã§ãã¾ã™ã€‚
+ </td></tr>
+ <tr><td>loadfactor</td>
+ <td>1</td>
+ <td>ワーカーã‚ãŸã‚Šã®è² è·ä¿‚æ•°ã§ã™ã€‚BalancerMember ã§ä½¿ã„ã¾ã™ã€‚
+ 1 ã‹ã‚‰ 100 ã¾ã§ã®æ•°å­—ã§ãã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã™ã‚‹æ­£è¦åŒ–ã•ã‚ŒãŸè² è·çŽ‡ã‚’指定ã—ã¾ã™ã€‚
+ </td></tr>
+ <tr><td>route</td>
+ <td>-</td>
+ <td>ロードãƒãƒ©ãƒ³ã‚µã§ä½¿ã£ãŸå ´åˆã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã®ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚’ã—ã¾ã™ã€‚
+ ルートã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ ID ã«ä»˜åŠ ã•ã‚ŒãŸå€¤ã«ãªã‚Šã¾ã™ã€‚
+ </td></tr>
+ <tr><td>redirect</td>
+ <td>-</td>
+ <td>ワーカーã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³çµŒè·¯ã§ã™ã€‚ã“ã®å€¤ã¯é€šå¸¸ã¯ã€
+ 安全ã«ã‚¯ãƒ©ã‚¹ã‚¿ã‹ã‚‰ãƒŽãƒ¼ãƒ‰ã‚’å–り去る設定を動的ã«å…¥ã‚Œã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚
+ セッション ID ã®ç„¡ã„リクエスト全ã¦ã‚’指定ã—ãŸå ´åˆã¯ã€
+ ã“ã®å€¤ã¨åŒã˜ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãƒ‘ラメータをæŒã¤
+ BalancerMember ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã™ã€‚
+ </td></tr>
+
+ </table>
+
+ <p>Proxy ディレクティブã®ã‚¹ã‚­ãƒ¼ãƒ ãŒ <code>balancer://</code> ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€
+ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨å®Ÿéš›ã«ã¯é€šä¿¡ã—ãªã„仮想ワーカーãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚
+ ã“ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯å¹¾ã¤ã‹ã® "本物ã®" ワーカーã®ç®¡ç†ã‚’ã¤ã‹ã•ã©ã‚Šã¾ã™ã€‚
+ ã“ã®å ´åˆãƒ‘ラメータã¯ã€ã“ã®ä»®æƒ³ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã—ã¦è¨­å®šã•ã‚Œã¾ã™ã€‚
+ </p>
+ <table>
+ <tr><th>パラメータ</th>
+ <th>デフォルト値</th>
+ <th>説明</th></tr>
+ <tr><td>lbmethod</td>
+ <td>-</td>
+ <td>Balancer ã®ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹æ–¹æ³•ã€‚使用ã™ã‚‹ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹ã®
+ スケジューリング方法をé¸ã³ã¾ã™ã€‚処ç†ã—ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹
+ <code>byrequests</code> ã‹ã€è»¢é€é‡ã®ãƒã‚¤ãƒˆæ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹
+ <code>bytraffic</code> を設定ã§ãã¾ã™ã€‚デフォルトã¯
+ <code>byrequests</code> ã§ã™ã€‚
+ </td></tr>
+ <tr><td>stickysession</td>
+ <td>-</td>
+ <td>ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¹ãƒ†ã‚£ãƒƒã‚­ãƒ¼ã‚»ãƒƒã‚·ãƒ§ãƒ³åã§ã™ã€‚通常ã¯ã“ã®å€¤ã¯ <code>JSESSIONID</code>
+ ã‚„ <code>PHPSESSIONID</code> ã¨ã„ã£ãŸã‚‚ã®ã«ãªã‚Šã¾ã™ãŒã€ã“ã®å€¤ã¯
+ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¢ãƒ—リケーションã®ã‚µãƒãƒ¼ãƒˆã™ã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ä¾å­˜ã—ã¾ã™ã€‚
+ </td></tr>
+ <tr><td>nofailover</td>
+ <td>Off</td>
+ <td><code>On</code> ã«ãªã£ã¦ã„ã‚‹ã¨ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã—ãŸã‚Š
+ 無効ã«ãªã£ã¦ã„ã‚‹å ´åˆã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒåˆ‡ã‚Œã¾ã™ã€‚
+ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ¬ãƒ—リケーションをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å ´åˆã¯ã€
+ On ã«ã—ã¦ãã ã•ã„。
+ </td></tr>
+ <tr><td>timeout</td>
+ <td>0</td>
+ <td>ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§æŒ‡å®šã—ã¾ã™ã€‚
+ ã“ã®å€¤ã‚’設定ã™ã‚‹ã¨ã€ãƒ•ãƒªãƒ¼ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’å–å¾—ã™ã‚‹ã¾ã§ã®æœ€å¤§å¾…機時間ã«ãªã‚Šã¾ã™ã€‚
+ デフォルトã§ã¯å¾…æ©Ÿã—ã¾ã›ã‚“。
+ </td></tr>
+ <tr><td>maxattempts</td>
+ <td>1</td>
+ <td>フェイルオーãƒãƒ¼ã‚’試ã¿ã‚‹æœ€å¤§ã®å›žæ•°ã‚’指定ã—ã¾ã™ã€‚
+ </td></tr>
+
+ </table>
+ <div class="example"><p><code>
+ ProxyPass /special-area http://special.example.com/ smax=5 max=10<br />
+ ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On<br />
+ &lt;Proxy balancer://mycluster&gt;<br />
+ <span class="indent">
+ BalancerMember http://1.2.3.4:8009<br />
+ BalancerMember http://1.2.3.5:8009 smax=10<br />
+ # Less powerful server, don't send as many requests there<br />
+ BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
+ </span>
+ &lt;/Proxy&gt;
+ </code></p></div>
+
+ <p><code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> セクションã®ä¸­ã§ä½¿ã‚ã‚ŒãŸå ´åˆã€æœ€åˆã®å¼•æ•°ã¯
+ çœç•¥ã•ã‚Œã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ã‹ã‚‰å–å¾—ã•ã‚Œã¾ã™ã€‚</p>
+
+ <p>より柔軟ãªãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šãŒå¿…è¦ãªå ´åˆã¯ã€<code>[P]</code>
+ フラグ付ãã® <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。</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="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a> <a name="proxypassinherit" id="proxypassinherit">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Inherit ProxyPass directives defined from the main server</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyPassInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later.
+ </td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a> <a name="proxypassinterpolateenv" id="proxypassinterpolateenv">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable Environment Variable interpolation in Reverse Proxy configurations</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table><p>Documentation not yet translated. Please see English version of document.</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="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a> <a name="proxypassmatch" id="proxypassmatch">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maps remote servers into the local server URL-space using regular expressions</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table><p>Documentation not yet translated. Please see English version of document.</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="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リãƒãƒ¼ã‚¹ãƒ—ロキシã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP 応答ヘッダã®
+URL を調整ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverse [<var>path</var>] <var>url</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache ã« HTTP リダイレクト応答ã®
+ <code>Location</code>, <code>Content-Location</code>, <code>URI</code>
+ ヘッダã®èª¿æ•´ã‚’ã•ã›ã¾ã™ã€‚ã“ã‚Œã¯ã€Apache ãŒãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã¨ã—ã¦ä½¿ã‚ã‚Œã¦ã„ã‚‹
+ ã¨ãã«ã€ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシを通ã•ãªã„ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’防ããŸã‚ã«
+ é‡è¦ã§ã™ã€‚ã“ã‚Œã«ã‚ˆã‚Šãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã® HTTP リダイレクトãŒ
+ リãƒãƒ¼ã‚¹ãƒ—ロキシã¨ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®é–“ã§æ‰±ã‚れるよã†ã«ãªã‚Šã¾ã™ã€‚</p>
+
+ <p>ディレクティブã§æ˜Žç¤ºã•ã‚Œã¦ã„ã‚‹ HTTP 応答ヘッダã®ã¿ãŒæ›¸ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚
+ Apache ã¯ä»–ã®å¿œç­”ヘッダを書ãæ›ãˆãŸã‚Šã€HTML ページã®ä¸­ã® URL å‚照を
+ 書ãæ›ãˆãŸã‚Šã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。HTML ã®ä¸­ã‚’見ã¦ã€URL å‚照を書ãæ›ãˆã‚‹
+ モジュール㫠Nick Kew ã•ã‚“ã® <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a> ãŒã‚ã‚Šã¾ã™ã€‚</p>
+
+ <p><var>path</var> ã¯ãƒ­ãƒ¼ã‚«ãƒ«ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚<var>url</var> ã¯
+ リモートサーãƒã®éƒ¨åˆ† URL ã§ã™ã€‚ã“れら㯠<code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブã¨åŒæ§˜ã§ã™ã€‚</p>
+
+ <p>例ãˆã°ã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ <code>http://example.com/</code>
+ ã ã¨ã—ã¾ã™ã€‚ã™ã‚‹ã¨</p>
+
+ <div class="example"><p><code>
+ ProxyPass /mirror/foo/ http://backend.example.com/<br />
+ ProxyPassReverse /mirror/foo/ http://backend.example.com/<br />
+ ProxyPassReverseCookieDomain backend.example.com public.example.com<br />
+ ProxyPassReverseCookiePath / /mirror/foo/
+ </code></p></div>
+
+ <p>ã¨ã„ã†è¨­å®šã‚’ã™ã‚‹ã¨ã€<code>http://example.com/mirror/foo/bar</code>
+ ã¸ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ <code>http://backend.example.com/bar</code>
+ ã¸ã®ãƒ—ロキシリクエストã«å†…部ã§ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã‚‹ã ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“
+ (ã“れ㯠<code>ProxyPass</code> ã®æ©Ÿèƒ½ã§ã™)。<code>backend.example.com</code>
+ ãŒé€ã‚‹ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®é¢å€’ã‚‚ã¿ã¾ã™ã€‚<code>http://backend.example.com/bar</code>
+ ㌠<code>http://backend.example.com/quux</code> ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚ŒãŸã¨ãã€
+ Apache 㯠HTTP リダイレクト応答をクライアントã«é€ã‚‹å‰ã«ã€
+ <code>http://example.com/mirror/foo/quux</code> ã«å¤‰æ›´ã—ã¾ã™ã€‚
+ URL を構æˆã™ã‚‹ã®ã«ä½¿ã‚れるホストå㯠<code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> ã®è¨­å®šã«å¿œã˜ã¦é¸æŠžã•ã‚Œã‚‹ã“ã¨ã«
+ 注æ„ã—ã¦ãã ã•ã„。</p>
+
+ <p><code class="directive">ProxyPassReverse</code> ディレクティブã¯
+ 対応ã™ã‚‹ <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブã«ã¯ä¾å­˜ã—ãªã„ãŸã‚ã€
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ã®ãƒ—ロキシ通éŽæ©Ÿèƒ½
+ (<code>RewriteRule ... [P]</code>) ã¨ä½µã›ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</p>
+
+ <p><code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> セクションã®ä¸­ã§ä½¿ã‚ã‚ŒãŸå ´åˆã¯ã€
+ 最åˆã®å¼•æ•°ã¯çœç•¥ã•ã‚Œã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ã‹ã‚‰å–å¾—ã•ã‚Œã¾ã™ã€‚</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="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a> <a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リãƒãƒ¼ã‚¹ãƒ—ロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Domain 文字列を
+調整ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>使用法ã¯åŸºæœ¬çš„ã«
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> ã¨åŒã˜ã§ã™ãŒã€
+ヘッダ㮠URL ã®ä»£ã‚ã‚Šã« <code>Set-Cookie</code> ヘッダã®
+<code>domain</code> 文字列を書ãæ›ãˆã¾ã™ã€‚</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="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a> <a name="proxypassreversecookiepath" id="proxypassreversecookiepath">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Reverse プロキシサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Path 文字列を
+調整ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPassReverseCookiePath <var>internal-path</var> <var>public-path</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+<p>使用法ã¯åŸºæœ¬çš„ã«
+<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> ã¨åŒã˜ã§ã™ãŒã€
+ヘッダ㮠URL ã®ä»£ã‚ã‚Šã« <code>Set-Cookie</code> ヘッダã®
+<code>path</code> 文字列を書ãæ›ãˆã¾ã™ã€‚</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="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost" id="proxypreservehost">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシリクエストã«ã€å—ã‘付ã‘㟠Host HTTP ヘッダを使ã†</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½</td></tr>
+</table>
+ <p>ã“ã®ã‚ªãƒ—ションãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹å ´åˆã€<code class="directive">ProxyPass</code>
+ ã§æŒ‡å®šã—ãŸãƒ›ã‚¹ãƒˆåã®ä»£ã‚ã‚Šã«ã€å—ã‘付ã‘ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Host: 行を
+ プロキシ先ã®ãƒ›ã‚¹ãƒˆã«é€ã‚Šã¾ã™ã€‚</p>
+
+ <p>ã“ã®ã‚ªãƒ—ションã¯é€šå¸¸ã¯ <code>Off</code> ã«è¨­å®šã—ã¦ãã ã•ã„。
+ ã»ã¨ã‚“ã©ã®å ´åˆã€ã“ã‚Œã¯å¤§é‡ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã‚’è¡Œãªã£ã¦ã„ã¦ã€
+ 元々㮠Host ヘッダをãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒè§£é‡ˆã™ã‚‹å¿…è¦ã®ã‚ã‚‹ã¨ãã®ã‚ˆã†ãªã€
+ 特別ãªè¨­å®šãŒå¿…è¦ãªå ´åˆã«ã®ã¿æœ‰ç”¨ã§ã™ã€‚</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="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize" id="proxyreceivebuffersize">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚Œã‚‹ HTTP 㨠FTP 接続ã®ãŸã‚ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyReceiveBufferSize <var>bytes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">ProxyReceiveBufferSize</code> ディレクティブã¯
+ スループットを上ã’ã‚‹ãŸã‚ã«æ˜Žç¤ºçš„ã« (TCP/IP) ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’
+ 設定ã—ã¾ã™ã€‚値㯠<code>512</code> 以上ã‹ã€ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒƒãƒ•ã‚¡
+ サイズをæ„味ã™ã‚‹ <code>0</code> ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ ProxyReceiveBufferSize 2048
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a> <a name="proxyremote" id="proxyremote">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†æ™‚ã«ä½¿ã‚れるリモートプロキシを指定ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemote <var>match</var> <var>remote-server</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã“ã®ãƒ—ロキシã«å¯¾ã™ã‚‹ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ロキシを定義ã—ã¾ã™ã€‚
+ <var>match</var> ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹ URL スキームã€
+ リモートサーãƒãŒä½¿ã†ã¯ãšã® URL ã®ä¸€éƒ¨åˆ†ã€ã‚µãƒ¼ãƒãŒã™ã¹ã¦ã®
+ リクエストã«ä½¿ã‚れるã“ã¨ã‚’示㙠<code>*</code> ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚
+ <var>remote-server</var> ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã®éƒ¨åˆ† URL ã§ã™ã€‚構文:</p>
+
+ <div class="example"><p><code>
+ <dfn>remote-server</dfn> =
+ <var>scheme</var>://<var>hostname</var>[:<var>port</var>]
+ </code></p></div>
+
+ <p><var>scheme</var> ã¯å®Ÿéš›ä¸Šãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã¨ã®é€šä¿¡ã«ä½¿ã‚れるプロトコルを
+ 決定ã—ã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ã¯ <code>http</code> ã ã‘ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦
+ ã„ã¾ã™ã€‚</p>
+
+ <div class="example"><h3>例</h3><p><code>
+ ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000<br />
+ ProxyRemote * http://cleversite.com<br />
+ ProxyRemote ftp http://ftpproxy.mydomain.com:8080
+ </code></p></div>
+
+ <p>ã“ã®ä¾‹ã§ã¯ã€ãƒ—ロキシ㯠FTP リクエストを別㮠HTTP リクエストã§åŒ…ã‚“ã§
+ ãã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ãˆã‚‹åˆ¥ã®ãƒ—ロキシã«è»¢é€ã—ã¾ã™ã€‚</p>
+
+ <p>ã“ã®ã‚ªãƒ—ションã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šã‚‚サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
+ サーãƒãŒåˆ¥ã®ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシã®å¾Œã‚ã«éš ã•ã‚Œã¦ã„ã‚‹å ´åˆã§ã‚‚
+ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¦ã‚§ãƒ–サーãƒã‚’ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® URL 空間ã«å…¥ã‚Œã‚‹ã“ã¨ãŒ
+ ã§ãã¾ã™ã€‚</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="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>æ­£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ロキシã®æŒ‡å®š</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p><code class="directive">ProxyRemoteMatch</code> ã¯æœ€åˆã®å¼•æ•°ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸ
+ URL ã«ãƒžãƒƒãƒã™ã‚‹<a class="glossarylink" href="../glossary.html#regex" title="用語集をå‚ç…§">æ­£è¦è¡¨ç¾</a>ã§ã‚ã‚‹ã“ã¨ã‚’除ã‘ã° <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブã¨åŒã˜ã§ã™ã€‚</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="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>フォワード (標準ã®) プロキシリクエストを有効ã«ã™ã‚‹</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“れ㯠Apache ã®ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ—ロキシサーãƒã¨ã—ã¦ã®å‹•ä½œã‚’
+ 有効もã—ãã¯ç„¡åŠ¹ã«ã—ã¾ã™ã€‚(ProxyRequests ã‚’ <code>Off</code> ã«
+ 設定ã—ã¦ã‚‚ã€<code class="directive"><a href="#proxypass">ProxyPass</a></code>
+ ã®è¨­å®šã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã›ã‚“。)</p>
+
+ <p>通常ã®ãƒªãƒãƒ¼ã‚¹ãƒ—ロキシã®è¨­å®šã§ã¯ã€ã“ã®ã‚ªãƒ—ション㯠<code>Off</code>
+ ã«è¨­å®šã—ã¦ãã ã•ã„。</p>
+
+ <p>HTTP ã‚„ FTP サイトã¸ã®ãƒ—ロキシã®æ©Ÿèƒ½ã‚’有効ã«ã—ãŸã„å ´åˆã¯ã€
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ã‚„ <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> ãŒ
+ サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</p>
+
+ <div class="warning"><h3>警告</h3>
+ <p><a href="#access">サーãƒã‚’安全ã«ã™ã‚‹</a>ã¾ã§ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ã¯æœ‰åŠ¹ã«ã—ãªã„ã§ãã ã•ã„。
+ オープンプロキシサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€
+ インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set various Proxy balancer or member parameters</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table><p>Documentation not yet translated. Please see English version of document.</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="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a> <a name="proxysourceaddress" id="proxysourceaddress">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Set local IP address for outgoing proxy connections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxySourceAddress <var>address</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Available in version 2.3.9 and later</td></tr>
+</table><p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®è§£èª¬æ–‡æ›¸ã¯
+ ã¾ã ç¿»è¨³ã•ã‚Œã¦ã„ã¾ã›ã‚“。英語版をã”覧ãã ã•ã„。
+ </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="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Show Proxy LoadBalancer status in mod_status</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code /></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table><p>Documentation not yet translated. Please see English version of document.</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="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyTimeout 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互æ›æ€§:</a></th><td>Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ¦ãƒ¼ã‚¶ãŒãƒ—ロキシリクエストã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’
+ 指定ã§ãるよã†ã«ã—ã¾ã™ã€‚ã“ã‚Œã¯ãƒãƒ³ã‚°ã—ã¦ã—ã¾ã†é…ã„ã€ã‚‚ã—ãã¯æŒ™å‹•ã®
+ 怪ã—ã„サーãƒãŒã‚ã‚Šã€ã‚µãƒ¼ãƒãŒãƒ‡ãƒ¼ã‚¿ã‚’è¿”ã™ã¾ã§ã²ãŸã™ã‚‰å¾…ã¡ç¶šã‘るよりも
+ タイムアウトを返ã—ã¦ã‚ˆã‚Šç·©ã‚„ã‹ã«<span class="transnote">(<em>訳注:</em> graceful ã«)</span>
+ 失敗ã•ã›ãŸã„å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚</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="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシã•ã‚ŒãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® <code>Via</code> HTTP 応答ヘッダ
+ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹æƒ…å ±</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyVia Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーãƒè¨­å®šãƒ•ã‚¡ã‚¤ãƒ«, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+ <p>ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ—ロキシ㮠<code>Via:</code> HTTP ヘッダã®ä½¿ç”¨ã‚’
+ 制御ã—ã¾ã™ã€‚想定ã•ã‚Œã¦ã„る使ã„æ–¹ã¯ã€ãƒ—ロキシサーãƒãŒã„ãã¤ã‚‚繋ãŒã£ã¦ã„ã‚‹ã¨ãã«
+ プロキシリクエストã®æµã‚Œã‚’制御ã™ã‚‹ã“ã¨ã§ã™ã€‚<code>Via:</code> ヘッダ行ã®
+ 説明㯠<a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1)
+ ã® 14.45 節を読んã§ãã ã•ã„。</p>
+
+ <ul>
+ <li>デフォルト㮠<code>Off</code> ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ã¨ã€ç‰¹åˆ¥ãªå‡¦ç†ã¯
+ è¡Œãªã‚ã‚Œã¾ã›ã‚“。リクエストやリプライ㫠<code>Via:</code> ヘッダãŒã‚ã‚Œã°ã€
+ 変更ã•ã‚Œãšã«ãã®ã¾ã¾æ¸¡ã—ã¾ã™ã€‚</li>
+
+ <li><code>On</code> ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€å„リクエストã¨ãƒªãƒ—ライã«
+ <code>Via:</code> è¡ŒãŒè¿½åŠ ã•ã‚Œã¾ã™ã€‚</li>
+
+ <li><code>Full</code> ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€<code>Via:</code> ヘッダã¯
+ コメント部分㫠Apache サーãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚‚å«ã‚€ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚</li>
+
+ <li><code>Block</code> ã«è¨­å®šã•ã‚Œã¦ã„ã‚Œã°ã€ã™ã¹ã¦ã®ãƒ—ロキシリクエストã‹ã‚‰
+ <code>Via:</code> ヘッダãŒå–り除ã‹ã‚Œã¾ã™ã€‚æ–°ãŸã« <code>Via:</code> ãŒ
+ 生æˆã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。</li>
+ </ul>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>翻訳済ã¿è¨€èªž: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_proxy.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />ã“ã®æ–‡æ›¸ã¯ <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§æä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file