HEX
Server: Apache
System: Linux wp-jo-wordpress-79f99b7d9d-ngh2p 6.12.67-0-virt #1-Alpine SMP PREEMPT_DYNAMIC 2026-01-27 02:08:12 x86_64
User: (1001)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: /opt/bitnami/apache2/manual/mod/mod_proxy.html.fr.utf8
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
        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">
</script>

<link href="../images/favicon.png" rel="shortcut icon"></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</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="<-" alt="<-" src="../images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://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>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<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&ccedil;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&nbsp;de&nbsp;Module:</a></th><td>proxy_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier&nbsp;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&eacute; de mandataire avec la directive
      <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
      d'avoir <a href="#access">s&eacute;curis&eacute; votre serveur</a>. Les serveurs
      mandataires ouverts sont dangereux pour votre r&eacute;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&eacute;s impl&eacute;mentent
    un mandataire/passerelle pour le serveur HTTP Apache, et supportent
    de nombreux protocoles courants, ainsi que plusieurs algorithmes de
    r&eacute;partition de charge. Le support de protocoles et d'algorithmes de
    r&eacute;partition de charge suppl&eacute;mentaires peut &ecirc;tre assur&eacute; par des
    modules tiers.</p>

    <p>Un jeu de modules charg&eacute;s dans le serveur permet de fournir les
    fonctionnalit&eacute;s souhait&eacute;es. Ces modules peuvent &ecirc;tre inclus
    statiquement &agrave; 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&eacute;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&eacute;partition, si la r&eacute;partition de charge doit &ecirc;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&eacute;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>HTTP/2.0</td><td><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</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>UWSGI</td><td><code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</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&eacute;s
    &eacute;tendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associ&eacute;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 &ecirc;tre charg&eacute;s et configur&eacute;s pour pouvoir
    disposer de ces fonctionnalit&eacute;s.</p>
</div>
<div id="quickview"><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&egrave;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&ocirc;ler l'acc&egrave;s &agrave; votre
    mandataire</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#startup">Ralentissement au d&eacute;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&ecirc;tes</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#x-headers">En-t&ecirc;tes de requ&ecirc;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="#proxy100continue">Proxy100Continue</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&egrave;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>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="forwardreverse">Mandataires directs et
    mandataires/passerelles inverses <a title="Lien permanent" href="#forwardreverse" class="permalink">&para;</a></h2>
      <p>Le serveur HTTP Apache peut &ecirc;tre configur&eacute; dans les deux modes mandataire
      <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nomm&eacute;
      mode <dfn>passerelle</dfn>).</p>

      <p>Un <dfn>mandataire direct</dfn> standard est un serveur
      interm&eacute;diaire qui s'intercale entre le client et le <em>serveur
      demand&eacute;</em>. Pour obtenir un contenu h&eacute;berg&eacute; par
      le serveur demand&eacute;, le client envoie une requ&ecirc;te au
      mandataire en nommant le serveur demand&eacute; comme
      cible. Le mandataire extrait alors le contenu depuis le
      serveur demand&eacute; et le renvoie enfin au client. Le client doit &ecirc;tre
      configur&eacute; de mani&egrave;re appropri&eacute;e pour pouvoir utiliser le mandataire
      direct afin d'acc&eacute;der &agrave; d'autres sites.</p>

      <p>L'acc&egrave;s &agrave; Internet depuis des clients situ&eacute;s derri&egrave;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&eacute;duire la charge du
      r&eacute;seau.</p>

      <p>La fonctionnalit&eacute; de mandataire direct est activ&eacute;e via la
      directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
      Comme les mandataires directs permettent aux clients d'acc&eacute;der &agrave;
      des sites quelconques via votre serveur et de dissimuler leur
      v&eacute;ritable origine, il est indispensable de <a href="#access">s&eacute;curiser votre serveur</a> de fa&ccedil;on &agrave; ce que seuls
      les clients autoris&eacute;s puissent acc&eacute;der &agrave; votre serveur avant
      d'activer la fonctionnalit&eacute; de mandataire direct.</p>

      <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
      quant &agrave; lui, appara&icirc;t au client comme un serveur web standard.
      Aucune configuration particuli&egrave;re du client n'est n&eacute;cessaire. Le
      client adresse ses demandes de contenus ordinaires dans l'espace
      de nommage du mandataire inverse. Ce dernier d&eacute;cide alors o&ugrave;
      envoyer ces requ&ecirc;tes, et renvoie le contenu au client comme s'il
      l'h&eacute;bergeait lui-m&ecirc;me.</p>

      <p>L'acc&egrave;s d'utilisateurs depuis Internet vers un serveur situ&eacute;
      derri&egrave;re un pare-feu est une utilisation typique du mandataire
      inverse. On peut aussi utiliser les mandataires inverses pour
      mettre en oeuvre une r&eacute;partition de charge entre plusieurs
      serveurs en arri&egrave;re-plan, ou fournir un cache pour un serveur
      d'arri&egrave;re-plan plus lent. Les mandataires inverses peuvent aussi
      tout simplement servir &agrave; rassembler plusieurs serveurs dans le
      m&ecirc;me espace de nommage d'URLs.</p>

      <p>La fonctionnalit&eacute; de mandataire inverse est activ&eacute;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&eacute;cessaire de d&eacute;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 id="examples">Exemples simples <a title="Lien permanent" href="#examples" class="permalink">&para;</a></h2>

    <p>Les exemples ci-dessous illustrent de mani&egrave;re tr&egrave;s basique la
    mise en oeuvre de la fonctionnalit&eacute; de mandataire et ne sont l&agrave; que
    pour vous aider &agrave; d&eacute;marrer. Reportez-vous &agrave; la documentation de
    chaque directive.</p>

    <p>Si en outre, vous d&eacute;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 class="example"><h3><a id="wsupgrade" name="wsupgrade">Promotion de protocole
    vers Websocket (versions 2.4.47 et ult&eacute;rieures)</a></h3><pre class="prettyprint lang-config">ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket</pre>
</div>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="handler">Acc&egrave;s via un gestionnaire <a title="Lien permanent" href="#handler" class="permalink">&para;</a></h2>

    <p>Vous pouvez aussi forcer le traitement d'une requ&ecirc;te en tant que
    requ&ecirc;te de mandataire inverse en cr&eacute;ant un gestionnaire de transfert
    appropri&eacute;. Dans l'exemple suivant, toutes les requ&ecirc;tes pour
    des scripts PHP seront transmises au serveur FastCGI
    sp&eacute;cifi&eacute; 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&eacute;cessitent une version 2.4.7 ou sup&eacute;rieure du
    # serveur HTTP Apache
    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost"
&lt;/FilesMatch&gt;</pre>
</div>

      <p>Cette fonctionnalit&eacute; est disponible &agrave; 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 id="workers">Workers <a title="Lien permanent" href="#workers" class="permalink">&para;</a></h2>
      <p>Le mandataire g&egrave;re la configuration et les param&egrave;tres de
      communication des serveurs originaux au sein d'objets nomm&eacute;s
      <dfn>workers</dfn>. Deux types de worker sont fournis : le worker
      par d&eacute;faut du mandataire direct et le worker par d&eacute;faut du
      mandataire inverse. Il est aussi possible de d&eacute;finir explicitement
      des workers suppl&eacute;mentaires.</p>

      <p>Les deux workers par d&eacute;faut poss&egrave;dent une configuration fig&eacute;e
      et seront utilis&eacute;s si aucun autre worker ne correspond &agrave; la
      requ&ecirc;te. Ils ne r&eacute;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&eacute;es et ouvertes
      pour chaque requ&ecirc;te.</p>

      <p>Les workers d&eacute;finis explicitement sont identifi&eacute;s par leur URL.
      Ils sont en g&eacute;n&eacute;ral d&eacute;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&eacute;er un worker associ&eacute; &agrave; l'URL du serveur
      original <code>http://backend.example.com</code> qui utilisera les
      valeurs de timeout donn&eacute;es. Lorsqu'ils sont utilis&eacute;s dans le cadre
      d'un mandataire direct, les workers sont en g&eacute;n&eacute;ral d&eacute;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&eacute;finis explicitement dans le mode
      mandataire direct n'est pas tr&egrave;s courante, car les mandataires
      directs communiquent en g&eacute;n&eacute;ral avec de nombreux serveurs
      originaux. La cr&eacute;ation explicite de workers pour certains serveurs
      originaux peut cependant s'av&eacute;rer utile si ces serveurs sont
      tr&egrave;s souvent sollicit&eacute;s. A leur niveau, les workers explicitement
      d&eacute;finis ne poss&egrave;dent aucune notion de mandataire direct ou
      inverse. Ils encapsulent un concept de communication commun avec
      les serveurs originaux. Un worker cr&eacute;&eacute; via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour &ecirc;tre utilis&eacute; dans le
      cadre d'un mandataire inverse sera aussi utilis&eacute; dans le cadre
      d'un mandataire directe chaque fois que l'URL vers le serveur
      original correspondra &agrave; l'URL du worker, et vice versa.</p>

      <p>L'URL qui identifie un worker correspond &agrave; l'URL de son serveur
      original, y compris un &eacute;ventuel chemin donn&eacute; :</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&eacute;rents sont d&eacute;finis, chacun
      d'eux utilisant des configurations et jeux de connexions
      s&eacute;par&eacute;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&eacute;but de l'URL d'un autre worker d&eacute;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&eacute;&eacute;. C'est le premier
	worker qui est en fait utilis&eacute;. L'avantage de ceci r&eacute;side dans
	le fait qu'il n'existe qu'un seul jeu de connexions, ces
	derni&egrave;res &eacute;tant donc r&eacute;utilis&eacute;es plus souvent. Notez que tous
	les attributs de configuration d&eacute;finis explicitement pour le
	deuxi&egrave;me worker seront ignor&eacute;s, ce qui sera journalis&eacute; 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&ecirc;cher le partage de workers, classez vos
	d&eacute;finitions de workers selon la longueur des URLs, de la plus
	longue &agrave; la plus courte. Si au contraire vous voulez favoriser
	ce partage, utilisez l'ordre de classement inverse. Voir aussi
	l'avertissement &agrave; propos de l'ordre de classement des directives
	<code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>

      </div> 

      <p>Les workers d&eacute;finis explicitement sont de deux sortes :
      <dfn>workers directs</dfn> et <dfn>workers de r&eacute;partition (de
      charge)</dfn>. Ils supportent de nombreux attributs de
      configuration importants d&eacute;crits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces m&ecirc;mes attributs
      peuvent aussi &ecirc;tre d&eacute;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&eacute;pend du
      protocole sp&eacute;cifi&eacute; 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&eacute;partition sont des workers virtuels qui
      utilisent les workers directs, connus comme faisant partie de leurs
      membres, pour le traitement effectif des requ&ecirc;tes. Chaque
      r&eacute;partiteur peut comporter plusieurs membres. Lorsqu'il traite une
      requ&ecirc;te, il choisit un de ses membres en fonction de l'algorithme
      de r&eacute;partition de charge d&eacute;fini.</p>

      <p>Un worker de r&eacute;partition est cr&eacute;&eacute; si son URL de worker comporte
      <code>balancer</code> comme indicateur de protocole. L'URL du
      r&eacute;partiteur permet d'identifier de mani&egrave;re unique le worker de
      r&eacute;partition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
      membres au r&eacute;partiteur.</p>

      <div class="note"><h3>R&eacute;solution DNS pour les domaines originaux</h3>
      <p>La r&eacute;solution DNS s'effectue lorsque le socket vers le
      domaine original est cr&eacute;&eacute; pour la premi&egrave;re fois. Lorsque la r&eacute;utilisation
      des connexions est activ&eacute;e, chaque domaine d'arri&egrave;re-plan n'est r&eacute;solu qu'une
      seule fois pour chaque processus enfant, et cette r&eacute;solution est mise en
      cache pour toutes les connexions ult&eacute;rieures jusqu'&agrave; ce que le processus enfant
      soit recycl&eacute;. Ce comportement doit &ecirc;tre pris en consid&eacute;ration lorsqu'on
      planifie des t&acirc;ches de maintenance du DNS impactant les domaines
      d'arri&egrave;re-plan. Veuillez aussi vous reporter aux param&egrave;tres de la
      directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour plus de
      d&eacute;tails &agrave; propos de la r&eacute;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 id="access">Contr&ocirc;ler l'acc&egrave;s &agrave; votre
    mandataire <a title="Lien permanent" href="#access" class="permalink">&para;</a></h2>
      <p>Vous pouvez restreindre l'acc&egrave;s &agrave; votre mandataire via le bloc
      de contr&ocirc;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>


      <div class="note"><h3>Requ&ecirc;tes HTTPS/CONNECT</h3>
      <p>L'instruction g&eacute;n&eacute;rique <code>&lt;Proxy "*"&gt;</code> ci-dessus
      correspond &agrave; toutes les requ&ecirc;tes, y compris les requ&ecirc;tes HTTPS sous tunnel
      via la m&eacute;thode CONNECT. Notez que le contr&ocirc;le d'acc&egrave;s pour les tunnels
      CONNECT ne peut fonctionner qu'avec l'h&ocirc;te et le port &mdash;&nbsp;le contr&ocirc;le avec
      le chemin (par exemple <code>&lt;Proxy
      "https://example.com/path/"&gt;</code>) ne fonctionnera pas, car les
      requ&ecirc;tes CONNECT ne comportent pas de chemin.</p></div>

      <p>Pour plus de d&eacute;tails sur les directives de contr&ocirc;le d'acc&egrave;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&egrave;s de mani&egrave;re stricte est essentiel si vous
      mettez en oeuvre un mandataire direct (en d&eacute;finissant la directive
      <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> &agrave; "on").
      Dans le cas contraire, votre serveur pourrait &ecirc;tre utilis&eacute; par
      n'importe quel client pour acc&eacute;der &agrave; des serveurs quelconques,
      tout en masquant sa v&eacute;ritable identit&eacute;. Ceci repr&eacute;sente un danger
      non seulement pour votre r&eacute;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&ocirc;le
      d'acc&egrave;s est moins critique car les clients ne peuvent contacter
      que les serveurs que vous avez sp&eacute;cifi&eacute;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 id="startup">Ralentissement au d&eacute;marrage <a title="Lien permanent" href="#startup" class="permalink">&para;</a></h2>
      <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'h&ocirc;tes sont r&eacute;solus en adresses
      IP puis ces derni&egrave;res mises en cache au cours du d&eacute;marrage
      &agrave; des fins de tests de comparaisons ult&eacute;rieurs. Ce processus peut
      durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
      &agrave; laquelle s'effectue la r&eacute;solution des noms d'h&ocirc;tes.</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="intranet">Mandataire en Intranet <a title="Lien permanent" href="#intranet" class="permalink">&para;</a></h2>
      <p>Un serveur mandataire Apache httpd situ&eacute; &agrave; l'int&eacute;rieur d'un Intranet
      doit faire suivre les requ&ecirc;tes destin&eacute;es &agrave; un serveur externe &agrave;
      travers le pare-feu de l'entreprise (pour ce faire, d&eacute;finissez la
      directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
      fa&ccedil;on &agrave; ce qu'elle fasse suivre le <var>protocole</var> concern&eacute;
      vers le mandataire du pare-feu). Cependant, lorsqu'il doit acc&eacute;der
      &agrave; des ressources situ&eacute;es dans l'Intranet, il peut se passer du
      pare-feu pour acc&eacute;der aux serveurs. A cet effet, la directive
      <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
      sp&eacute;cifier quels h&ocirc;tes appartiennent &agrave; l'Intranet et peuvent donc
      &ecirc;tre acc&eacute;d&eacute;s directement.</p>

      <p>Les utilisateurs d'un Intranet ont tendance &agrave; oublier le nom du
      domaine local dans leurs requ&ecirc;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&ecirc;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&eacute;e et si le
      serveur est <a href="#proxyrequests">configur&eacute; comme
      mandataire</a>, Apache httpd peut renvoyer une r&eacute;ponse de redirection et
      ainsi fournir au client l'adresse de serveur correcte,
      enti&egrave;rement qualifi&eacute;e. C'est la m&eacute;thode &agrave; privil&eacute;gier car le
      fichier des marque-pages de l'utilisateur contiendra alors des
      noms de serveurs enti&egrave;rement qualifi&eacute;s.</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="envsettings">Ajustements relatifs au
    protocole <a title="Lien permanent" href="#envsettings" class="permalink">&para;</a></h2>
      <p>Pour les cas o&ugrave; <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requ&ecirc;tes
      vers un serveur qui n'impl&eacute;mente pas correctement les connexions
      persistantes ou le protocole HTTP/1.1, il existe deux variables
      d'environnement qui permettent de forcer les requ&ecirc;tes &agrave; utiliser
      le protocole HTTP/1.0 avec connexions non persistantes. Elles
      peuvent &ecirc;tre d&eacute;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>Notez que <code>force-proxy-request-1.0</code> implique aussi
      <code>proxy-sendcl</code>, car HTTP/1.0 ne prend pas en charge l'encodage
      de transfert fractionn&eacute;. La redirection des corps de requ&ecirc;te fractionn&eacute;s
      (via <code>proxy-sendchunked</code>) est d&eacute;sactiv&eacute;e si cette option est
      d&eacute;finie.</p>

      <p>A partir de la version 2.4.26 du serveur HTTP Apache, la d&eacute;finition de
      la variable d'environnement "no-proxy" permet de d&eacute;sactiver
      <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requ&ecirc;te courante.
      Cette variable doit &ecirc;tre d&eacute;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 &eacute;valu&eacute;e assez t&ocirc;t.</p>	

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="request-bodies">Corps de requ&ecirc;tes <a title="Lien permanent" href="#request-bodies" class="permalink">&para;</a></h2>

    <p>Certaines m&eacute;thodes de requ&ecirc;tes comme POST comportent un corps de
    requ&ecirc;te. Le protocole HTTP stipule que les requ&ecirc;tes qui comportent
    un corps doivent soit utiliser un codage de transmission
    fractionn&eacute;e (chunked transfer encoding), soit envoyer un en-t&ecirc;te de requ&ecirc;te
    <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
    requ&ecirc;te vers le serveur demand&eacute;, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
    s'efforce toujours d'envoyer l'en-t&ecirc;te <code>Content-Length</code>.
    Par contre, si la taille du corps est importante, et si la requ&ecirc;te
    originale utilise un codage &agrave; fractionnement, ce dernier peut aussi
    &ecirc;tre utilis&eacute; dans la requ&ecirc;te montante. Ce comportement peut &ecirc;tre
    contr&ocirc;l&eacute; &agrave; l'aide de <a href="../env.html">variables
    d'environnement</a>. Ainsi, si elle est d&eacute;finie, la variable
    <code>proxy-sendcl</code> assure une compatibilit&eacute; maximale avec les
    serveurs demand&eacute;s en imposant l'envoi de l'en-t&ecirc;te
    <code>Content-Length</code>, alors que
    <code>proxy-sendchunked</code> diminue la consommation de ressources
    en imposant l'utilisation d'un codage &agrave; fractionnement.</p>

    <p>Dans certaines circonstances, le serveur doit mettre en file
    d'attente sur disque les corps de requ&ecirc;tes afin de satisfaire le
    traitement demand&eacute; des corps de requ&ecirc;tes. Par exemple, cette mise en
    file d'attente se produira si le corps original a &eacute;t&eacute; envoy&eacute; selon un
    codage morcel&eacute; (et poss&egrave;de une taille importante), alors que
    l'administrateur a demand&eacute; que les requ&ecirc;tes du serveur
    d'arri&egrave;re-plan soient envoy&eacute;es avec l'en-t&ecirc;te Content-Length ou en
    HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps
    de la requ&ecirc;te contient d&eacute;j&agrave; un en-t&ecirc;te Content-Length, alors que le
    serveur est configur&eacute; pour filtrer les corps des requ&ecirc;tes entrantes.</p>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="x-headers">En-t&ecirc;tes de requ&ecirc;te du mandataire
    inverse <a title="Lien permanent" href="#x-headers" class="permalink">&para;</a></h2>

    <p>Lorsqu'il est configur&eacute; 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&ecirc;tes de requ&ecirc;te
    afin de transmettre des informations au serveur demand&eacute;. Ces
    en-t&ecirc;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&ocirc;te d'origine demand&eacute; par le client dans l'en-t&ecirc;te de
      requ&ecirc;te HTTP <code>Host</code>.</dd>
      <dt><code>X-Forwarded-Server</code></dt>
      <dd>Le nom d'h&ocirc;te du serveur mandataire.</dd>
    </dl>

    <p>Ces en-t&ecirc;tes doivent &ecirc;tre utilis&eacute;s avec pr&eacute;cautions sur le
    serveur demand&eacute;, car ils contiendront plus d'une valeur (s&eacute;par&eacute;es
    par des virgules) si la requ&ecirc;te originale contenait d&eacute;j&agrave; un de ces
    en-t&ecirc;tes. Par exemple, vous pouvez utiliser
    <code>%{X-Forwarded-For}i</code> dans la cha&icirc;ne de format du journal
    du serveur demand&eacute; pour enregistrer les adresses IP des clients
    originaux, mais il est possible que vous obteniez plusieurs adresses
    si la requ&ecirc;te passe &agrave; 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&ocirc;ler d'autres en-t&ecirc;tes de requ&ecirc;te.</p>

    <p>Note : Si vous devez ajouter des en-t&ecirc;tes particuliers &agrave; la
    requ&ecirc;te mandat&eacute;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 id="balancergrowth">Directive <span id="BalancerGrowth">BalancerGrowth</span> <a title="Lien permanent" href="#balancergrowth" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres suppl&eacute;mentaires pouvant &ecirc;tre ajout&eacute;s
apr&egrave;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&eacute;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&eacute;:</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&eacute;finir le nombre de membres pouvant
    &ecirc;tre ajout&eacute;s au groupe de r&eacute;partition de charge pr&eacute;configur&eacute; d'un
    serveur virtuel. Elle n'est active que si le groupe a &eacute;t&eacute;
    pr&eacute;configur&eacute; avec un membre au minimum.</p>
    <p>La valeur doit &ecirc;tre entre 0 et 1000.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="balancerinherit">Directive <span id="BalancerInherit">BalancerInherit</span> <a title="Lien permanent" href="#balancerinherit" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H&eacute;ritage des membres du groupes de r&eacute;partition de
    charge du mandataire d&eacute;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&eacute;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&eacute;:</a></th><td>Disponible &agrave; 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&eacute;ritage des membres de groupes de r&eacute;partition de charge
	d&eacute;finis au niveau du serveur
	principal. Elle ne doit pas &ecirc;tre activ&eacute;e si vous
	utilisez la fonctionnalit&eacute; de modifications dynamiques du
	gestionnaire de r&eacute;partition de charge (Balancer Manager) pour
	&eacute;viter des probl&egrave;mes et des comportements inattendus.</p>
        <p>Les d&eacute;finitions au niveau du serveur principal constituent
	les d&eacute;finitions par d&eacute;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 id="balancermember">Directive <span id="BalancerMember">BalancerMember</span> <a title="Lien permanent" href="#balancermember" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre &agrave; un groupe de r&eacute;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&eacute;=valeur [cl&eacute;=valeur ...]]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r&eacute;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&eacute;:</a></th><td>Disponible depuis la version 2.2 du serveur HTTP Apache.</td></tr>
</table>
    <p>Cette directive permet d'ajouter un membre &agrave; un groupe de
    r&eacute;partition de charge. Elle peut se trouver dans un conteneur
    <code>&lt;Proxy <var>balancer://</var>...&gt;</code>, et accepte
    tous les param&egrave;tres de paires cl&eacute;/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&egrave;tre
    suppl&eacute;mentaire : <var>loadfactor</var>. Il s'agit du facteur de
    charge du membre - un nombre d&eacute;cimal entre 1.0 (valeur par d&eacute;faut) et 100.0, qui
    d&eacute;finit la charge &agrave; appliquer au membre en question.</p>
    <p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas
    d&egrave;j&agrave; dans la directive de conteneur <code>&lt;Proxy
    <var>balancer://</var>...&gt;</code>. Il correspond &agrave; l'URL d'un
    r&eacute;partiteur de charge d&eacute;fini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
    <p>La partie chemin de l'URL du r&eacute;partiteur dans toute directive de
    conteneur <code>&lt;Proxy <var>balancer://</var>...&gt;</code> est
    ignor&eacute;e.</p>
    <p>En particulier, le slash de fin de l'URL d'un
    <code class="directive">BalancerMember</code> doit &ecirc;tre supprim&eacute;.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="balancerpersist">Directive <span id="BalancerPersist">BalancerPersist</span> <a title="Lien permanent" href="#balancerpersist" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectu&eacute;s par le
    gestionnaire de r&eacute;partition de charge apr&egrave;s un red&eacute;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&eacute;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&eacute;:</a></th><td>BalancerPersist n'est disponible qu'&agrave; 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&eacute;moire partag&eacute; associ&eacute; aux r&eacute;partiteurs de charge et &agrave; leurs
	membres apr&egrave;s un red&eacute;marrage du serveur. Ces modifications
	locales ne sont ainsi pas perdues lors des transitions d'&eacute;tat
	dues &agrave; un red&eacute;marrage.</p>
    
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="noproxy">Directive <span id="NoProxy">NoProxy</span> <a title="Lien permanent" href="#noproxy" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou r&eacute;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&eacute; que pour les serveurs mandataires
    Apache httpd au sein d'Intranets. La directive
    <code class="directive">NoProxy</code> permet de sp&eacute;cifier une liste de
    sous-r&eacute;seaux, d'adresses IP, de serveurs et/ou de domaines s&eacute;par&eacute;s
    par des espaces. Une requ&ecirc;te pour un serveur qui correspond &agrave; un ou
    plusieurs crit&egrave;res sera toujours servie par ce serveur directement,
    sans &ecirc;tre redirig&eacute;e vers le(s) serveur(s) mandataire(s) d&eacute;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 &agrave; 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&eacute; pr&eacute;c&eacute;d&eacute; d'un point. Il repr&eacute;sente une liste de serveurs qui
    appartiennent logiquement au m&ecirc;me domaine ou &agrave; la m&ecirc;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&ocirc;te</a></var>s (des points de vue &agrave; la fois
    syntaxique et
    s&eacute;mantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
    de type A !), les <var>domaine</var>s sont toujours sp&eacute;cifi&eacute;s en les
    pr&eacute;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&eacute;es correspondre &agrave; la racine de l'arborescence
      DNS, si bien que les domaines <code>.ExEmple.com</code> et
      <code>.exemple.com.</code> (notez le point &agrave; la fin du nom) sont
      consid&eacute;r&eacute;s comme identiques. Comme une comparaison de domaines ne
      n&eacute;cessite pas de recherche DNS, elle est beaucoup plus efficace
      qu'une comparaison de sous-r&eacute;seaux.</p>
    </div></dd>

    
    <dt><var><a name="subnet" id="subnet">Sous-r&eacute;seau</a></var></dt>
    <dd>
    <p>Un <dfn>Sous-r&eacute;seau</dfn> est une adresse internet partiellement
    qualifi&eacute;e sous forme num&eacute;rique (quatre nombres s&eacute;par&eacute;s par des
    points), optionnellement suivie d'un slash et du masque de
    sous-r&eacute;seau sp&eacute;cifiant le nombre de bits significatifs dans le
    <var>Sous-r&eacute;seau</var>. Il repr&eacute;sente un sous-r&eacute;seau de serveurs qui
    peuvent &ecirc;tre atteints depuis la m&ecirc;me interface r&eacute;seau. En l'absence
    de masque de sous-r&eacute;seau explicite, il est sous-entendu que les
    digits manquants (ou caract&egrave;res 0) de fin sp&eacute;cifient le masque de
    sous-r&eacute;seau (Dans ce cas, le masque de sous-r&eacute;seau ne peut &ecirc;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&eacute;seau 192.168.0.0 avec un masque de sous-r&eacute;seau
    implicite de 16 bits significatifs (parfois exprim&eacute; sous la forme
    <code>255.255.0.0</code>)</dd>
    <dt><code>192.168.112.0/21</code></dt>
    <dd>le sous-r&eacute;seau <code>192.168.112.0/21</code> avec un masque de
    sous-r&eacute;seau implicite de 21 bits significatifs (parfois exprim&eacute;
    sous la forme<code>255.255.248.0</code>)</dd>
    </dl>

    <p>Comme cas extr&ecirc;mes, un <em>Sous-r&eacute;seau</em> avec un masque de
    sous-r&eacute;seau de 32 bits significatifs est &eacute;quivalent &agrave; une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-r&eacute;seau</em> avec un masque de
    sous-r&eacute;seau de 0 bit significatif (c'est &agrave; dire 0.0.0.0/0) est
    identique &agrave; la constante <var>_Default_</var>, et peut correspondre
    &agrave; 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&eacute;e sous forme num&eacute;rique (quatre nombres s&eacute;par&eacute;s par des
    points). En g&eacute;n&eacute;ral, cette adresse repr&eacute;sente un serveur, mais elle
    ne doit pas n&eacute;cessairement correspondre &agrave; 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&eacute;cessite pas de r&eacute;solution DNS,
      et peut ainsi s'av&eacute;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&eacute; qui peut &ecirc;tre r&eacute;solu en une ou plusieurs adresses IP par le
    service de noms de domaines DNS. Il repr&eacute;sente un h&ocirc;te logique (par
    opposition aux <var><a href="#domain">Domaine</a></var>s, voir
    ci-dessus), et doit pouvoir &ecirc;tre r&eacute;solu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
    d'h&ocirc;tes avec diff&eacute;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&eacute;cifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
      <var>Nom de serveur</var> car cela &eacute;vite d'avoir &agrave; effectuer une
      recherche DNS. La r&eacute;solution de nom dans Apache httpd peut prendre un
      temps tr&egrave;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&eacute;es correspondre &agrave; 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 &agrave; la fin du nom) sont
      consid&eacute;r&eacute;s comme identiques.</p>
     </div></dd>
    </dl>

<h3>Voir aussi</h3>
<ul>
<li><a href="../dns-caveats.html">Probl&egrave;mes li&eacute;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 id="proxy">Directive <span id="Proxy">&lt;Proxy&gt;</span> <a title="Lien permanent" href="#proxy" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant &agrave; des ressources
mandat&eacute;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&eacute;es dans une section <code class="directive">&lt;Proxy&gt;</code> ne s'appliquent qu'au contenu
    mandat&eacute; concern&eacute;. Les jokers de style shell sont autoris&eacute;s.</p>

    <p>Par exemple, les lignes suivantes n'autoriseront &agrave; acc&eacute;der &agrave; un
    contenu via votre serveur mandataire que les h&ocirc;tes appartenant &agrave;
    <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&eacute;pertoire
    <code>foo</code> de <code>example.com</code> seront trait&eacute;s par le
    filtre <code>INCLUDES</code> lorsqu'ils seront envoy&eacute;s par
    l'interm&eacute;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&eacute;rences avec la section de configuration Location</h3>
      <p>Une URL d'arri&egrave;re-plan sera concern&eacute;e par le conteneur Proxy si
      elle commence par la <var>url-avec-jokers</var>, m&ecirc;me si le
      dernier segment de chemin de la directive ne correspond qu'&agrave; un
      pr&eacute;fixe de segment dee chemin de l'URL d'arri&egrave;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&egrave;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&ocirc;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 id="proxy100continue">Directive <span id="Proxy100Continue">Proxy100Continue</span> <a title="Lien permanent" href="#proxy100continue" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmission du message "100-continue" au serveur d'origine</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Proxy100Continue Off|On</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D&eacute;faut:</a></th><td><code>Proxy100Continue On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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&eacute;:</a></th><td>Disponible &agrave; partir de la version 2.4.40 du serveur HTTP Apache</td></tr>
</table>
    <p>Cette directive permet de contr&ocirc;ler le transfert par le mandataire du
    message "100-continue" (<em>Expect:</em>ation) vers le serveur d'origine. Si
    elle est d&eacute;finie &agrave; "On", le serveur d'origine d&eacute;cidera lui-m&ecirc;me si le corps
    de la requ&ecirc;te HTTP doit &ecirc;tre lu. Si elle est d&eacute;finie &agrave; "Off", le mandataire
    g&eacute;n&eacute;rera lui-m&ecirc;me une r&eacute;ponse interm&eacute;diaire <em>100 Continue</em> avant de
    transf&eacute;rer le corps de la requ&ecirc;te.</p>
    <div class="note"><h3>Contexte d'utilisation</h3>
     <p>Cette option n'est utilisable qu'avec les mandataires HTTP g&eacute;r&eacute;s 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 id="proxyaddheaders">Directive <span id="ProxyAddHeaders">ProxyAddHeaders</span> <a title="Lien permanent" href="#proxyaddheaders" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations &agrave; propos du mandataire aux
en-t&ecirc;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&eacute;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&eacute;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&eacute;:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
</table>
    <p>Cette directive permet de passer au serveur d'arri&egrave;re-plan des
    informations &agrave; propos du mandataire via les en-t&ecirc;tes HTTP
    X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p>
    <div class="note"><h3>Utilit&eacute;</h3>
     <p>Cette option n'est utile que dans le cas du mandat HTTP trait&eacute;
     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 id="proxybadheader">Directive <span id="ProxyBadHeader">ProxyBadHeader</span> <a title="Lien permanent" href="#proxybadheader" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D&eacute;termine la mani&egrave;re de traiter les lignes d'en-t&ecirc;te
incorrectes d'une r&eacute;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&eacute;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&eacute;terminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
    re&ccedil;oit des lignes d'en-t&ecirc;te de r&eacute;ponse dont la syntaxe n'est pas valide (c'est
    &agrave; dire ne contenant pas de caract&egrave;re ':') en provenance du serveur
    original. Les arguments disponibles sont :</p>

    <dl>
    <dt><code>IsError</code></dt>
    <dd>Annule la requ&ecirc;te et renvoie une r&eacute;ponse de code 502 (mauvaise
    passerelle). C'est le comportement par d&eacute;faut.</dd>

    <dt><code>Ignore</code></dt>
    <dd>Traite les lignes d'en-t&ecirc;te incorrectes comme si elles n'avaient
    pas &eacute;t&eacute; envoy&eacute;es.</dd>

    <dt><code>StartBody</code></dt>
    <dd>A la r&eacute;ception de la premi&egrave;re ligne d'en-t&ecirc;te incorrecte, les
    autres en-t&ecirc;tes sont lus et ce qui reste est trait&eacute; en tant que
    corps. Ceci facilite la prise en compte des serveurs d'arri&egrave;re-plan
    bogu&eacute;s qui oublient d'ins&eacute;rer une ligne vide entre les
    en-t&ecirc;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 id="proxyblock">Directive <span id="ProxyBlock">ProxyBlock</span> <a title="Lien permanent" href="#proxyblock" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqu&eacute;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&eacute;cifier une liste de termes, serveurs et/ou domaines, s&eacute;par&eacute;s par
    des espaces. Les requ&ecirc;tes de documents HTTP, HTTPS, FTP vers des
    sites dont les noms contiennent des termes, noms de serveur ou
    domaine correspondants seront <em>bloqu&eacute;s</em> par le serveur
    mandataire. La module proxy va aussi tenter de d&eacute;terminer les
    adresses IP des &eacute;l&eacute;ments de la liste qui peuvent correspondre &agrave; des
    noms d'h&ocirc;tes au cours du d&eacute;marrage, et les mettra en cache &agrave; des
    fins de comparaisons ult&eacute;rieures. Ceci peut ralentir le d&eacute;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 &eacute;tait r&eacute;f&eacute;renc&eacute; 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 id="proxydomain">Directive <span id="ProxyDomain">ProxyDomain</span> <a title="Lien permanent" href="#proxydomain" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par d&eacute;faut pour les requ&ecirc;tes
mandat&eacute;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&eacute; que pour les serveurs mandataires Apache
    httpd au sein d'un Intranet. La directive <code class="directive">ProxyDomain</code>
    permet de sp&eacute;cifier le domaine par d&eacute;faut auquel le serveur mandataire
    apache appartient. Si le serveur re&ccedil;oit une requ&ecirc;te pour un h&ocirc;te sans nom de
    domaine, il va g&eacute;n&eacute;rer une r&eacute;ponse de redirection vers le m&ecirc;me h&ocirc;te suffix&eacute;
    par le <var>Domaine</var> sp&eacute;cifi&eacute;. Le nom du domaine doit commencer par un
    point.</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 id="proxyerroroverride">Directive <span id="ProxyErrorOverride">ProxyErrorOverride</span> <a title="Lien permanent" href="#proxyerroroverride" class="permalink">&para;</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&eacute;s</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride Off|On [<var>code</var> ...]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D&eacute;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&eacute;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&eacute;:</a></th><td>La liste de codes d'&eacute;tats a &eacute;t&eacute; ajout&eacute;e &agrave; partir de la version
2.4.47 du serveur HTTP Apache.</td></tr>
</table>
    <p>Cette directive est utile pour les configurations de mandataires
    inverses, lorsque vous souhaitez que les pages d'erreur envoy&eacute;es
    aux utilisateurs finaux pr&eacute;sentent un aspect homog&egrave;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&eacute;quence (le comportement par d&eacute;faut afficherait la page
    d'erreur du serveur mandat&eacute;, alors que c'est le message d'erreur SSI
    qui sera affich&eacute; si cette directive est &agrave; "on").</p>

    <p>Cette directive n'affecte pas le traitement des r&eacute;ponses
    informatives (1xx), de type succ&egrave;s normal (2xx), ou de redirection
    (3xx).</p>

    <p>Par d&eacute;faut, <code class="directive">ProxyErrorOverride</code> affecte toutes les
    r&eacute;ponses avec un code compris entre 400 inclus et 600 exclus.</p>

    <div class="example"><h3>Exemple de configuration par d&eacute;faut</h3><pre class="prettyprint lang-config">ProxyErrorOverride  On</pre>
</div>

    <p>Pour n'affecter que les r&eacute;ponses poss&egrave;dant certains codes d'&eacute;tat
    particuliers, vous pouvez sp&eacute;cifier ces derniers sous la forme d'une liste
    en les s&eacute;parant par des espaces. Les r&eacute;ponses dont le code d'&eacute;tat ne fait
    pas partie de la liste ne seront pas affect&eacute;es. Vous ne pouvez sp&eacute;cifier que
    des codes d'erreurs, donc compris entre 400 inclus et 600 exclus.</p>

    <div class="example"><h3>Exemple de configuration personnalis&eacute;e</h3><pre class="prettyprint lang-config">ProxyErrorOverride  On 403 405 500 501 502 503 504</pre>
</div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="proxyiobuffersize">Directive <span id="ProxyIOBufferSize">ProxyIOBufferSize</span> <a title="Lien permanent" href="#proxyiobuffersize" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D&eacute;termine la taille du tampon interne de transfert de
donn&eacute;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&eacute;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&eacute; comme bloc-note pour
    les transferts de donn&eacute;es entre entr&eacute;e et sortie. La taille minimale
    est de <code>512</code> octets, ou d&eacute;finie &agrave; <code>0</code> pour indiquer
    que la taille de tampon par d&eacute;faut du syst&egrave;me doit &ecirc;tre utilis&eacute;e.</p>

    <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
    valeur.</p>

    <p>Si elle est utilis&eacute;e avec AJP, cette directive permet de d&eacute;finir
    la taille maximale du paquet AJP en octets. Si la valeur sp&eacute;cifi&eacute;e
    est sup&eacute;rieure &agrave; 65536, elle est corrig&eacute;e et prend la valeur 65536.
    Si vous ne conservez pas
    la valeur par d&eacute;faut, vous devez aussi modifier l'attribut
    <code>packetSize</code> de votre connecteur AJP du c&ocirc;t&eacute; 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&eacute;cessaire de modifier la taille
    maximale du paquet. Des probl&egrave;mes ont cependant &eacute;t&eacute; rapport&eacute;s avec
    la valeur par d&eacute;faut lors de l'envoi de certificats ou de cha&icirc;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 id="proxymatch">Directive <span id="ProxyMatch">&lt;ProxyMatch&gt;</span> <a title="Lien permanent" href="#proxymatch" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant &agrave; des ressources
mandat&eacute;es correspondant &agrave; 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 &agrave; la directive <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code>, &agrave; l'exception qu'elle d&eacute;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&eacute;s et les
    r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
    l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute; par "MATCH_". Ceci permet
    de r&eacute;f&eacute;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
    &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
    nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
    nomm&eacute;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 id="proxymaxforwards">Directive <span id="ProxyMaxForwards">ProxyMaxForwards</span> <a title="Lien permanent" href="#proxymaxforwards" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires &agrave; travers lesquelles une
requ&ecirc;te peut &ecirc;tre redirig&eacute;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&eacute;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&eacute;:</a></th><td>Comportement par d&eacute;faut
modifi&eacute; dans 2.2.7</td></tr>
</table>
    <p>La directive <code class="directive">ProxyMaxForwards</code> permet de
    sp&eacute;cifier le nombre maximum de mandataires &agrave; travers lesquels une
    requ&ecirc;te peut passer dans le cas o&ugrave; la la requ&ecirc;te ne contient pas
    d'en-t&ecirc;te <code>Max-Forwards</code>. Ceci permet de se pr&eacute;munir
    contre les boucles infinies de mandataires ou contre les attaques de
    type d&eacute;ni de service.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre>
</div>

    <p>Notez que la d&eacute;finition de la directive
    <code class="directive">ProxyMaxForwards</code> constitue une violation du
    protocole HTTP/1.1 (RFC2616), qui interdit &agrave; un mandataire de
    d&eacute;finir <code>Max-Forwards</code> si le client ne l'a pas fait
    lui-m&ecirc;me. Les versions pr&eacute;c&eacute;dentes d'Apache httpd la d&eacute;finissaient
    syst&eacute;matiquement. Une valeur n&eacute;gative de
    <code class="directive">ProxyMaxForwards</code>, y compris la valeur par
    d&eacute;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 id="proxypass">Directive <span id="ProxyPass">ProxyPass</span> <a title="Lien permanent" href="#proxypass" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>R&eacute;f&eacute;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&eacute;=valeur</var>
  <var>[cl&eacute;=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&eacute;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&eacute;:</a></th><td>Les sockets de style Unix (Unix Domain Socket - UDS)
sont support&eacute;s &agrave; partir de la version 2.4.7 du serveur HTTP Apache</td></tr>
</table>
    <p>Cette directive permet de r&eacute;f&eacute;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&ocirc;t comme miroir du serveur distant. Le serveur local est
    souvent nomm&eacute; <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&icirc;ne d'arguments.</p>

    <div class="note">Il est fortement recommand&eacute; 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&eacute;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&eacute;n&eacute;ral, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit &ecirc;tre d&eacute;finie &agrave;
    <strong>off</strong> lorsqu'on utilise la directive
    <code class="directive">ProxyPass</code>.</div>

    <p>Les sockets de style Unix sont support&eacute;s &agrave; partir de la version
    2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalit&eacute;,
    il suffit d'utiliser une URL cible pr&eacute;fix&eacute;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">Le chemin associ&eacute; &agrave; l'URL
    <code>unix:</code> tient compte de la directive
    <code class="directive">DefaultRuntimeDir</code>.</div>

    <p>Lorsque cette directive est utilis&eacute;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&eacute;pertoire local est obtenu &agrave; partir de l'argument de la
    directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>.
    Lorsque cette directive est utilis&eacute;e en dehors d'une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, l'argument
    <var>chemin</var> est requis. Il en est de m&ecirc;me &agrave; l'int&eacute;rieur d'une section
    <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le
    r&eacute;sultat ne sera probablement pas celui attendu car ProxyPassReverse va
    interpr&eacute;ter l'expression rationnelle litt&eacute;ralement comme un chemin ; si
    besoin est dans ce cas, d&eacute;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&eacute;par&eacute;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&ecirc;te pour
    <code>http://example.com/mirror/foo/bar</code> en une requ&ecirc;te
    mandat&eacute;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 &agrave; 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&eacute;gradation des performances lorsqu'elle est
    pr&eacute;sente en tr&egrave;s grand nombre. Elle poss&egrave;de l'avantage de
    permettre un contr&ocirc;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 &ecirc;tre de m&ecirc;me pour le second argument
    et vice versa. Dans le cas contraire, il risque de manquer des
    slashes n&eacute;cessaires dans la requ&ecirc;te r&eacute;sultante vers le serveur
    d'arri&egrave;re-plan et les r&eacute;sulats ne seront pas ceux attendus.
    </p>
    </div>

    <p>Le drapeau <code>!</code> permet de soustraire un sous-r&eacute;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&ecirc;tes pour <code>/mirror/foo</code>
    vers <code>backend.example.com</code>, <em>sauf</em> les requ&ecirc;tes
    pour <code>/mirror/foo/i</code>.</p>

    <p>M&eacute;langer plusieurs configurations ProxyPass dans diff&eacute;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&ecirc;te pour <code>/mirror/foo/i</code> sera tout de
    m&ecirc;me mandat&eacute;e car c'est la directive <code class="directive">ProxyPass</code> de la
    section Location qui sera &eacute;valu&eacute;e en premier. Le fait que la directive
    <code class="directive">ProxyPass</code> supporte les deux contextes serveur
    principal et r&eacute;pertoire ne signifie pas que sa port&eacute;e et sa position dans le
    fichier de configuration va garantir une quelconque priorit&eacute; 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">ProxyPass</code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont &eacute;valu&eacute;es dans
      l'ordre de leur apparition dans le fichier de configuration. La
      premi&egrave;re r&egrave;gle qui correspond s'applique. Vous devez donc en
      g&eacute;n&eacute;ral classer les r&egrave;gles <code class="directive">ProxyPass</code> qui entrent en conflit de
      l'URL la plus longue &agrave; la plus courte. Dans le cas contraire, les
      r&egrave;gles situ&eacute;es apr&egrave;s une r&egrave;gle dont l'URL correspond au d&eacute;but de
      leur propre URL seront ignor&eacute;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">ProxyPass</code> dans une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la  derni&egrave;re section
      <code class="directive"><a href="../mod/core.html#location">Location</a></code> correspondante qui
      l'emportera, suivant en cela les r&egrave;gles standards de <a href="../sections.html#merging">fusion des sections</a>. Placez les
      sections <code class="directive"><a href="../mod/core.html#location">Location</a></code> les plus
      sp&eacute;cifiques <em>apr&egrave;s</em> les moins sp&eacute;cifiques afin de s'assurer que la
      directive <code class="directive">ProxyPass</code> attendue
      s'applique.</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&eacute;n&eacute;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 &ecirc;tre d&eacute;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 &eacute;valu&eacute;e
      assez t&ocirc;t.</p>

    </div> 

    <p><strong>ProxyPass <code>cl&eacute;=valeur</code> Param&egrave;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&egrave;re-plan. Les
    connexions cr&eacute;&eacute;es &agrave; la demande peuvent &ecirc;tre enregistr&eacute;es dans un
    groupement pour une utilisation ult&eacute;rieure. La taille du groupe
    ainsi que d'autres caract&eacute;ristiques peuvent &ecirc;tre d&eacute;finies via la
    directive <code class="directive">ProxyPass</code> au moyen de param&egrave;tres
    <code>cl&eacute;=valeur</code> dont la description fait l'objet des
    tableaux ci-dessous.</p>

    <div class="warning"><h3>Nombre maximum de connexions vers
    l'arri&egrave;re-plan</h3>
     <p>Par d&eacute;faut, mod_proxy permet et met en r&eacute;serve le
    nombre maximum de connexions pouvant &ecirc;tre utilis&eacute;es simultan&eacute;ment par le
    processus enfant concern&eacute; du serveur web. Le param&egrave;tre <code>max</code>
    permet de r&eacute;duire cette valeur par d&eacute;faut. Le jeu de connexions est maintenu
    au niveau de chaque processus enfant du serveur web, <code>max</code> et les
    autres r&eacute;glages n'&eacute;tant pas coordonn&eacute;s entre ces diff&eacute;rents processus, sauf
    bien entendu lorsqu'un seul processus enfant n'est autoris&eacute; par la
    configuration ou le MPM utilis&eacute;.</p> </div>

    <div class="note"><h3>Mise en commun des connexions avec le MPM prefork</h3>
    <p>Avec le MPM prefork, les connexions avec les serveurs dorsaux ne sont pas
    mises en commun (chaque processus enfant g&egrave;re une connexion &agrave; la fois). Les
    param&egrave;tres <code>acquire</code> et <code>ttl</code> qui contr&ocirc;lent le
    comportement des pools de connexions n'ont aucun effet si on utilise
    prefork. Les param&egrave;tres de dimensionnement <code>min</code>,
    <code>smax</code> et <code>hmax</code> sont eux aussi ignor&eacute;s.</p>
    </div>
    
    <p>Le param&egrave;tre <code>ttl</code>,
    quant &agrave; lui, permet de d&eacute;finir une dur&eacute;e de vie optionnelle ; les
    connexions qui n'ont pas &eacute;t&eacute; utilis&eacute;es pendant au moins
    <code>ttl</code> secondes seront ferm&eacute;es. <code>ttl</code> permet
    aussi d'emp&ecirc;cher l'utilisation d'une connexion susceptible d'&ecirc;tre
    ferm&eacute;e suite &agrave; une fin de vie de connexion persistante sur le
    serveur d'arri&egrave;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&egrave;tres de worker (directive BalancerMember)</th></tr></table>
    <table>
    <tr><th>Param&egrave;tre</th>
        <th>D&eacute;faut</th>
        <th>Description</th></tr>
    <tr><td>min</td>
        <td>0</td>
        <td>Nombre minimum d'entr&eacute;es dans le pool de connexions,
	distinct du nombre de connexions effectif. La valeur par d&eacute;faut
	ne doit &ecirc;tre modifi&eacute;e que dans des circonstances particuli&egrave;res
	o&ugrave; la m&eacute;moire associ&eacute;e aux connexions avec le serveur
	d'arri&egrave;re-plan doit &ecirc;tre pr&eacute;allou&eacute;e ou r&eacute;serv&eacute;e dans le tas.</td></tr>
    <tr><td>max</td>
        <td>1...n</td>
        <td>Nombre maximum de connexions autoris&eacute;es vers le serveur
	d'arri&egrave;re-plan. La valeur par d&eacute;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&eacute;pendra de la d&eacute;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&eacute;es du pool de connexions conserv&eacute;es au del&agrave; de
	cette limite sont lib&eacute;r&eacute;es au cours de certaines op&eacute;rations si
	elles n'ont pas &eacute;t&eacute; utilis&eacute;es au cours de leur dur&eacute;e de vie,
	d&eacute;finie par le param&egrave;tre <code>ttl</code>. Si l'entr&eacute;e du pool
	de connexions est associ&eacute;e &agrave; une connexion, cette derni&egrave;re sera
	ferm&eacute;e. La valeur par d&eacute;faut ne doit &ecirc;tre modifi&eacute;e que dans des
	circonstances particuli&egrave;res o&ugrave; les entr&eacute;es du pool de connexions
	et toutes connexions associ&eacute;es qui ont d&eacute;pass&eacute; leur dur&eacute;e de vie
	doivent &ecirc;tre lib&eacute;r&eacute;es ou ferm&eacute;es de mani&egrave;re plus autoritaire.</td></tr>
    <tr><td>acquire</td>
        <td>-</td>
        <td>Cette cl&eacute; permet de d&eacute;finir le d&eacute;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'&eacute;tat <code>SERVER_BUSY</code> au client.
    </td></tr>
    <tr><td>connectiontimeout</td>
        <td>timeout</td>
        <td>D&eacute;lai d'attente d'une connexion en secondes.
        La dur&eacute;e en secondes pendant laquelle Apache httpd va attendre pour
	l'&eacute;tablissement d'une connexion vers le serveur d'arri&egrave;re-plan.
	Le d&eacute;lai peut &ecirc;tre sp&eacute;cifi&eacute; en millisecondes en ajoutant le
	suffixe ms.
    </td></tr>
    <tr><td>disablereuse</td>
        <td>Off</td>
        <td>Vous pouvez utiliser cette cl&eacute; pour forcer mod_proxy &agrave;
	fermer imm&eacute;diatement une connexion vers le serveur
	d'arri&egrave;re-plan apr&egrave;s utilisation, et ainsi d&eacute;sactiver le jeu de
	connexions permanentes vers ce serveur. Ceci peut s'av&eacute;rer utile
	dans des situations o&ugrave; un pare-feu situ&eacute; entre Apache httpd et le
	serveur d'arri&egrave;re-plan (quelque soit le protocole) interrompt
	des connexions de mani&egrave;re silencieuse, ou lorsque le serveur
	d'arri&egrave;re-plan lui-m&ecirc;me est accessible par rotation de DNS
	(round-robin DNS). Lorsque la r&eacute;utilisation des connexions est activ&eacute;e,
	chaque domaine d'arri&egrave;re-plan n'est r&eacute;solu (via une requ&ecirc;te DNS) qu'une
	seule fois par chaque processus enfant et mis en cache pour toutes les
	connexions ult&eacute;rieures jusqu'au recyclage du processus concern&eacute;.	
	Pour d&eacute;sactiver la r&eacute;utilisation du jeu de
	connexions, d&eacute;finissez cette cl&eacute; &agrave; <code>On</code>.
    </td></tr>
    <tr><td>enablereuse</td>
        <td>On</td>
        <td>Ce param&egrave;tre est utilis&eacute; par les gestionnaires de protocole pour
	lesquels la r&eacute;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&egrave;tre 'disablereuse' ci-dessus, et il est support&eacute; par les
	versions 2.4.11 et sup&eacute;rieures du serveur HTTP Apache.
    </td></tr>
    <tr><td>flushpackets</td>
        <td>off</td>
        <td>Permet de d&eacute;finir si le module mandataire doit vider
	automatiquement le tampon de sortie apr&egrave;s chaque tron&ccedil;on de
	donn&eacute;es. 'off' signifie que le tampon sera vid&eacute; si
	n&eacute;cessaire ;
	'on' signifie que le tampon sera vid&eacute; apr&egrave;s chaque envoi d'un
	tron&ccedil;on de donn&eacute;es, et 'auto' que le tampon sera vid&eacute; apr&egrave;s un
	d&eacute;lai de 'flushwait' millisecondes si aucune entr&eacute;e n'est re&ccedil;ue.
	Actuellement, cette cl&eacute; n'est support&eacute;e que par mod_proxy_ajp et
	mod_proxy_fcgi.
    </td></tr>
    <tr><td>flushwait</td>
        <td>10</td>
        <td>Le d&eacute;lai d'attente pour une entr&eacute;e additionnelle, en
	millisecondes, avant le vidage du tampon en sortie dans le cas
	o&ugrave; 'flushpackets' est &agrave; 'auto'.
    </td></tr>
    <tr><td>iobuffersize</td>
        <td>8192</td>
        <td>Permet de d&eacute;finir la taille du tampon d'entr&eacute;es/sorties du
	bloc-notes interne. Cette cl&eacute; vous permet d'outrepasser la
	directive <code class="directive">ProxyIOBufferSize</code> pour un
	serveur cible sp&eacute;cifique. La valeur doit &ecirc;tre au minimum 512 ou d&eacute;finie
	&agrave; 0 pour la valeur par d&eacute;faut du syst&egrave;me de 8192.
    </td></tr>
    <tr><td>responsefieldsize</td>
        <td>8192</td>
	<td>Contr&ocirc;le la taille du tampon pour le champ de la r&eacute;ponse mandat&eacute;e.
	Cette taille doit &ecirc;tre au moins &eacute;gale &agrave; la taille attendue du plus grand
	en-t&ecirc;te d'une r&eacute;ponse mandat&eacute;e. Une valeur de 0 implique l'utilisation
	de la valeur par d&eacute;faut du syst&egrave;me, &agrave; savoir 8192 octets.<br>
	Disponible &agrave; partir de la version 2.4.34 du serveur HTTP Apache.
    </td></tr>
    <tr><td>keepalive</td>
        <td>Off</td>
        <td><p>Cette cl&eacute; doit &ecirc;tre utilis&eacute;e lorsque vous avez un pare-feu
	entre Apache httpd et le serveur d'arri&egrave;re-plan, et si ce dernier tend
	&agrave; interrompre les connexions inactives. Cette cl&eacute; va faire en
	sorte que le syst&egrave;me d'exploitation envoie des messages
	<code>KEEP_ALIVE</code> sur chacune des connexions inactives et
	ainsi &eacute;viter la	fermeture de la	connexion par le pare-feu.
	Pour conserver les connexions persistantes, definissez cette
	propri&eacute;t&eacute; &agrave; <code>On</code>.</p>
    <p>La fr&eacute;quence de v&eacute;rification des connexions TCP persistantes
    initiale et subs&eacute;quentes d&eacute;pend de la configuration globale de l'OS,
    et peut atteindre 2 heures. Pour &ecirc;tre utile, la fr&eacute;quence configur&eacute;e
    dans l'OS doit &ecirc;tre inf&eacute;rieure au seuil utilis&eacute; par le pare-feu.</p>

    </td></tr>
    <tr><td>lbset</td>
        <td>0</td>
        <td>D&eacute;finit le groupe de r&eacute;partition de charge dont le serveur cible
	est membre. Le r&eacute;partiteur de charge va essayer tous les membres
	d'un groupe de r&eacute;partition de charge de num&eacute;ro inf&eacute;rieur avant
	d'essayer ceux dont le groupe poss&egrave;de un num&eacute;ro sup&eacute;rieur.
    </td></tr>
    <tr><td>ping</td>
        <td>0</td>
        <td>Avec la cl&eacute; Ping, le serveur web va "tester" la connexion
	vers le serveur d'arri&egrave;re-plan avant de transmettre la requ&ecirc;te.
	Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requ&ecirc;te
	<code>CPING</code> sur la connexion ajp13 (impl&eacute;ment&eacute; 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&egrave;re-plan (seulement avecHTTP/1.1 - pour les
	serveurs d'arri&egrave;re-plan non HTTP/1.1, cette cl&eacute; ne produit
	aucun effet). Dans les deux cas, ce param&egrave;tre correspond au
	d&eacute;lai en secondes pour l'attente de la r&eacute;ponse. Cette
	fonctionnalit&eacute; a &eacute;t&eacute; ajout&eacute;e pour &eacute;viter les probl&egrave;mes avec les
	serveurs d'arri&egrave;re-plan bloqu&eacute;s ou surcharg&eacute;s.

	Le trafic
	r&eacute;seau peut s'en trouver augment&eacute; en fonctionnement normal, ce
	qui peut poser probl&egrave;me, mais peut s'en trouver diminu&eacute; dans les
	cas o&ugrave; les noeuds de cluster sont arr&ecirc;t&eacute;s ou
	surcharg&eacute;s. Le d&eacute;lai peut
	aussi &ecirc;tre d&eacute;fini en millisecondes en ajoutant le suffixe
	ms.
    </td></tr>
    <tr><td>receivebuffersize</td>
        <td>0</td>
        <td>D&eacute;finit la taille du tampon r&eacute;seau explicite (TCP/IP) pour
	les connexions mandat&eacute;es. Cette cl&eacute; vous permet d'outrepasser la
	directive <code class="directive">ProxyReceiveBufferSize</code> pour un
	serveur cible sp&eacute;cifique. Sa valeur doit &ecirc;tre au minimum 512 ou d&eacute;finie
	&agrave; 0 pour la valeur par d&eacute;faut du syst&egrave;me.
    </td></tr>
    <tr><td>redirect</td>
        <td>-</td>
        <td>Route pour la redirection du serveur cible. Cette valeur est en
	g&eacute;n&eacute;ral d&eacute;finie dynamiquement pour permettre une suppression
	s&eacute;curis&eacute;e du noeud du cluster. Si cette cl&eacute; est d&eacute;finie, toutes
	les requ&ecirc;tes sans identifiant de session seront redirig&eacute;es vers
	le membre de groupe de r&eacute;partition de charge dont la route
	correspond &agrave; la valeur de la cl&eacute;.
    </td></tr>
    <tr><td>retry</td>
        <td>60</td>
        <td>D&eacute;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&egrave;re-plan est dans un &eacute;tat d'erreur, Apache httpd ne redirigera
	pas de requ&ecirc;te vers ce serveur avant l'expiration du d&eacute;lai
	sp&eacute;cifi&eacute;. Ceci permet d'arr&ecirc;ter le serveur d'arri&egrave;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 &eacute;tat d'erreur
	sans d&eacute;lai.
    </td></tr>
    <tr><td>route</td>
        <td>-</td>
        <td>La route du serveur cible lorsqu'il est utilis&eacute; au sein d'un
	r&eacute;partiteur de charge. La route est une valeur ajout&eacute;e &agrave;
	l'identifiant de session.
    </td></tr>
    <tr><td><a name="status_table">status</a></td>
        <td>-</td>
        <td>Valeur constitu&eacute;e d'une simple lettre et d&eacute;finissant l'&eacute;tat
	initial de ce serveur cible.
	 <table>
         <tr><td>D: le serveur cible est d&eacute;sactiv&eacute; et n'accepte aucune requ&ecirc;te.</td></tr>
         <tr><td>S: le serveur cible est arr&ecirc;t&eacute;.</td></tr>
         <tr><td>I: le serveur cible est en mode "erreurs ignor&eacute;es",
	 et sera toujours consid&eacute;r&eacute; comme disponible.</td></tr>
	 <tr><td>R: Le serveur cible sert de rempla&ccedil;ant &agrave;
	 chaud. Lorsqu'un serveur cible avec un lbset donn&eacute; est inutilisable
	 (maintenance, arr&ecirc;t, en erreur, etc...), un serveur de remplacement &agrave;
	 chaud libre de m&ecirc;me lbset sera utilis&eacute; &agrave; sa place. Les rempla&ccedil;ants &agrave;
	 chaud permettent de s'assurer qu'un nombre d&eacute;termin&eacute; de serveurs cibles
	 sera toujours disponible pour un r&eacute;partiteur de charge.</td></tr>
         <tr><td>H: le serveur cible est en mode d'attente et ne sera
	 utilis&eacute; que si aucun autre serveur ou rempla&ccedil;ant &agrave; 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&ecirc;tes.</td></tr>
        </table>
	Une valeur d'&eacute;tat peut &ecirc;tre d&eacute;finie (ce qui
	correspond au comportement par d&eacute;faut) en pr&eacute;fixant la valeur
	par '+', ou annul&eacute;e en pr&eacute;fixant la valeur par '-'. Ainsi, la
	valeur 'S-E' d&eacute;finit l'&eacute;tat de ce serveur cible &agrave; "arr&ecirc;t&eacute;" 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&eacute;lai d'attente du socket en secondes. Le nombre de
	secondes pendant lesquelles Apache httpd attend l'envoi de
	donn&eacute;es vers le serveur d'arri&egrave;re-plan.
    </td></tr>
    <tr><td>ttl</td>
        <td>-</td>
        <td>Dur&eacute;e de vie des connexions inactives et des entr&eacute;es du pool
	de connexions associ&eacute;es en secondes. Une fois cette
	limite atteinte, une connexion ne sera pas r&eacute;utilis&eacute;e ; elle
	sera ferm&eacute;e apr&egrave;s un d&eacute;lai variable.
    </td></tr>
    <tr><td>flusher</td>
        <td>flush</td>
        <td><p>Nom du fournisseur utilis&eacute; 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&eacute;tails.</p>
    </td></tr>
    <tr><td>secret</td>
        <td>-</td>
        <td>Le mot de passe utilis&eacute; par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Il doit
	identique au mot de passe configur&eacute; sur le c&ocirc;t&eacute; serveur de la connexion
	AJP.<br>
	Disponible &agrave; partir de la version 2.4.42 du serveur HTTP Apache.
    </td></tr>
    <tr><td><a id="upgrade" name="upgrade">upgrade</a></td>
        <td>-</td>
	<td><p>Protocole pris en charge par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ou
	<code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> pour le m&eacute;canisme de promotion de
	protocole HTTP lors d'une n&eacute;gociation du client/navigateur HTTP (en
	accord avec la <a href="https://www.rfc-editor.org/rfc/rfc9110#name-upgrade">RFC 9110</a> - Upgrade). Voir la
	note <a href="#protoupgrade">Promotion de protocole</a> ci-dessous</p>	
    </td></tr>
    <tr><td>mapping</td>
        <td>-</td>
        <td><p>Type de mappage entre le <var>chemin</var> et l'<var>url</var>.
	D&eacute;termine la normalisation et/ou le (non-)d&eacute;codage que
	<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> appliquera au <var>chemin de l'uri</var>
	demand&eacute; avant de rechercher une correspondance avec le <var>chemin</var>.
	Si un mappage correspond, il est appliqu&eacute; au <var>chemin de l'uri</var>
	de fa&ccedil;on &agrave; ce que tous les contextes de r&eacute;pertoire qui utilisent un
	chemin (comme <code>&lt;Location&gt;</code>) fassent l'objet d'une
	recherche de correspondance en utilisant le m&ecirc;me mappage.</p>
        <p><code>mapping=encoded</code> emp&ecirc;che le d&eacute;codage des caract&egrave;res %
	contenus dans le <var>chemin de l'uri</var> de fa&ccedil;on &agrave; ce que l'on
	puisse par exemple utiliser des configurations telles que&nbsp;:</p>
        <pre class="prettyprint lang-config">ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded</pre>

        <pre class="prettyprint lang-config">&lt;Location "/special%3Fsegment"&gt;
  Require ip 172.17.2.0/24
&lt;/Location&gt;</pre>

        <p><code>mapping=servlet</code> se r&eacute;f&egrave;re &agrave; la normalisation d&eacute;finie par
	la sp&eacute;cification de la Servlet qui sera par exemple appliqu&eacute;e par Apache
	Tomcat pour les conteneurs de servlet (en particulier, les param&egrave;tres du
	chemin sont ignor&eacute;s pour le mappage). Un <var>chemin d'uri</var> comme
	<code>/some;foo/path</code> sera alors mapp&eacute; comme
	<code>/some/path</code> et correspondra donc &agrave; tout ce qui suit sans
	tenir compte des param&egrave;tres du chemin demand&eacute;&nbsp;:</p>
        <pre class="prettyprint lang-config">ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet</pre>

        <pre class="prettyprint lang-config">&lt;Location "/some/path"&gt;
  Require valid-user
&lt;/Location&gt;</pre>

        <div class="note"><h3>Note</h3>
            <p>Il est recommand&eacute; d'utiliser le m&ecirc;me mappage c&ocirc;t&eacute; Apache httpd
	    que celui utilis&eacute; c&ocirc;t&eacute; arri&egrave;re-plan. Par exemple, lors de la
	    configuration des autorisations dans les sections
	    <code>&lt;Location&gt;</code> pour des chemins mapp&eacute;s par
	    <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> comme conteneurs de servlet (comme les
	    applications s'ex&eacute;cutant sous Apache Tomcat), on doit utiliser la
	    d&eacute;finition <code>mapping=servlet</code> pour &eacute;viter que les
	    param&egrave;tres du chemin et similaires n'interf&egrave;rent avec les
	    autorisations qui doivent &ecirc;tre d&eacute;finies par Apache httpd.</p>
        </div>
    </td></tr>
    <tr><td><a id="addressttl" name="addressttl">addressttl</a></td>
        <td>-1</td>
        <td><p>Dur&eacute;e de vie (TTL) en secondes des r&eacute;solutions DNS de l'adresse
	du serveur d'arri&egrave;re-plan dans le cache.
        -1 signifie jusqu'au red&eacute;marrage de Apache httpd.</p>
    </td></tr>

    </table>

    <p>Si l'URL de la directive Proxy d&eacute;bute par
    <code>balancer://</code> (par exemple:
    <code>balancer://cluster</code>, toute information relative au
    chemin est ignor&eacute;e), alors un serveur cible virtuel ne communiquant pas
    r&eacute;ellement avec le serveur d'arri&egrave;re-plan sera cr&eacute;&eacute;. Celui-ci sera
    en fait responsable de la gestion de plusieurs serveurs cibles "r&eacute;els". Dans
    ce cas, un jeu de param&egrave;tres particuliers s'applique &agrave; ce serveur cible
    virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus
    d'informations &agrave; propos du fonctionnement du r&eacute;partiteur de
    charge.
    </p>
    <table class="bordered"><tr><th>Param&egrave;tres du r&eacute;partiteur</th></tr></table>
    <table>
    <tr><th>Param&egrave;tre</th>
        <th>D&eacute;faut</th>
        <th>Description</th></tr>
    <tr><td>lbmethod</td>
        <td>byrequests</td>
        <td>M&eacute;thode de r&eacute;partition de charge utilis&eacute;e. Permet de
	s&eacute;lectionner la m&eacute;thode de planification de la r&eacute;partition de
	charge &agrave; utiliser. La valeur est soit <code>byrequests</code>,
	pour effectuer un d&eacute;compte de requ&ecirc;tes pond&eacute;r&eacute;es, soit
	<code>bytraffic</code>, pour effectuer une r&eacute;partition en
	fonction du d&eacute;compte des octets transmis, soit
	<code>bybusyness</code>, pour effectuer une r&eacute;partition en
	fonction des requ&ecirc;tes en attente. La valeur par d&eacute;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'&eacute;checs avant abandon.
    </td></tr>
    <tr><td>nofailover</td>
        <td>Off</td>
        <td>Si ce param&egrave;tre est d&eacute;fini &agrave; <code>On</code>, la session va
	s'interrompre si le serveur cible est dans un &eacute;tat d'erreur ou
	d&eacute;sactiv&eacute;. D&eacute;finissez ce param&egrave;tre &agrave; <code>On</code> si le serveur
	d'arri&egrave;re-plan ne supporte pas la r&eacute;plication de session.
    </td></tr>
    <tr><td>stickysession</td>
        <td>-</td>
        <td>Nom de session persistant du r&eacute;partiteur. La valeur est
	g&eacute;n&eacute;ralement du style <code>JSESSIONID</code> ou
	<code>PHPSESSIONID</code>, et d&eacute;pend du serveur d'application
	d'arri&egrave;re-plan qui supporte les sessions. Si le serveur
	d'application d'arri&egrave;re-plan utilise un nom diff&eacute;rent pour
	les cookies et les identifiants cod&eacute;s d'URL (comme les
	conteneurs de servlet), s&eacute;parez-les par le caract&egrave;re '|'. La
	premi&egrave;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&eacute;finit le caract&egrave;re de s&eacute;paration dans le cookie de
	session. Certains serveurs d'application d'arri&egrave;re-plan
	n'utilisent pas le caract&egrave;re '.' comme s&eacute;parateur. Par exemple
	le serveur Oracle Weblogic utilise le caract&egrave;re '!'. Cette
	option permet d'attribuer au caract&egrave;re de s&eacute;paration la valeur
	appropri&eacute;e. Si elle est d&eacute;finie &agrave; 'Off', aucun caract&egrave;re de
	s&eacute;paration n'est utilis&eacute;.
    </td></tr>
    <tr><td>scolonpathdelim</td>
        <td>Off</td>
        <td>Si ce param&egrave;tre est d&eacute;fini &agrave; <code>On</code>, le caract&egrave;re
	';' sera utilis&eacute; comme s&eacute;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&eacute;lai du r&eacute;partiteur en secondes. Si ce param&egrave;tre est
	d&eacute;fini, sa valeur correspond &agrave; la dur&eacute;e maximale d'attente pour
	un serveur cible libre. Le comportement par d&eacute;faut est de ne pas
	attendre.
    </td></tr>
    <tr><td>failonstatus</td>
        <td>-</td>
        <td>Une liste de codes d'&eacute;tat HTTP s&eacute;par&eacute;s par des virgules. Si
	ce param&egrave;tre est pr&eacute;sent, le worker se mettra en erreur si le
	serveur d'arri&egrave;re-plan renvoie un des codes d'&eacute;tat sp&eacute;cifi&eacute;s
	dans la liste. La r&eacute;cup&eacute;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&egrave;tre est d&eacute;fini &agrave; "On", un d&eacute;lai d'attente
	d&eacute;pass&eacute; en entr&eacute;e/sortie apr&egrave;s envoi d'une requ&ecirc;te au serveur
	d'arri&egrave;re-plan va mettre le processus en &eacute;tat d'erreur. La
	sortie de cet &eacute;tat d'erreur se passe de la m&ecirc;me fa&ccedil;on que pour
	les autres erreurs.<br>
	Disponible &agrave; 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 &agrave; usage unique de protection utilis&eacute; dans la page
	de l'application <code>balancer-manager</code>. Par d&eacute;faut, la
	protection de la page est assur&eacute;e par un nombre &agrave; usage unique
	automatique &agrave; base d'UUID. Si une valeur est pr&eacute;cis&eacute;e, elle sera
	utilis&eacute;e comme nombre &agrave; usage unique. La valeur
	<code>None</code> d&eacute;sactive la v&eacute;rification du nombre &agrave; usage
	unique.
    <div class="note"><h3>Note</h3>
      <p>En plus du nombre &agrave; usage unique, la page de l'application
      <code>balancer-manager</code> peut &ecirc;tre prot&eacute;g&eacute;e par une ACL.</p>
    </div>
     </td></tr>
    <tr><td>growth</td>
        <td>0</td>
        <td>Nombre de membres suppl&eacute;mentaires que l'on peut ajouter &agrave; ce
	r&eacute;partiteur en plus de ceux d&eacute;finis au niveau de la
	configuration.
    </td></tr>
    <tr><td>forcerecovery</td>
        <td>On</td>
        <td>Force la relance imm&eacute;diate de tous les membres sans tenir
	compte de leur param&egrave;tre retry dans le cas o&ugrave; ils sont tous en
	&eacute;tat d'erreur. Il peut cependant arriver qu'un membre d&eacute;j&agrave;
	surcharg&eacute; entre dans une situation critique si la relance de
	tous les membres est forc&eacute;e sans tenir compte du param&egrave;tre retry
	de chaque membre. Dans ce cas, d&eacute;finissez ce param&egrave;tre &agrave;
	<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&eacute;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&eacute;finition de rempla&ccedil;ants &agrave; chaud permet de s'assurer qu'un nombre
    d&eacute;termin&eacute; 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&ccedil;ants &agrave; chaud. Pour chaque serveur
    # ci-dessus qui viendrait &agrave; &ecirc;tre inutilisable (maintenance, arr&ecirc;t, non
    # contactable, en erreur, etc...), un de ces rempla&ccedil;ants &agrave; chaud prendra sa
    # place. Deux serveurs seront toujours disponibles pour traiter une requ&ecirc;te
    # (&agrave; moins qu'un ou plusieurs rempla&ccedil;ant &agrave; 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&eacute;serve qui ne sera utilis&eacute; que si
    aucun autre serveur cible ou rempla&ccedil;ant &agrave; 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&eacute;s additionnels de ProxyPass</strong></p>

    <p>Normalement, mod_proxy va mettre sous leur forme canonique les
    URLs trait&eacute;es par ProxyPass. Mais ceci peut &ecirc;tre incompatible avec
    certains serveurs d'arri&egrave;re-plan, et en particulier avec ceux qui
    utilisent <var>PATH_INFO</var>. Le mot-cl&eacute; optionnel
    <var>nocanon</var> modifie ce comportement et permet de transmettre
    le chemin d'URL sous sa forme brute au serveur d'arri&egrave;re-plan. Notez
    que ceci peut affecter la s&eacute;curit&eacute; de votre serveur d'arri&egrave;re-plan,
    car la protection limit&eacute;e contre les attaques &agrave; base d'URL que
    fournit le mandataire est alors supprim&eacute;e.</p>

    <p>Par d&eacute;faut, mod_proxy inclut la cha&icirc;ne de param&egrave;tres lors de la
    g&eacute;n&eacute;ration de la variable d'environnement
    <var>SCRIPT_FILENAME</var>. Le mot-cl&eacute; optionnel <var>noquery</var>
    (disponible &agrave; partir de la version 2.4.1) permet d'exclure cette
    cha&icirc;ne.</p>

    <p>Lorsque la directive ProxyPass est utilis&eacute;e &agrave; l'int&eacute;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&eacute;pertoire
    local est obtenu &agrave; partir de la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en sera de m&ecirc;me dans une
    section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> ; cependant, ProxyPass
    n'interpr&egrave;te pas les expressions rationnelles, et il sera ici
    n&eacute;cessaire d'utiliser la directive
    <code class="directive">ProxyPassMatch</code> &agrave; la place.</p>

    <p>Cette directive ne peut pas &ecirc;tre plac&eacute;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 &agrave; 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&eacute; optionnel <code>interpolate</code>, en combinaison avec la directive
    <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, permet &agrave; ProxyPass
    d'interpoler les variables d'environnement &agrave; l'aide de la syntaxe
    <var>${VARNAME}</var>. Notez que de nombreuses variables
    d'environnement standard d&eacute;riv&eacute;es de CGI n'existeront pas lorsque
    l'interpolation se produit ; vous devrez alors encore avoir avoir
    recours &agrave; <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des r&egrave;gles
    complexes. Notez aussi que l'interpolation n'est support&eacute;e dans
    la partie protocole/hostname/port d'une URL que pour les variables qui sont
    disponibles au moment o&ugrave; la directive est interpr&eacute;t&eacute;e (comme pour la
    directive <code class="directive"><a href="../mod/core.html#define">Define</a></code>). La d&eacute;termination
    dynamique de ces champs peut &ecirc;tre effectu&eacute;e &agrave; l'aide de
    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'exemple suivant d&eacute;crit comment utiliser
    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour d&eacute;finir dynamiquement le protocole &agrave; 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 class="note"><h3><a id="protoupgrade" name="protoupgrade">Promotion de
    protocole</a></h3>
      <p>Depuis la version 2.4.47 du serveur HTTP Apache, la promotion de
      protocole (tunneling) peut &ecirc;tre g&eacute;r&eacute; bout &agrave; bout par
      <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> en utilisant le param&egrave;tre <var><a href="#upgrade">upgrade</a></var>.</p>
      <p>Bout &agrave; bout signifie que la requ&ecirc;te de promotion de protocole en
      provenance du client/navigateur est tout d'abord transmise par
      <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> au serveur origine et que le protocole de
      la connexion ne sera modifi&eacute; (et &laquo;&nbsp;tunnelis&eacute;&nbsp;&raquo; par
      <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>) que si le serveur origine accepte/initie
      la promotion (r&eacute;ponse HTTP <code>101 Switching Protocols</code>). Si le
      serveur origine renvoie une r&eacute;ponse diff&eacute;rente,
      <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> continuera la transmission en utilisant
      (et en for&ccedil;ant) le protocole HTTP habituel pour cette connexion.</p>
      <p>Voir <a href="#wsupgrade">Promotion de protocole vers Websocket
    (versions 2.4.47 et ult&eacute;rieures)</a> pour un exemple de configuration qui
    utilise<code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
      <p>Avec les versions 2.4.46 et ant&eacute;rieures du serveur HTTP Apache (ou si
      la directive <code class="directive"><a href="../mod/mod_proxy_wstunnel.html#proxywebsocketfallbacktoproxyhttp">ProxyWebsocketFallbackToProxyHttp</a></code>
      des versions 2.4.48 et ult&eacute;rieures d&eacute;sactive la prise en charge par
      <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>), voir la documentation de
      <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> pour la m&eacute;thode permettant de mandater
      le protocole WebSocket.</p></div>


</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="proxypassinherit">Directive <span id="ProxyPassInherit">ProxyPassInherit</span> <a title="Lien permanent" href="#proxypassinherit" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>H&eacute;ritage des directives ProxyPass d&eacute;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&eacute;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&eacute;:</a></th><td>Disponible &agrave; partir de la version 2.4.5 du serveur
HTTP Apache.</td></tr>
</table>
        <p>Cette directive permet &agrave; un serveur virtuel d'h&eacute;riter des
	directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> d&eacute;finies
	au niveau du serveur principal. Si vous utilisez la fonctionnalit&eacute; de
	modifications dynamiques du Balancer Manager, cette directive peut
	causer des probl&egrave;mes et des comportements inattendus et doit donc
	&ecirc;tre d&eacute;sactiv&eacute;e.</p>
        <p>Les valeurs d&eacute;finies au niveau du serveur principal
	constituent les valeurs par d&eacute;faut pour tous les serveurs virtuels.</p>
        <p>La d&eacute;sactivation de ProxyPassInherit d&eacute;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 id="proxypassinterpolateenv">Directive <span id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</span> <a title="Lien permanent" href="#proxypassinterpolateenv" class="permalink">&para;</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&eacute;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&eacute;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&eacute;:</a></th><td>Disponible depuis la version 2.2.9 d'Apache</td></tr>
</table>
    <p>Cette directive, ainsi que l'argument <code>interpolate</code> 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 &agrave; l'aide de
    variables d'environnement, ces derni&egrave;res pouvant &ecirc;tre d&eacute;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&icirc;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 <code>interpolate</code> est
    sp&eacute;cifi&eacute;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&ugrave; la directive est interpr&eacute;t&eacute;e (similairement &agrave; la directive
    <code class="directive"><a href="../mod/core.html#define">Define</a></code>). Pour tous les autres cas,
    utilisez plut&ocirc;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 &agrave; off, &agrave; moins que vous n'en ayez r&eacute;ellemnt
    besoin ! Par exemple, ajouter des variables &agrave;
    <code class="directive">ProxyPass</code> peut entra&icirc;ner l'utilisation des serveurs
    d'arri&egrave;re-plan de mod_proxy configur&eacute;s par d&eacute;faut, et ceux-ci ne permettent
    pas un r&eacute;glage fin comme la r&eacute;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 id="proxypassmatch">Directive <span id="ProxyPassMatch">ProxyPassMatch</span> <a title="Lien permanent" href="#proxypassmatch" class="permalink">&para;</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>key=value</var>
	<var>[key=value</var> ...]]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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&eacute;:</a></th><td>Depuis la version 2.4.47, les param&egrave;tres <var>key=value</var>
sont pris en compte lorsque le param&egrave;tre <var>url</var> contient des r&eacute;f&eacute;rences
arri&egrave;res (voir note ci-dessous).
</td></tr>
</table>
    <p>Cette directive est identique &agrave; 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&eacute;fixes. L'expression rationnelle sp&eacute;cifi&eacute;e est compar&eacute;e &agrave;
    l'<var>url</var>, et si elle correspond, le serveur va substituer
    toute correspondance entre parenth&egrave;ses dans la cha&icirc;ne donn&eacute;e et
    l'utiliser comme nouvelle <var>url</var>.</p>

    <div class="note">Cette directive ne peut pas &ecirc;tre
    utilis&eacute;e dans un contexte de niveau r&eacute;pertoire.</div>

    <div class="warning"><h3>Correspondance de worker avec les r&eacute;f&eacute;rences
    arri&egrave;res</h3>
    <p>Quand <code class="directive">ProxyPassMatch</code> contient des r&eacute;f&eacute;rences
    arri&egrave;res (par exemple <code>$1</code>) dans l'URL cible, chaque requ&ecirc;te
    produit un URL r&eacute;solu diff&eacute;rent. Comme la recherche de correspondance des <a href="#workers">workers</a> s'effectue par URL, ces requ&ecirc;tes ne
    correspondront pas au worker cr&eacute;&eacute; par cette directive et utiliseront &agrave; la
    place le worker du mandataire inverse par d&eacute;faut, qui ne r&eacute;utilise pas les
    connexions, ni ne met en cache les recherches DNS. Pour activer la mise en
    commun des connexions, d&eacute;finissez un worker explicite pour le serveur dorsal
    s&eacute;par&eacute;ment&nbsp;:</p>
    <pre class="prettyprint lang-config">ProxyPass        "/notused" "http://backend.example.com/" connectiontimeout=5 timeout=30
ProxyPassMatch   "^/(.*\.gif)$" "http://backend.example.com/$1"</pre>

    <p>La d&eacute;finition explicite du worker <code class="directive">ProxyPass</code> permet
    de s'assurer que le jeu de connexions d'arri&egrave;re-plan est disponible pour les
    requ&ecirc;tes <code class="directive">ProxyPassMatch</code>.</p>
    </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&ecirc;te locale
    <code>http://example.com/foo/bar.gif</code> en une requ&ecirc;te mandat&eacute;e
    pour <code>http://backend.example.com/foo/bar.gif</code>.</p>

    <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
    sous-r&eacute;pertoire donn&eacute;.</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 &agrave; partir de la directive <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>. En dehors d'une
    section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou
    <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
    l'argument <var>regex</var> est requis.</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&eacute;faut</h3>
 	<p>Lorsque le param&egrave;tre URL n'utilise pas de r&eacute;f&eacute;rences arri&egrave;res
	dans l'expression rationnelle, l'URL originale sera ajout&eacute;e au
	param&egrave;tre URL.
 	</p>
 	</div>

    <div class="note">
        <h3>Param&egrave;tres <code>key=value</code> et <var>url</var> avec
	r&eacute;f&eacute;rences arri&egrave;res</h3>
      <p>Depuis la version 2.4.47, les param&egrave;tres <code>key=value</code> ne sont
      plus ignor&eacute;s dans une directive <code class="directive">ProxyPassMatch</code>
      lorsqu'on utilise une <var>url</var> contenant des r&eacute;f&eacute;rences arri&egrave;res.
      Cependant, pour conserver le comportement pr&eacute;c&eacute;dent relatif &agrave; la
      r&eacute;utilisation/conservation des connexions d'arri&egrave;re-plan (qui n'avaient
      jamais &eacute;t&eacute; r&eacute;utilis&eacute;es auparavant pour ces URLs), les param&egrave;tres
      <var>enablereuse</var> et <var>disablereuse</var> prendront dans ce cas
      respectivement comme valeurs par d&eacute;faut <code>off</code> et
      <code>on</code>. D&eacute;finir explicitement <code>enablereuse=on</code> permet
      de r&eacute;utiliser les connexions, <strong>sauf si</strong> des r&eacute;f&eacute;rences
      arri&egrave;res se trouvent dans la partie <code>authority</code> (nom d'h&ocirc;te
      et/ou port) de l'<var>url</var> (cette condition est impos&eacute;e depuis la
      version 2.4.55 du serveur HTTP Apache et provoque un avertissement au
      d&eacute;marrage car ces URLs ne sont pas r&eacute;utilisables sous cette forme).</p>
    </div>

    <div class="warning">
      <h3>Avertissement &agrave; propos de la s&eacute;curit&eacute;</h3>
      <p>Lors de la construction de l'URL cible de la r&egrave;gle, il convient
      de prendre en compte l'impact en mati&egrave;re de s&eacute;curit&eacute; 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 id="proxypassreverse">Directive <span id="ProxyPassReverse">ProxyPassReverse</span> <a title="Lien permanent" href="#proxypassreverse" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-t&ecirc;tes de la r&eacute;ponse HTTP envoy&eacute;e
par un serveur mandat&eacute; en inverse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var>
[interpolate]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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&ecirc;tes <code>Location</code>,
    <code>Content-Location</code> et <code>URI</code> des r&eacute;ponses de
    redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilis&eacute; en
    tant que mandataire inverse (ou passerelle), afin d'&eacute;viter de
    court-circuiter le mandataire inverse suite aux redirections HTTP
    sur le serveur d'arri&egrave;re-plan qui restent derri&egrave;re le mandataire
    inverse.</p>

    <p>Seuls les en-t&ecirc;tes de r&eacute;ponse HTTP sp&eacute;cialement mentionn&eacute;s
    ci-dessus seront r&eacute;&eacute;crits. Apache httpd ne r&eacute;&eacute;crira ni les autres en-t&ecirc;tes
    de r&eacute;ponse, ni par d&eacute;faut les r&eacute;f&eacute;rences d'URLs dans les pages HTML. Cela
    signifie que dans le cas o&ugrave; un contenu mandat&eacute; contient des
    r&eacute;f&eacute;rences &agrave; des URLs absolues, elles court-circuiteront le
    mandataire. Pour r&eacute;&eacute;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&egrave;tres s'utilisent de la m&ecirc;me fa&ccedil;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&ecirc;te
    locale pour <code>http://example.com/mirror/foo/bar</code> en une
    requ&ecirc;te mandat&eacute;e pour <code>http://backend.example.com/bar</code>
    (la fonctionnalit&eacute; 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&ocirc;te utilis&eacute; pour construire l'URL est choisi en respectant la
    d&eacute;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 &ecirc;tre utilis&eacute;e en conjonction avec la
    fonctionnalit&eacute; 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&eacute;pend pas d'une directive
    <code class="directive"><a href="#proxypass">ProxyPass</a></code>
    correspondante.</p>

    <p>Le mot-cl&eacute; optionnel <code>interpolate</code>, en combinaison avec la
    directive <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>,
    permet l'interpolation des variables d'environnement sp&eacute;cifi&eacute;es en utilisant
    le format <var>${VARNAME}</var> Notez que l'interpolation n'est pas
    support&eacute;e dans la partie protocole d'une URL.  </p>

    <p>Lorsque cette directive est utilis&eacute;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&eacute;pertoire local est obtenu &agrave; partir de l'argument de la
    directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. En
    dehors d'une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, l'argument <var>chemin</var> est
    requis. Il en est de m&ecirc;me &agrave; l'int&eacute;rieur d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le r&eacute;sultat ne
    sera probablement pas celui attendu car ProxyPassReverse va interpr&eacute;ter
    l'expression rationnelle litt&eacute;ralement comme un chemin ; si besoin est dans
    ce cas, d&eacute;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&eacute;par&eacute;e.</p>

    <p>Cette directive ne peut pas &ecirc;tre plac&eacute;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 id="proxypassreversecookiedomain">Directive <span id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</span> <a title="Lien permanent" href="#proxypassreversecookiedomain" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la cha&icirc;ne correspondant au domaine dans les en-t&ecirc;tes
Set-Cookie en provenance d'un serveur mandat&eacute;</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var>
<var>domaine-public</var> [interpolate]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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 &agrave; celle de la
directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
mais au lieu de r&eacute;&eacute;crire des en-t&ecirc;tes qui contiennent des URLs, elle
r&eacute;&eacute;crit la cha&icirc;ne correspondant au domaine dans les en-t&ecirc;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 id="proxypassreversecookiepath">Directive <span id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</span> <a title="Lien permanent" href="#proxypassreversecookiepath" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la cha&icirc;ne correspondant au chemin dans les en-t&ecirc;tes
Set-Cookie en provenance d'un serveur mandat&eacute;</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var>
<var>chemin-public</var> [interpolate]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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&egrave;re utile en conjonction avec la directive
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> dans les
situations o&ugrave; les chemins d'URL d'arri&egrave;re-plan correspondent &agrave; des
chemins publics sur le mandataire inverse. Cette directive permet de
r&eacute;&eacute;crire la cha&icirc;ne <code>path</code> dans les en-t&ecirc;tes
<code>Set-Cookie</code>. Si le d&eacute;but du chemin du cookie correspond &agrave;
<var>chemin-interne</var>, le chemin du cookie sera remplac&eacute; 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&eacute;&eacute;crire un cookie poss&eacute;dant un chemin d'arri&egrave;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 id="proxypreservehost">Directive <span id="ProxyPreserveHost">ProxyPreserveHost</span> <a title="Lien permanent" href="#proxypreservehost" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-t&ecirc;te de requ&ecirc;te entrante Host pour la requ&ecirc;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&eacute;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&eacute;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&eacute;:</a></th><td>Utilisable
dans un contexte de r&eacute;pertoire depuis la version 2.3.3.</td></tr>
</table>
    <p>Lorsqu'elle est activ&eacute;e, cette directive va transmettre l'en-t&ecirc;te
    <code>Host:</code> de la requ&ecirc;te entrante vers le serveur mandat&eacute;, au lieu
    du nom d'h&ocirc;te sp&eacute;cifi&eacute; par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>

    <p>Cette directive est habituellement d&eacute;finie &agrave; <code>Off</code>.
    Elle est principalement utile dans les configurations particuli&egrave;res
    comme l'h&eacute;bergement virtuel mandat&eacute; en masse &agrave; base de nom, o&ugrave;
    l'en-t&ecirc;te Host d'origine doit &ecirc;tre &eacute;valu&eacute; par le serveur
    d'arri&egrave;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 id="proxyreceivebuffersize">Directive <span id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</span> <a title="Lien permanent" href="#proxyreceivebuffersize" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon r&eacute;seau pour les connexions mandat&eacute;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&eacute;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&eacute;cifier une taille de tampon r&eacute;seau explicite (TCP/IP) pour les
    connexions mandat&eacute;es HTTP et FTP, afin d'am&eacute;liorer le d&eacute;bit de
    donn&eacute;es. Elle doit &ecirc;tre sup&eacute;rieure &agrave; <code>512</code> ou d&eacute;finie &agrave;
    <code>0</code> pour indiquer que la taille de tampon par d&eacute;faut du
    syst&egrave;me doit &ecirc;tre utilis&eacute;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 id="proxyremote">Directive <span id="ProxyRemote">ProxyRemote</span> <a title="Lien permanent" href="#proxyremote" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant &agrave; utiliser pour traiter certaines
requ&ecirc;tes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>match</var> <var>remote-server</var> [<var>username:password</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&eacute;:</a></th><td>Le troisi&egrave;me argument facultatif est disponible depuis la version
2.4.59 du serveur HTTP Apache.</td></tr>
</table>
    <p>Cette directive permet de d&eacute;finir des mandataires distants pour
    ce mandataire. <var>match</var> est soit le nom d'un protocole
    que supporte le serveur distant, soit une URL partielle pour
    laquelle le serveur distant devra &ecirc;tre utilis&eacute;, soit <code>*</code>
    pour indiquer que le serveur distant doit &ecirc;tre utilis&eacute; pour toutes
    les requ&ecirc;tes. <var>remote-server</var> est une URL partielle
    correspondant au serveur distant. Syntaxe : </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> est effectivement le protocole &agrave; 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&ecirc;tes sont redirig&eacute;es par le mandataire
    distant en utilisant la m&eacute;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&egrave;re ligne de l'exemple, le mandataire va faire
    suivre les requ&ecirc;tes FTP, encapsul&eacute;es dans une autre requ&ecirc;te mandat&eacute;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&egrave;re-plan peut &ecirc;tre int&eacute;gr&eacute; dans
    l'espace d'URL d'un serveur virtuel, m&ecirc;me si ce serveur est cach&eacute;
    par un autre mandataire direct.</p>

    <p>Le troisi&egrave;me argument optionnel <var>username:password</var> permet de
    sp&eacute;cifier des donn&eacute;es d'authentification basiques &agrave; transmettre au mandataire
    distant d&eacute;fini. Ces donn&eacute;es d'authentification seront toujoujours envoy&eacute;es
    sans attendre que le mandataire distant n'effectue une demande
    d'authentification. La variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a> n'est plus prise en
    compte si cet argument est utilis&eacute;.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="proxyremotematch">Directive <span id="ProxyRemoteMatch">ProxyRemoteMatch</span> <a title="Lien permanent" href="#proxyremotematch" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant &agrave; utiliser pour traiter les requ&ecirc;tes
correspondant &agrave; une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var> [<var>username:password</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&eacute;:</a></th><td>Le troisi&egrave;me argument facultatif est disponible &agrave; partir de la
version 2.4.59 du serveur HTTP Apache.</td></tr>
</table>
    <p>La directive <code class="directive">ProxyRemoteMatch</code> est
    identique &agrave; la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, &agrave; l'exception du
    premier argument qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
    rationnelle</a> &agrave; mettre en correspondance avec l'URL de la
    requ&ecirc;te.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="proxyrequests">Directive <span id="ProxyRequests">ProxyRequests</span> <a title="Lien permanent" href="#proxyrequests" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalit&eacute; (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&eacute;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&eacute;sactiver la fonctionnalit&eacute; de
    serveur mandataire direct d'Apache httpd. D&eacute;finir ProxyRequests &agrave;
    <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 &ecirc;tre d&eacute;finie &agrave;
    <code>Off</code>.</p>

    <p>Afin d'activer la fonctionnalit&eacute; 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 &eacute;galement &ecirc;tre charg&eacute;s dans le
    serveur.</p>

    <p>Pour activer la fonctionnalit&eacute; de mandataire sur les sites chiffr&eacute;s en HTTPS, le module
    <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit &eacute;galement &ecirc;tre charg&eacute; dans le serveur.</p>

    <div class="warning"><h3>Avertissement</h3>
      <p>N'activez pas la fonctionnalit&eacute; de mandataire avec la directive
      <code class="directive">ProxyRequests</code> avant
      d'avoir <a href="#access">s&eacute;curis&eacute; votre serveur</a>. Les serveurs
      mandataires ouverts sont dangereux non seulement pour votre
      r&eacute;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 id="proxyset">Directive <span id="ProxySet">ProxySet</span> <a title="Lien permanent" href="#proxyset" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D&eacute;finit diff&eacute;rents param&egrave;tres relatifs &agrave; la r&eacute;partition de
charge des mandataires et aux membres des groupes de r&eacute;partition de
charge</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>cl&eacute;=valeur [cl&eacute;=valeur ...]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, r&eacute;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&eacute;:</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&eacute;thode alternative pour d&eacute;finir tout
    param&egrave;tre relatif aux r&eacute;partiteurs de charge et serveurs cibles de
    mandataires normalement d&eacute;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&eacute;partiteur|url de
    serveur cible</var>&gt;</code>, l'argument <var>url</var> n'est pas
    n&eacute;cessaire. Comme effet de bord, le r&eacute;partiteur ou serveur cible respectif
    est cr&eacute;&eacute;. Ceci peut s'av&eacute;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 &agrave; l'esprit qu'une m&ecirc;me cl&eacute; de param&egrave;tre peut avoir
      diff&eacute;rentes significations selon qu'elle s'applique &agrave; un
      r&eacute;partiteur ou &agrave; un serveur cible, et ceci est illustr&eacute; par les deux
      exemples pr&eacute;c&eacute;dents o&ugrave; 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 id="proxysourceaddress">Directive <span id="ProxySourceAddress">ProxySourceAddress</span> <a title="Lien permanent" href="#proxysourceaddress" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D&eacute;finit l'adresse IP locale pour les connexions mandat&eacute;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&eacute;:</a></th><td>Disponible depuis la version 2.3.9</td></tr>
</table>
    <p>Cette directive permet de d&eacute;finir une adresse IP locale
    sp&eacute;cifique &agrave; laquelle faire r&eacute;f&eacute;rence lors d'une connexion &agrave; un
    serveur d'arri&egrave;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 id="proxystatus">Directive <span id="ProxyStatus">ProxyStatus</span> <a title="Lien permanent" href="#proxystatus" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'&eacute;tat du r&eacute;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&eacute;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&eacute;:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr>
</table>
    <p>Cette directive permet de sp&eacute;cifier si les donn&eacute;es d'&eacute;tat du
    r&eacute;partiteur de charge du mandataire doivent &ecirc;tre affich&eacute;es via la
    page d'&eacute;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&ecirc;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 id="proxytimeout">Directive <span id="ProxyTimeout">ProxyTimeout</span> <a title="Lien permanent" href="#proxytimeout" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D&eacute;lai d'attente r&eacute;seau pour les requ&ecirc;tes
mandat&eacute;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&eacute;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 &agrave; l'utilisateur de sp&eacute;cifier un d&eacute;lai pour
    les requ&ecirc;tes mandat&eacute;es. Ceci s'av&egrave;re utile dans le cas d'un serveur
    d'applications lent et bogu&eacute; qui a tendance &agrave; se bloquer, et si vous
    pr&eacute;f&eacute;rez simplement renvoyer une erreur timeout et abandonner la
    connexion en douceur plut&ocirc;t que d'attendre jusqu'&agrave; ce que le serveur
    veuille bien r&eacute;pondre.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="proxyvia">Directive <span id="ProxyVia">ProxyVia</span> <a title="Lien permanent" href="#proxyvia" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-t&ecirc;te de r&eacute;ponse HTTP
<code>Via</code> pour les requ&ecirc;tes mandat&eacute;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&eacute;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&ocirc;ler l'utilisation de l'en-t&ecirc;te
    HTTP <code>Via:</code> par le mandataire. Le but recherch&eacute; est de
    contr&ocirc;ler le flux des requ&ecirc;tes mandat&eacute;es tout au long d'une cha&icirc;ne
    de serveurs mandataires. Voir la <a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a> (HTTP/1.1),
    section 14.45 pour une description des lignes d'en-t&ecirc;te
    <code>Via:</code>.</p>

    <ul>
    <li>Si elle est d&eacute;finie &agrave; <code>Off</code>, valeur par d&eacute;faut, cette
    directive n'effectue aucun traitement particulier. Si une requ&ecirc;te ou
    une r&eacute;ponse contient un en-t&ecirc;te <code>Via:</code>, il est transmis
    sans modification.</li>

    <li>Si elle est d&eacute;finie &agrave; <code>On</code>, chaque requ&ecirc;te ou r&eacute;ponse
    se verra ajouter une ligne d'en-t&ecirc;te <code>Via:</code> pour le
    serveur courant.</li>

    <li>Si elle est d&eacute;finie &agrave; <code>Full</code>, chaque ligne d'en-t&ecirc;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&eacute;finie &agrave; <code>Block</code>, chaque requ&ecirc;te
    mandat&eacute;e verra ses lignes d'en-t&ecirc;te <code>Via:</code> supprim&eacute;es.
    Aucun nouvel en-t&ecirc;te <code>Via:</code> ne sera g&eacute;n&eacute;r&eacute;.</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&ccedil;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 id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; sous <a href="https://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/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
    langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
    document.body.appendChild(qv);
    var qvBtn = document.createElement('button');
    qvBtn.className = 'qv-toggle';
    qvBtn.setAttribute('aria-label', 'Toggle page navigation');
    qvBtn.innerHTML = '&#9776;';
    document.body.appendChild(qvBtn);
    qvBtn.addEventListener('click', function() {
        var isOpen = qv.classList.toggle('open');
        if (isOpen) {
            qv.style.top = window.scrollY + 10 + 'px';
        }
    });
    window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>