]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_proxy.html.fr
Rebuild.
[apache] / docs / manual / mod / mod_proxy.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_proxy - Serveur Apache HTTP Version 2.4</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.4</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_proxy</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
31 <a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
32 </div>
33 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr>
34 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
35 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr>
36 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
37 <h3>Sommaire</h3>
38
39     <div class="warning"><h3>Avertissement</h3>
40       <p>N'activez pas la fonctionnalité de mandataire avec la directive
41       <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
42       d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
43       mandataires ouverts sont dangereux pour votre réseau,
44       mais aussi pour l'Internet au sens large.</p>
45     </div>
46
47     <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et ses modules associés implémentent
48     un mandataire/passerelle pour le serveur HTTP Apache, et supportent
49     de nombreux protocoles courants, ainsi que plusieurs algorithmes de
50     répartition de charge. Le support de protocoles et d'algorithmes de
51     répartition de charge supplémentaires peut être assuré par des
52     modules tiers.</p>
53
54     <p>Un jeu de modules chargés dans le serveur permet de fournir les
55     fonctionnalités souhaitées. Ces modules peuvent être inclus
56     statiquement à la compilation, ou dynamiquement via la directive
57     <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Ce jeu de module
58     doit comporter :</p>
59
60     <ul>
61       <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de
62       base d'un mandataire</li>
63
64       <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et un ou plusieurs modules
65       de répartition, si la répartition de charge doit être mise en
66       oeuvre (Voir la documentation de
67       <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li>
68
69       <li>un ou plusieurs modules de types de mandataire, ou protocoles
70       :
71
72         <table class="bordered">
73         <tr><th>Protocole</th><th>Module</th></tr>
74         <tr><td>AJP13 (Protocole Apache JServe version
75           1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr>
76         <tr><td>CONNECT (pour
77           SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr>
78         <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr>
79         <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr>
80         <tr><td>HTTP/0.9, HTTP/1.0, et
81           HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr>
82         <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr>
83         <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>
84         </table>
85       </li>
86     </ul>
87
88     <p>En outre, d'autres modules fournissent des fonctionnalités
89     étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
90     fournissent la mise en cache. Les directives <code>SSLProxy*</code>
91     du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des
92     serveurs distants en utilisant le protocole SSL/TLS. Ces modules
93     additionnels devront être chargés et configurés pour pouvoir
94     disposer de ces fonctionnalités.</p>
95 </div>
96 <div id="quickview"><h3>Sujets</h3>
97 <ul id="topics">
98 <li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et
99     mandataires/passerelles inverses</a></li>
100 <li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li>
101 <li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li>
102 <li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li>
103 <li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
104     mandataire</a></li>
105 <li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li>
106 <li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire en Intranet</a></li>
107 <li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au
108     protocole</a></li>
109 <li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
110 <li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
111     inverse</a></li>
112 </ul><h3 class="directives">Directives</h3>
113 <ul id="toc">
114 <li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li>
115 <li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li>
116 <li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
117 <li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li>
118 <li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
119 <li><img alt="" src="../images/down.gif" /> <a href="#proxy">&lt;Proxy&gt;</a></li>
120 <li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li>
121 <li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
122 <li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
123 <li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
124 <li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
125 <li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
126 <li><img alt="" src="../images/down.gif" /> <a href="#proxymatch">&lt;ProxyMatch&gt;</a></li>
127 <li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
128 <li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
129 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li>
130 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
131 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
132 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
133 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
134 <li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
135 <li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
136 <li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
137 <li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
138 <li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
139 <li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
140 <li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
141 <li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li>
142 <li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
143 <li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
144 <li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
145 </ul>
146 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
147 <ul class="seealso">
148 <li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
149 <li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li>
150 <li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
151 <li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li>
152 <li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
153 <li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
154 <li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li>
155 <li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li>
156 <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
157 <li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
158 <li><a href="#comments_section">Commentaires</a></li></ul></div>
159 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
160 <div class="section">
161 <h2><a name="forwardreverse" id="forwardreverse">Mandataires directs et
162     mandataires/passerelles inverses</a></h2>
163       <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire
164       <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
165       mode <dfn>passerelle</dfn>).</p>
166
167       <p>Un <dfn>mandataire direct</dfn> standard est un serveur
168       intermédiaire qui s'intercale entre le client et le <em>serveur
169       demandé</em>. Pour obtenir un contenu hébergé par
170       le serveur demandé, le client envoie une requête au
171       mandataire en nommant le serveur demandé comme
172       cible. Le mandataire extrait alors le contenu depuis le
173       serveur demandé et le renvoie enfin au client. Le client doit être
174       configuré de manière appropriée pour pouvoir utiliser le mandataire
175       direct afin d'accéder à d'autres sites.</p>
176
177       <p>L'accès à Internet depuis des clients situés derrière un
178       pare-feu est une utilisation typique du mandataire direct. Le
179       mandataire direct peut aussi utiliser la mise en cache (fournie
180       par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
181       réseau.</p>
182
183       <p>La fonctionnalité de mandataire direct est activée via la
184       directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
185       Comme les mandataires directs permettent aux clients d'accéder à
186       des sites quelconques via votre serveur et de dissimuler leur
187       véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
188       les clients autorisés puissent accéder à votre serveur avant
189       d'activer la fonctionnalité de mandataire direct.</p>
190
191       <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
192       quant à lui, apparaît au client comme un serveur web standard.
193       Aucune configuration particulière du client n'est nécessaire. Le
194       client adresse ses demandes de contenus ordinaires dans l'espace
195       de nommage du mandataire inverse. Ce dernier décide alors où
196       envoyer ces requêtes, et renvoie le contenu au client comme s'il
197       l'hébergeait lui-même.</p>
198
199       <p>L'accès d'utilisateurs depuis Internet vers un serveur situé
200       derrière un pare-feu est une utilisation typique du mandataire
201       inverse. On peut aussi utiliser les mandataires inverses pour
202       mettre en oeuvre une répartition de charge entre plusieurs
203       serveurs en arrière-plan, ou fournir un cache pour un serveur
204       d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
205       tout simplement servir à rassembler plusieurs serveurs dans le
206       même espace de nommage d'URLs.</p>
207
208       <p>La fonctionnalité de mandataire inverse est activée via la
209       directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou
210       le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est
211       <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer
212       un mandataire inverse.</p>
213     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
214 <div class="section">
215 <h2><a name="examples" id="examples">Exemples simples</a></h2>
216
217     <p>Les exemples ci-dessous illustrent de manière très basique la
218     mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
219     pour vous aider à démarrer. Reportez-vous à la documentation de
220     chaque directive.</p>
221
222     <p>Si en outre, vous désirez activer la mise en cache, consultez la
223     documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
224
225     <div class="example"><h3>Mandataire inverse</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
226 ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
227 </div>
228
229     <div class="example"><h3>Mandataire direct</h3><pre class="prettyprint lang-config">ProxyRequests On
230 ProxyVia On
231
232 &lt;Proxy "*"&gt;
233   Require host internal.example.com
234 &lt;/Proxy&gt;</pre>
235 </div>
236     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
237 <div class="section">
238 <h2><a name="handler" id="handler">Accès via un gestionnaire</a></h2>
239
240     <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
241     requête de mandataire inverse en créant un gestionnaire de transfert
242     approprié. Dans l'exemple suivant, toutes les requêtes pour
243     des scripts PHP seront transmises au serveur FastCGI
244     spécifié via un mandat inverse :
245     </p>
246
247     <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config">&lt;FilesMatch "\.php$"&gt;
248     # Les sockets Unix nécessitent une version 2.4.7 ou supérieure du
249     # serveur HTTP Apache
250     SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
251 &lt;/FilesMatch&gt;</pre>
252 </div>
253
254       <p>Cette fonctionnalité est disponible à partir de la version
255       2.4.10 du serveur HTTP Apache.</p>
256
257     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
258 <div class="section">
259 <h2><a name="workers" id="workers">Workers</a></h2>
260       <p>Le mandataire gère la configuration et les paramètres de
261       communication des serveurs originaux au sein d'objets nommés
262       <dfn>workers</dfn>. Deux types de worker sont fournis : le worker
263       par défaut du mandataire direct et le worker par défaut du
264       mandataire inverse. Il est aussi possible de définir explicitement
265       des workers supplémentaires.</p>
266
267       <p>Les deux workers par défaut possèdent une configuration figée
268       et seront utilisés si aucun autre worker ne correspond à la
269       requête. Ils n'utilisent ni les jeux de connexions (connection
270       pooling), ni les
271       connexions HTTP persistantes (Keep-Alive). En effet, les
272       connexions TCP vers le serveur original sont fermées et ouvertes
273       pour chaque requête.</p>
274
275       <p>Les workers définis explicitement sont identifiés par leur URL.
276       Ils sont en général définis via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> lorsqu'on les
277       utilise dans le cadre d'un mandataire inverse :</p>
278
279       <div class="example"><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
280 </div>
281       
282
283       <p>Cette directive va créer un worker associé à l'URL du serveur
284       original <code>http://backend.example.com</code> qui utilisera les
285       valeurs de timeout données. Lorsqu'ils sont utilisés dans le cadre
286       d'un mandataire direct, les workers sont en général définis via la
287       directive <code class="directive"><a href="#proxyset">ProxySet</a></code>,</p>
288
289       <div class="example"><pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
290 </div>
291       
292
293       <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>
294
295       <pre class="prettyprint lang-config">&lt;Proxy "http://backend.example.com"&gt;
296   ProxySet connectiontimeout=5 timeout=30
297 &lt;/Proxy&gt;</pre>
298
299
300       <p>L'utilisation de workers définis explicitement dans le mode
301       mandataire direct n'est pas très courante, car les mandataires
302       directs communiquent en général avec de nombreux serveurs
303       originaux. La création explicite de workers pour certains serveurs
304       originaux peut cependant s'avérer utile si ces serveurs sont
305       très souvent sollicités. A leur niveau, les workers explicitement
306       définis ne possèdent aucune notion de mandataire direct ou
307       inverse. Ils encapsulent un concept de communication commun avec
308       les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le
309       cadre d'un mandataire inverse sera aussi utilisé dans le cadre
310       d'un mandataire directe chaque fois que l'URL vers le serveur
311       original correspondra à l'URL du worker, et vice versa.</p>
312
313       <p>L'URL qui identifie un worker correspond à l'URL de son serveur
314       original, y compris un éventuel chemin donné :</p>
315
316       <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
317 ProxyPass "/docs" "http://backend.example.com/docs"</pre>
318
319
320       <p>Dans cet exemple, deux workers différents sont définis, chacun
321       d'eux utilisant des configurations et jeux de connexions
322       séparés.</p>
323
324       <div class="warning"><h3>Partage de workers</h3>
325         <p>Le partage de workers intervient lorsque les URLs des workers
326         s'entrecoupent, ce qui arrive lorsque l'URL d'un worker
327         correspond au début de l'URL d'un autre worker défini plus loin
328         dans le fichier de configuration. Dans l'exemple suivant,</p>
329
330         <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
331 ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
332
333
334         <p>le second worker n'est pas vraiment créé. C'est le premier
335         worker qui est en fait utilisé. L'avantage de ceci réside dans
336         le fait qu'il n'existe qu'un seul jeu de connexions, ces
337         dernières étant donc réutilisées plus souvent. Notez que tous
338         les attributs de configuration définis explicitement pour le
339         deuxième worker seront ignorés, ce qui sera journalisé en tant
340         qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de
341         timeout retenue pour l'URL <code>/exemples</code> sera
342         <code>60</code>, et non <code>10</code> !</p>
343
344         <p>Si vous voulez empêcher le partage de workers, classez vos
345         définitions de workers selon la longueur des URLs, de la plus
346         longue à la plus courte. Si au contraire vous voulez favoriser
347         ce partage, utilisez l'ordre de classement inverse. Voir aussi
348         l'avertissement à propos de l'ordre de classement des directives
349         <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
350
351       </div> 
352
353       <p>Les workers définis explicitement sont de deux sortes :
354       <dfn>workers directs</dfn> et <dfn>workers de répartition (de
355       charge)</dfn>. Ils supportent de nombreux attributs de
356       configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs
357       peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
358
359       <p>Le jeu d'options disponibles pour un worker direct dépend du
360       protocole spécifié dans l'URL du serveur original. Les protocoles
361       disponibles comprennent <code>ajp</code>, <code>fcgi</code>,
362       <code>ftp</code>, <code>http</code> et <code>scgi</code>.</p>
363
364       <p>Les workers de répartition sont des workers virtuels qui
365       utilisent les workers directs, connus comme faisant partie de leurs
366       membres, pour le traitement effectif des requêtes. Chaque
367       répartiteur peut comporter plusieurs membres. Lorsqu'il traite une
368       requête, il choisit un de ses membres en fonction de l'algorithme
369       de répartition de charge défini.</p>
370
371       <p>Un worker de répartition est créé si son URL de worker comporte
372       <code>balancer</code> comme indicateur de protocole. L'URL du
373       répartiteur permet d'identifier de manière unique le worker de
374       répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
375       membres au répartiteur.</p>
376
377     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
378 <div class="section">
379 <h2><a name="access" id="access">Contrôler l'accès à votre
380     mandataire</a></h2>
381       <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
382       de contrôle <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> comme dans
383       l'exemple suivant :</p>
384
385       <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
386   Require ip 192.168.0
387 &lt;/Proxy&gt;</pre>
388
389
390       <p>Pour plus de détails sur les directives de contrôle d'accès,
391       voir la documentation du module
392       <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
393
394       <p>Restreindre l'accès de manière stricte est essentiel si vous
395       mettez en oeuvre un mandataire direct (en définissant la directive
396       <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
397       Dans le cas contraire, votre serveur pourrait être utilisé par
398       n'importe quel client pour accéder à des serveurs quelconques,
399       tout en masquant sa véritable identité. Ceci représente un danger
400       non seulement pour votre réseau, mais aussi pour l'Internet au
401       sens large. Dans le cas de la mise en oeuvre d'un mandataire
402       inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle
403       d'accès est moins critique car les clients ne peuvent contacter
404       que les serveurs que vous avez spécifiés.</p>
405
406       <p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>
407
408     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
409 <div class="section">
410 <h2><a name="startup" id="startup">Ralentissement au démarrage</a></h2>
411       <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses
412       IP puis ces dernières mises en cache au cours du démarrage
413       à des fins de tests de comparaisons ultérieurs. Ce processus peut
414       durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
415       à laquelle s'effectue la résolution des noms d'hôtes.</p>
416     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
417 <div class="section">
418 <h2><a name="intranet" id="intranet">Mandataire en Intranet</a></h2>
419       <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet
420       doit faire suivre les requêtes destinées à un serveur externe à
421       travers le pare-feu de l'entreprise (pour ce faire, définissez la
422       directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
423       façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
424       vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
425       à des ressources situées dans l'Intranet, il peut se passer du
426       pare-feu pour accéder aux serveurs. A cet effet, la directive
427       <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
428       spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
429       être accédés directement.</p>
430
431       <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
432       domaine local dans leurs requêtes WWW, et demandent par exemple
433       "http://un-serveur/" au lieu de
434       <code>http://un-serveur.example.com/</code>. Certains serveurs
435       mandataires commerciaux acceptent ce genre de requête et les
436       traitent simplement en utilisant un nom de domaine local
437       implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
438       serveur est <a href="#proxyrequests">configuré comme
439       mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et
440       ainsi fournir au client l'adresse de serveur correcte,
441       entièrement qualifiée. C'est la méthode à privilégier car le
442       fichier des marque-pages de l'utilisateur contiendra alors des
443       noms de serveurs entièrement qualifiés.</p>
444     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
445 <div class="section">
446 <h2><a name="envsettings" id="envsettings">Ajustements relatifs au
447     protocole</a></h2>
448       <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
449       vers un serveur qui n'implémente pas correctement les connexions
450       persistantes ou le protocole HTTP/1.1, il existe deux variables
451       d'environnement qui permettent de forcer les requêtes à utiliser
452       le protocole HTTP/1.0 avec connexions non persistantes. Elles
453       peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>
454
455       <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
456       <code>proxy-nokeepalive</code>.</p>
457
458       <pre class="prettyprint lang-config">&lt;Location "/buggyappserver/"&gt;
459   ProxyPass "http://buggyappserver:7001/foo/"
460   SetEnv force-proxy-request-1.0 1
461   SetEnv proxy-nokeepalive 1
462 &lt;/Location&gt;</pre>
463
464
465     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
466 <div class="section">
467 <h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a></h2>
468
469     <p>Certaines méthodes de requêtes comme POST comportent un corps de
470     requête. Le protocole HTTP stipule que les requêtes qui comportent
471     un corps doivent soit utiliser un codage de transmission
472     fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête
473     <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
474     requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
475     s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
476     Par contre, si la taille du corps est importante, et si la requête
477     originale utilise un codage à fractionnement, ce dernier peut aussi
478     être utilisé dans la requête montante. Ce comportement peut être
479     contrôlé à l'aide de <a href="../env.html">variables
480     d'environnement</a>. Ainsi, si elle est définie, la variable
481     <code>proxy-sendcl</code> assure une compatibilité maximale avec les
482     serveurs demandés en imposant l'envoi de l'en-tête
483     <code>Content-Length</code>, alors que
484     <code>proxy-sendchunked</code> diminue la consommation de ressources
485     en imposant l'utilisation d'un codage à fractionnement.</p>
486
487     <p>Dans certaines circonstances, le serveur doit mettre en file
488     d'attente sur disque les corps de requêtes afin de satisfaire le
489     traitement demandé des corps de requêtes. Par exemple, cette mise en
490     file d'attente se produira si le corps original a été envoyé selon un
491     codage morcelé (et possède une taille importante), alors que
492     l'administrateur a demandé que les requêtes du serveur
493     d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en
494     HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps
495     de la requête contient déjà un en-tête Content-Length, alors que le
496     serveur est configuré pour filtrer les corps des requêtes entrantes.</p>
497
498     <p>La directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> ne s'applique qu'aux
499     corps de requêtes que le serveur met en file d'attente sur disque.</p>
500
501     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
502 <div class="section">
503 <h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
504     inverse</a></h2>
505
506     <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
507     par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>),
508     <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
509     afin de transmettre des informations au serveur demandé. Ces
510     en-têtes sont les suivants :</p>
511
512     <dl>
513       <dt><code>X-Forwarded-For</code></dt>
514       <dd>L'adresse IP du client.</dd>
515       <dt><code>X-Forwarded-Host</code></dt>
516       <dd>L'hôte d'origine demandé par le client dans l'en-tête de
517       requête HTTP <code>Host</code>.</dd>
518       <dt><code>X-Forwarded-Server</code></dt>
519       <dd>Le nom d'hôte du serveur mandataire.</dd>
520     </dl>
521
522     <p>Ces en-têtes doivent être utilisés avec précautions sur le
523     serveur demandé, car ils contiendront plus d'une valeur (séparées
524     par des virgules) si la requête originale contenait déjà un de ces
525     en-têtes. Par exemple, vous pouvez utiliser
526     <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
527     du serveur demandé pour enregistrer les adresses IP des clients
528     originaux, mais il est possible que vous obteniez plusieurs adresses
529     si la requête passe à travers plusieurs mandataires.</p>
530
531     <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
532     de contrôler d'autres en-têtes de requête.</p>
533
534     <p>Note : Si vous devez ajouter des en-têtes particuliers à la
535     requête mandatée, utilisez la directive  <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>.</p>
536
537    </div>
538 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
539 <div class="directive-section"><h2><a name="balancergrowth" id="balancergrowth">Directive</a> <a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a></h2>
540 <table class="directive">
541 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés
542 après la configuration initiale</td></tr>
543 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
544 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr>
545 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
546 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
547 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
548 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du
549 serveur HTTP Apache</td></tr>
550 </table>
551     <p>Cette directive permet de définir le nombre de membres pouvant
552     être ajoutés au groupe de répartition de charge préconfiguré d'un
553     serveur virtuel. Elle n'est active que si le groupe a été
554     préconfiguré avec un membre au minimum.</p>
555
556 </div>
557 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
558 <div class="directive-section"><h2><a name="balancerinherit" id="balancerinherit">Directive</a> <a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a></h2>
559 <table class="directive">
560 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de
561     charge du mandataire définis au niveau du serveur principal</td></tr>
562 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
563 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr>
564 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
565 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
566 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
567 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
568     HTTP Apache.</td></tr>
569 </table>
570         <p>Cette directive permet d'attribuer au serveur virtuel courant
571         l'héritage des membres de groupes de répartition de charge
572         définis au niveau du serveur
573         principal. Elle ne doit pas être activée si vous
574         utilisez la fonctionnalité de modifications dynamiques du
575         gestionnaire de répartition de charge (Balancer Manager) pour
576         éviter des problèmes et des comportements inattendus.</p>
577         <p>Les définitions au niveau du serveur principal constituent
578         les définitions par défaut au niveau des serveurs virtuels.</p>
579         
580     
581 </div>
582 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
583 <div class="directive-section"><h2><a name="balancermember" id="balancermember">Directive</a> <a name="BalancerMember" id="BalancerMember">BalancerMember</a></h2>
584 <table class="directive">
585 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
586 charge</td></tr>
587 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr>
588 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
589 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
590 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
591 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 du serveur HTTP Apache.</td></tr>
592 </table>
593     <p>Cette directive permet d'ajouter un membre à un groupe de
594     répartition de charge. Elle peut se trouver dans un conteneur
595     <code>&lt;Proxy <var>balancer://</var>...&gt;</code>, et accepte
596     tous les paramètres de paires clé/valeur que supporte la directive
597     <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
598     <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre
599     supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de
600     charge du membre - un nombre entre 1 (valeur par défaut) et 100, qui
601     définit la charge à appliquer au membre en question.</p>
602     <p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas
603     dèjà dans la directive de conteneur <code>&lt;Proxy
604     <var>balancer://</var>...&gt;</code>. Il correspond à l'URL d'un
605     répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
606     <p>La partie chemin de l'URL du répartiteur dans toute directive de
607     conteneur <code>&lt;Proxy <var>balancer://</var>...&gt;</code> est
608     ignorée.</p>
609     <p>En particulier, le slash de fin de l'URL d'un
610     <code class="directive">BalancerMember</code> doit être supprimé.</p>
611
612 </div>
613 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
614 <div class="directive-section"><h2><a name="balancerpersist" id="balancerpersist">Directive</a> <a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a></h2>
615 <table class="directive">
616 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le
617     gestionnaire de répartition de charge après un redémarrage du
618     serveur.</td></tr>
619 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
620 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr>
621 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
622 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
623 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
624 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la
625     version 2.4.4 du serveur HTTP Apache.</td></tr>
626 </table>
627         <p>Cette directive permet de conserver le contenu de l'espace
628         mémoire partagé associé aux répartiteurs de charge et à leurs
629         membres après un redémarrage du serveur. Ces modifications
630         locales ne sont ainsi pas perdues lors des transitions d'état
631         dues à un redémarrage.</p>
632     
633 </div>
634 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
635 <div class="directive-section"><h2><a name="noproxy" id="noproxy">Directive</a> <a name="NoProxy" id="NoProxy">NoProxy</a></h2>
636 <table class="directive">
637 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
638 directement</td></tr>
639 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr>
640 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
641 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
642 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
643 </table>
644     <p>Cette directive n'a d'utilité que pour les serveurs mandataires
645     Apache httpd au sein d'Intranets. La directive
646     <code class="directive">NoProxy</code> permet de spécifier une liste de
647     sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
648     par des espaces. Une requête pour un serveur qui correspond à un ou
649     plusieurs critères sera toujours servie par ce serveur directement,
650     sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
651     la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p>
652
653     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote  "*"  "http://firewall.example.com:81"
654 NoProxy         ".example.com" "192.168.112.0/21"</pre>
655 </div>
656
657     <p>Le type des arguments <var>serveur</var> de la directive
658     <code class="directive">NoProxy</code> appartiennent à la liste suivante
659     :</p>
660
661     <dl>
662     
663     <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
664     <dd>
665     <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
666     qualifié précédé d'un point. Il représente une liste de serveurs qui
667     appartiennent logiquement au même domaine ou à la même zonz DNS
668     (en d'autres termes, les nom des serveurs se terminent tous par
669     <var>domaine</var>).</p>
670
671     <div class="example"><h3>Exemple</h3><p><code>
672       .com .example.org.
673     </code></p></div>
674
675     <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois
676     syntaxique et
677     sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
678     de type A !), les <var>domaine</var>s sont toujours spécifiés en les
679     préfixant par un point.</p>
680
681     <div class="note"><h3>Note</h3>
682       <p>Les comparaisons de noms de domaines s'effectuent sans tenir
683       compte de la casse, et les parties droites des <var>Domaine</var>s
684       sont toujours censées correspondre à la racine de l'arborescence
685       DNS, si bien que les domaines <code>.ExEmple.com</code> et
686       <code>.example.com.</code> (notez le point à la fin du nom) sont
687       considérés comme identiques. Comme une comparaison de domaines ne
688       nécessite pas de recherche DNS, elle est beaucoup plus efficace
689       qu'une comparaison de sous-réseaux.</p>
690     </div></dd>
691
692     
693     <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
694     <dd>
695     <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
696     qualifiée sous forme numérique (quatre nombres séparés par des
697     points), optionnellement suivie d'un slash et du masque de
698     sous-réseau spécifiant le nombre de bits significatifs dans le
699     <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
700     peuvent être atteints depuis la même interface réseau. En l'absence
701     de masque de sous-réseau explicite, il est sous-entendu que les
702     digits manquants (ou caractères 0) de fin spécifient le masque de
703     sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
704     qu'un multiple de 8). Voici quelques exemples :</p>
705
706     <dl>
707     <dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
708     <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
709     implicite de 16 bits significatifs (parfois exprimé sous la forme
710     <code>255.255.0.0</code>)</dd>
711     <dt><code>192.168.112.0/21</code></dt>
712     <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
713     sous-réseau implicite de 21 bits significatifs (parfois exprimé
714     sous la forme<code>255.255.248.0</code>)</dd>
715     </dl>
716
717     <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de
718     sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de
719     sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
720     identique à la constante <var>_Default_</var>, et peut correspondre
721     à toute adresse IP.</p></dd>
722
723     
724     <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
725     <dd>
726     <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
727     qualifiée sous forme numérique (quatre nombres séparés par des
728     points). En général, cette adresse représente un serveur, mais elle
729     ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
730     <div class="example"><h3>Exemple</h3><p><code>
731       192.168.123.7
732     </code></p></div>
733
734     <div class="note"><h3>Note</h3>
735       <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
736       et peut ainsi s'avérer plus efficace quant aux performances
737       d'Apache.</p>
738     </div></dd>
739
740     
741     <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
742     <dd>
743     <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
744     qualifié qui peut être résolu en une ou plusieurs adresses IP par le
745     service de noms de domaines DNS. Il représente un hôte logique (par
746     opposition aux <var><a href="#domain">Domaine</a></var>s, voir
747     ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
748     d'hôtes avec différentes <var><a href="#ipaddr">adresses
749     IP</a></var>).</p>
750
751     <div class="example"><h3>Exemples</h3><p><code>
752       prep.ai.example.edu<br />
753       www.example.org
754     </code></p></div>
755
756     <div class="note"><h3>Note</h3>
757       <p>Dans de nombreuses situations, il est plus efficace de
758       spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
759       <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
760       recherche DNS. La résolution de nom dans Apache httpd peut prendre un
761       temps très long lorsque la connexion avec le serveur de noms
762       utilise une liaison PPP lente.</p>
763       <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
764       compte de la casse, et les parties droites des <var>Noms de serveur</var>
765       sont toujours censées correspondre à la racine de l'arborescence
766       DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
767       <code>www.example.com.</code> (notez le point à la fin du nom) sont
768       considérés comme identiques.</p>
769      </div></dd>
770     </dl>
771
772 <h3>Voir aussi</h3>
773 <ul>
774 <li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
775 </ul>
776 </div>
777 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
778 <div class="directive-section"><h2><a name="proxy" id="proxy">Directive</a> <a name="Proxy" id="Proxy">&lt;Proxy&gt;</a></h2>
779 <table class="directive">
780 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
781 mandatées</td></tr>
782 <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>
783 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
784 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
785 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
786 </table>
787     <p>Les directives situées dans une section <code class="directive">&lt;Proxy&gt;</code> ne s'appliquent qu'au contenu
788     mandaté concerné. Les jokers de style shell sont autorisés.</p>
789
790     <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un
791     contenu via votre serveur mandataire que les hôtes appartenant à
792     <code>votre-reseau.example.com</code> :</p>
793
794     <pre class="prettyprint lang-config">&lt;Proxy "*"&gt;
795   Require host votre-reseau.example.com
796 &lt;/Proxy&gt;</pre>
797
798
799     <p>Dans l'exemple suivant, tous les fichiers du répertoire
800     <code>foo</code> de <code>example.com</code> seront traités par le
801     filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
802     l'intermédiaire du serveur mandataire :</p>
803
804     <pre class="prettyprint lang-config">&lt;Proxy "http://example.com/foo/*"&gt;
805   SetOutputFilter INCLUDES
806 &lt;/Proxy&gt;</pre>
807
808
809     <div class="note"><h3>Différences avec la section de configuration Location</h3>
810       <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si
811       elle commence par la <var>url-avec-jokers</var>, même si le
812       dernier segment de chemin de la directive ne correspond qu'à un
813       préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, &lt;Proxy
814       "http://example.com/foo"&gt; correspondra entre autres aux URLs
815       http://example.com/foo, http://example.com/foo/bar, et
816       http://example.com/foobar. La correspondance de l'URL finale
817       diffère du comportement de la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> qui, pour le cas de cette note,
818       traitera le segment de chemin final comme s'il se terminait par un
819       slash.</p>
820       <p>Pour un contrôle plus fin de la correspondance des URL, voir la
821       directive <code class="directive">&lt;ProxyMatch&gt;</code>.</p>
822     </div>
823
824
825 <h3>Voir aussi</h3>
826 <ul>
827 <li><code class="directive"><a href="#proxymatch">&lt;ProxyMatch&gt;</a></code></li>
828 </ul>
829 </div>
830 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
831 <div class="directive-section"><h2><a name="proxyaddheaders" id="proxyaddheaders">Directive</a> <a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a></h2>
832 <table class="directive">
833 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux
834 en-têtes X-Forwarded-*</td></tr>
835 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
836 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
837 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
838 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
839 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
840 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
841 </table>
842     <p>Cette directive permet de passer au serveur d'arrière-plan des
843     informations à propos du mandataire via les en-têtes HTTP
844     X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p>
845     <div class="note"><h3>Utilité</h3>
846      <p>Cette option n'est utile que dans le cas du mandat HTTP traité
847      par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
848     </div>
849
850 </div>
851 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
852 <div class="directive-section"><h2><a name="proxybadheader" id="proxybadheader">Directive</a> <a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a></h2>
853 <table class="directive">
854 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête
855 incorrectes d'une réponse</td></tr>
856 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
857 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
858 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
859 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
860 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
861 </table>
862     <p>La directive <code class="directive">ProxyBadHeader</code> permet de
863     déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
864     reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
865     à dire ne contenant pas de caractère ':') en provenance du serveur
866     original. Les arguments disponibles sont :</p>
867
868     <dl>
869     <dt><code>IsError</code></dt>
870     <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
871     passerelle). C'est le comportement par défaut.</dd>
872
873     <dt><code>Ignore</code></dt>
874     <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
875     pas été envoyées.</dd>
876
877     <dt><code>StartBody</code></dt>
878     <dd>A la réception de la première ligne d'en-tête incorrecte, les
879     autres en-têtes sont lus et ce qui reste est traité en tant que
880     corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
881     bogués qui oublient d'insérer une ligne vide entre les
882     en-têtes et le corps.</dd>
883     </dl>
884
885 </div>
886 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
887 <div class="directive-section"><h2><a name="proxyblock" id="proxyblock">Directive</a> <a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a></h2>
888 <table class="directive">
889 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqués par le
890 mandataire</td></tr>
891 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var>
892 [<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</code></td></tr>
893 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
894 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
895 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
896 </table>
897     <p>La directive <code class="directive">ProxyBlock</code> permet de
898     spécifier une liste de termes, serveurs et/ou domaines, séparés par
899     des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des
900     sites dont les noms contiennent des termes, noms de serveur ou
901     domaine correspondants seront <em>bloqués</em> par le serveur
902     mandataire. La module proxy va aussi tenter de déterminer les
903     adresses IP des éléments de la liste qui peuvent correspondre à des
904     noms d'hôtes au cours du démarrage, et les mettra en cache à des
905     fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du
906     serveur.</p>
907
908     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre>
909 </div>
910
911     <p>Notez qu'<code>example</code> suffirait aussi pour atteindre
912     ces sites.</p>
913
914     <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p>
915
916     <p>Notez aussi que</p>
917
918     <pre class="prettyprint lang-config">ProxyBlock "*"</pre>
919
920
921     <p>bloque les connexions vers tous les sites.</p>
922
923 </div>
924 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
925 <div class="directive-section"><h2><a name="proxydomain" id="proxydomain">Directive</a> <a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a></h2>
926 <table class="directive">
927 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
928 mandatées</td></tr>
929 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr>
930 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
931 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
932 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
933 </table>
934     <p>Cette directive n'a d'utilité que pour les serveurs mandataires
935     Apache httpd au sein d'un Intranet. La directive
936     <code class="directive">ProxyDomain</code> permet de spécifier le domaine
937     par défaut auquel le serveur mandataire apache appartient. Si le
938     serveur reçoit une requête pour un hôte sans nom de domaine, il va
939     générer une réponse de redirection vers le même hôte suffixé par le
940     <var>Domaine</var> spécifié.</p>
941
942     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote  "*"  "http://firewall.example.com:81"
943 NoProxy         ".example.com" "192.168.112.0/21"
944 ProxyDomain     ".example.com"</pre>
945 </div>
946
947 </div>
948 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
949 <div class="directive-section"><h2><a name="proxyerroroverride" id="proxyerroroverride">Directive</a> <a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a></h2>
950 <table class="directive">
951 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus
952 mandatés</td></tr>
953 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
954 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
955 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
956 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
957 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
958 </table>
959     <p>Cette directive est utile pour les configurations de mandataires
960     inverses, lorsque vous souhaitez que les pages d'erreur envoyées
961     aux utilisateurs finaux présentent un aspect homogène. Elle permet
962     aussi l'inclusion de fichiers (via les SSI de
963     <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir
964     en conséquence (le comportement par défaut afficherait la page
965     d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
966     qui sera affiché si cette directive est à "on").</p>
967
968     <p>Cette directive n'affecte pas le traitement des réponses
969     informatives (1xx), de type succès normal (2xx), ou de redirection
970     (3xx).</p>
971
972 </div>
973 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
974 <div class="directive-section"><h2><a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a> <a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a></h2>
975 <table class="directive">
976 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
977 données</td></tr>
978 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr>
979 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
980 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
981 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
982 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
983 </table>
984     <p>La directive <code class="directive">ProxyIOBufferSize</code> permet
985     d'ajuster la taille du tampon interne utilisé comme bloc-note pour
986     les transferts de données entre entrée et sortie. La taille minimale
987     est de <code>512</code> octets.</p>
988
989     <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
990     valeur.</p>
991
992     <p>Si elle est utilisée avec AJP, cette directive permet de définir
993     la taille maximale du paquet AJP en octets. Si la valeur spécifiée
994     est supérieure à 65536, elle est corrigée et prend la valeur 65536.
995     Si vous ne conservez pas
996     la valeur par défaut, vous devez aussi modifier l'attribut
997     <code>packetSize</code> de votre connecteur AJP du côté de Tomcat !
998     L'attribut <code>packetSize</code> n'est disponible que dans Tomcat
999     <code>5.5.20+</code> et <code>6.0.2+</code>.</p>
1000     <p>Il n'est normalement pas nécessaire de modifier la taille
1001     maximale du paquet. Des problèmes ont cependant été rapportés avec
1002     la valeur par défaut lors de l'envoi de certificats ou de chaînes de
1003     certificats.</p>
1004
1005
1006 </div>
1007 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1008 <div class="directive-section"><h2><a name="proxymatch" id="proxymatch">Directive</a> <a name="ProxyMatch" id="ProxyMatch">&lt;ProxyMatch&gt;</a></h2>
1009 <table class="directive">
1010 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
1011 mandatées correspondant à une expression rationnelle</td></tr>
1012 <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>
1013 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1014 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1015 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1016 </table>
1017     <p>La directive <code class="directive">&lt;ProxyMatch&gt;</code> est
1018     identique à la directive <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code>, à l'exception qu'elle définit
1019     les URLs auxquelles elle s'applique en utilisant une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
1020
1021     <p>A partir de la version 2.4.8, les groupes nommés et les
1022     références arrières sont extraits et enregistrés dans
1023     l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet
1024     de référencer des URLs dans des <a href="../expr.html">expressions</a>
1025     ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
1026     éviter toute confusion, les références arrières numérotées (non
1027     nommées) sont ignorées. Vous devez utiliser à la place des groupes
1028     nommés.</p>
1029
1030 <pre class="prettyprint lang-config">&lt;ProxyMatch "^http://(?&lt;sitename&gt;[^/]+)"&gt;
1031     Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1032 &lt;/ProxyMatch&gt;</pre>
1033
1034
1035 <h3>Voir aussi</h3>
1036 <ul>
1037 <li><code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code></li>
1038 </ul>
1039 </div>
1040 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1041 <div class="directive-section"><h2><a name="proxymaxforwards" id="proxymaxforwards">Directive</a> <a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a></h2>
1042 <table class="directive">
1043 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une
1044 requête peut être redirigée</td></tr>
1045 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyMaxForwards <var>nombre</var></code></td></tr>
1046 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr>
1047 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1048 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1049 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1050 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Comportement par défaut
1051 modifié dans 2.2.7</td></tr>
1052 </table>
1053     <p>La directive <code class="directive">ProxyMaxForwards</code> permet de
1054     spécifier le nombre maximum de mandataires à travers lesquels une
1055     requête peut passer dans le cas où la la requête ne contient pas
1056     d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir
1057     contre les boucles infinies de mandataires ou contre les attaques de
1058     type déni de service.</p>
1059
1060     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre>
1061 </div>
1062
1063     <p>Notez que la définition de la directive
1064     <code class="directive">ProxyMaxForwards</code> constitue une violation du
1065     protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de
1066     définir <code>Max-Forwards</code> si le client ne l'a pas fait
1067     lui-même. Les versions précédentes d'Apache httpd la définissaient
1068     systématiquement. Une valeur négative de
1069     <code class="directive">ProxyMaxForwards</code>, y compris la valeur par
1070     défaut -1, implique un comportement compatible avec le protocole,
1071     mais vous expose aux bouclages infinis.</p>
1072
1073 </div>
1074 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1075 <div class="directive-section"><h2><a name="proxypass" id="proxypass">Directive</a> <a name="ProxyPass" id="ProxyPass">ProxyPass</a></h2>
1076 <table class="directive">
1077 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis
1078 l'espace d'URLs du serveur local</td></tr>
1079 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
1080   <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr>
1081 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1082 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1083 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1084 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les sockets de style Unix (Unix Domain Socket - UDS)
1085 sont supportés à partir de la version 2.4.7 du serveur HTTP Apache</td></tr>
1086 </table>
1087     <p>Cette directive permet de référencer des serveurs distants depuis
1088     l'espace d'URLs du serveur local. Le serveur
1089     local n'agit pas en tant que mandataire au sens conventionnel, mais
1090     plutôt comme miroir du serveur distant. Le serveur local est
1091     souvent nommé <dfn>mandataire inverse</dfn> ou
1092     <dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un
1093     chemin virtuel local ; <var>url</var> est une URL partielle pour le
1094     serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
1095
1096     <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
1097     utilisée dans un contexte de niveau répertoire.</div>
1098
1099     <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
1100     <strong>off</strong> lorsqu'on utilise la directive
1101     <code class="directive">ProxyPass</code>.</div>
1102
1103     <p>Les sockets de style Unix sont supportés à partir de la version
1104     2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité,
1105     il suffit d'utiliser une URL cible préfixée par
1106     <code>unix:/path/lis.sock|</code>. Par exemple, pour mandater HTTP
1107     et cibler l'UDS /home/www/socket, vous devez utiliser
1108     <code>unix:/home/www.socket|http://localhost/whatever/</code>.</p>
1109
1110     <div class="note"><strong>Note :</strong>Le chemin associé à l'URL
1111     <code>unix:</code> tient compte de la directive
1112     <code class="directive">DefaultRuntimeDir</code>.</div>
1113
1114     <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier
1115     argument est omis et le répertoire local est obtenu à partir de
1116     l'argument de la directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en est de même à l'intérieur
1117     d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le résultat ne sera
1118     probablement pas celui attendu car ProxyPassReverse va interpréter
1119     l'expression rationnelle littéralement comme un chemin ; si besoin
1120     est dans ce cas, définissez la directive ProxyPassReverse en dehors
1121     de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> séparée.</p>
1122
1123     <p>Supposons que le serveur local a pour adresse
1124     <code>http://example.com/</code> ; alors la ligne</p>
1125
1126     <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
1127     ProxyPass "http://backend.example.com/"
1128 &lt;/Location&gt;</pre>
1129
1130
1131     <p>va convertir en interne toute requête pour
1132     <code>http://example.com/miroir/foo/bar</code> en une requête
1133     mandatée pour <code>http://backend.example.com/bar</code>.</p>
1134
1135     <p>La directive ProxyPass ne peut pas être placée dans une section
1136     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
1137     <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
1138
1139     <p>Si vous avez besoin d'un configuration de mandataire inverse plus
1140     souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
1141     <code>[P]</code>.</p>
1142
1143     <p>La syntaxe alternative suivante est valide, bien qu'elle puisse
1144     induire une dégradation des performances lorsqu'elle est
1145     présente en très grand nombre. Elle possède l'avantage de
1146     permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p>
1147
1148     <pre class="prettyprint lang-config">ProxyPass "/miroir/foo/" "http://backend.example.com/"</pre>
1149
1150
1151     <div class="warning">
1152     <p>Si le premier argument se termine par un slash
1153     <strong>/</strong>, il doit en être de même pour le second argument
1154     et vice versa. Dans le cas contraire, il risque de manquer des
1155     slashes nécessaires dans la requête résultante vers le serveur
1156     d'arrière-plan et les résulats ne seront pas ceux attendus.
1157     </p>
1158     </div>
1159
1160     <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
1161     du mandat inverse, comme dans l'exemple suivant :</p>
1162
1163     <pre class="prettyprint lang-config">&lt;Location "/mirror/foo/"&gt;
1164     ProxyPass "http://backend.example.com/"
1165 &lt;/Location&gt;
1166 &lt;Location "/mirror/foo/i"&gt;
1167     ProxyPass "!"
1168 &lt;/Location&gt;</pre>
1169
1170
1171     <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
1172 ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
1173
1174
1175     <p>va mandater toutes les requêtes pour <code>/miroir/foo</code>
1176     vers <code>backend.example.com</code>, <em>sauf</em> les requêtes
1177     pour <code>/miroir/foo/i</code>.</p>
1178
1179     <div class="warning"><h3>Ordre de classement des directives ProxyPass</h3>
1180       <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont évaluées dans
1181       l'ordre de leur apparition dans le fichier de configuration. La
1182       première règle qui correspond s'applique. Vous devez donc en
1183       général classer les règles <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui entrent en conflit de
1184       l'URL la plus longue à la plus courte. Dans le cas contraire, les
1185       règles situées après une règle dont l'URL correspond au début de
1186       leur propre URL seront ignorées. Notez que tout ceci est en
1187       relation avec le partage de workers. Par contre, on ne peut placer
1188       qu'une seule directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> dans une section
1189       <code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section
1190       la plus spécifique qui l'emportera.</p>
1191
1192       <p>Pour les mêmes raisons, les exclusions doivent se situer
1193       <em>avant</em> les directives <code class="directive">ProxyPass</code>
1194       générales.</p>
1195
1196     </div> 
1197
1198     <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p>
1199
1200     <p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte
1201     les groupements de connexions vers un serveur d'arrière-plan. Les
1202     connexions créées à la demande peuvent être enregistrées dans un
1203     groupement pour une utilisation ultérieure. La taille du groupe
1204     ainsi que d'autres caractéristiques peuvent être définies via la
1205     directive <code class="directive">ProxyPass</code> au moyen de paramètres
1206     <code>clé=valeur</code> dont la description fait l'objet des
1207     tableaux ci-dessous.</p>
1208
1209     <p>Par défaut, mod_proxy permet et met en réserve le nombre maximum
1210     de connexions pouvant être utilisées simultanément par le processus
1211     enfant concerné du serveur web. Le paramètre <code>max</code> permet
1212     de réduire cette valeur par défaut. Le paramètre <code>ttl</code>,
1213     quant à lui, permet de définir une durée de vie optionnelle ; les
1214     connexions qui n'ont pas été utilisées pendant au moins
1215     <code>ttl</code> secondes seront fermées. <code>ttl</code> permet
1216     aussi d'empêcher l'utilisation d'une connexion susceptible d'être
1217     fermée suite à une fin de vie de connexion persistante sur le
1218     serveur d'arrière-plan.</p>
1219
1220     <p>Le groupement de connexions est maintenu au niveau de chaque
1221     processus enfant du serveur web, et <code>max</code>, ainsi que les
1222     autres paramètres, ne font
1223     l'objet d'aucune coordination entre les différents processus
1224     enfants, sauf si un seul processus enfant est autorisé par la
1225     configuration ou la conception du module multi-processus (MPM).</p>
1226
1227     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
1228 </div>
1229
1230     <table class="bordered"><tr><th>Paramètres de BalancerMember</th></tr></table>
1231     <table>
1232     <tr><th>Paramètre</th>
1233         <th>Défaut</th>
1234         <th>Description</th></tr>
1235     <tr><td>min</td>
1236         <td>0</td>
1237         <td>Nombre minimum d'entrées dans le pool de connexions,
1238         distinct du nombre de connexions effectif. La valeur par défaut
1239         ne doit être modifiée que dans des circonstances particulières
1240         où la mémoire associée aux connexions avec le serveur
1241         d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr>
1242     <tr><td>max</td>
1243         <td>1...n</td>
1244         <td>Nombre maximum de connexions autorisées vers le serveur
1245         d'arrière-plan. La valeur par défaut correspond au nombre de
1246         threads par processus pour le MPM (Module Multi Processus)
1247         actif. La valeur sera toujours 1 pour le MPM Prefork, alors
1248         qu'elle dépendra de la définition de la directive
1249         <code class="directive">ThreadsPerChild</code> pour les autres MPMs.</td></tr>
1250     <tr><td>smax</td>
1251         <td>max</td>
1252         <td>Les entrées du pool de connexions conservées au delà de
1253         cette limite sont libérées au cours de certaines opérations si
1254         elles n'ont pas été utilisées au cours de leur durée de vie,
1255         définie par le paramètre <code>ttl</code>. Si l'entrée du pool
1256         de connexions est associée à une connexion, cette dernière sera
1257         fermée. La valeur par défaut ne doit être modifiée que dans des
1258         circonstances particulières où les entrées du pool de connexions
1259         et toutes connexions associées qui ont dépassé leur durée de vie
1260         doivent être libérées ou fermées de manière plus autoritaire.</td></tr>
1261     <tr><td>acquire</td>
1262         <td>-</td>
1263         <td>Cette clé permet de définir le délai maximum d'attente pour
1264         une connexion libre dans le jeu de connexions, en millisecondes.
1265         S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra
1266         l'état <code>SERVER_BUSY</code> au client.
1267     </td></tr>
1268     <tr><td>connectiontimeout</td>
1269         <td>timeout</td>
1270         <td>Délai d'attente d'une connexion en secondes.
1271         La durée en secondes pendant laquelle Apache httpd va attendre pour
1272         l'établissement d'une connexion vers le serveur d'arrière-plan.
1273         Le délai peut être spécifié en millisecondes en ajoutant le
1274         suffixe ms.
1275     </td></tr>
1276     <tr><td>disablereuse</td>
1277         <td>Off</td>
1278         <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à
1279         fermer immédiatement une connexion vers le serveur
1280         d'arrière-plan après utilisation, et ainsi désactiver le jeu de
1281         connexions permanentes vers ce serveur. Ceci peut s'avérer utile
1282         dans des situations où un pare-feu situé entre Apache httpd et le
1283         serveur d'arrière-plan (quelque soit le protocole) interrompt
1284         des connexions de manière silencieuse, ou lorsque le serveur
1285         d'arrière-plan lui-même est accessible par rotation de DNS
1286         (round-robin DNS). Pour désactiver la réutilisation du jeu de
1287         connexions, définissez cette clé à <code>On</code>.
1288     </td></tr>
1289     <tr><td>enablereuse</td>
1290         <td>On</td>
1291         <td>Ce paramètre est utilisé par les gestionnaires de protocole pour
1292         lesquels la réutilisation des connexions est optionnelle (comme
1293         <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>). C'est le contraire du
1294         paramètre 'disablereuse' ci-dessus, et il est supporté par les
1295         versions 2.4.11 et supérieures du serveur HTTP Apache.
1296     </td></tr>
1297     <tr><td>flushpackets</td>
1298         <td>off</td>
1299         <td>Permet de définir si le module mandataire doit vider
1300         automatiquement le tampon de sortie après chaque tronçon de
1301         données. 'off' signifie que le tampon sera vidé si
1302         nécessaire ;
1303         'on' signifie que le tampon sera vidé après chaque envoi d'un
1304         tronçon de données, et 'auto' que le tampon sera vidé après un
1305         délai de 'flushwait' millisecondes si aucune entrée n'est reçue.
1306         Actuellement, cette clé n'est supportée que par AJP.
1307     </td></tr>
1308     <tr><td>flushwait</td>
1309         <td>10</td>
1310         <td>Le délai d'attente pour une entrée additionnelle, en
1311         millisecondes, avant le vidage du tampon en sortie dans le cas
1312         où 'flushpackets' est à 'auto'.
1313     </td></tr>
1314     <tr><td>iobuffersize</td>
1315         <td>8192</td>
1316         <td>Permet de définir la taille du tampon d'entrées/sorties du
1317         bloc-notes interne. Cette clé vous permet d'outrepasser la
1318         directive <code class="directive">ProxyIOBufferSize</code> pour un
1319         serveur cible spécifique. La valeur doit être au minimum 512 ou définie
1320         à 0 pour la valeur par défaut du système de 8192.
1321     </td></tr>
1322     <tr><td>keepalive</td>
1323         <td>Off</td>
1324         <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
1325         entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
1326         à interrompre les connexions inactives. Cette clé va faire en
1327         sorte que le système d'exploitation envoie des messages
1328         <code>KEEP_ALIVE</code> sur chacune des connexions inactives et
1329         ainsi éviter la fermeture de la connexion par le pare-feu.
1330         Pour conserver les connexions persistantes, definissez cette
1331         propriété à <code>On</code>.</p>
1332     <p>La fréquence de vérification des connexions TCP persistantes
1333     initiale et subséquentes dépend de la configuration globale de l'OS,
1334     et peut atteindre 2 heures. Pour être utile, la fréquence configurée
1335     dans l'OS doit être inférieure au seuil utilisé par le pare-feu.</p>
1336
1337     </td></tr>
1338     <tr><td>lbset</td>
1339         <td>0</td>
1340         <td>Définit le groupe de répartition de charge dont le serveur cible
1341         est membre. Le répartiteur de charge va essayer tous les membres
1342         d'un groupe de répartition de charge de numéro inférieur avant
1343         d'essayer ceux dont le groupe possède un numéro supérieur.
1344     </td></tr>
1345     <tr><td>ping</td>
1346         <td>0</td>
1347         <td>Avec la clé Ping, le serveur web va "tester" la connexion
1348         vers le serveur d'arrière-plan avant de transmettre la requête.
1349         Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requête
1350         <code>CPING</code> sur la connexion ajp13 (implémenté sur Tomcat
1351         3.3.2+, 4.1.28+ et 5.0.13+). Avec HTTP,
1352         <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> envoie <code>100-Continue</code>
1353         au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les
1354         serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit
1355         aucun effet). Dans les deux cas, ce paramètre correspond au
1356         délai en secondes pour l'attente de la réponse. Cette
1357         fonctionnalité a été ajoutée pour éviter les problèmes avec les
1358         serveurs d'arrière-plan bloqués ou surchargés.
1359
1360         Le trafic
1361         réseau peut s'en trouver augmenté en fonctionnement normal, ce
1362         qui peut poser problème, mais peut s'en trouver diminué dans les
1363         cas où les noeuds de cluster sont arrêtés ou
1364         surchargés. Le délai peut
1365         aussi être défini en millisecondes en ajoutant le suffixe
1366         ms.
1367     </td></tr>
1368     <tr><td>receivebuffersize</td>
1369         <td>0</td>
1370         <td>Définit la taille du tampon réseau explicite (TCP/IP) pour
1371         les connexions mandatées. Cette clé vous permet d'outrepasser la
1372         directive <code class="directive">ProxyReceiveBufferSize</code> pour un
1373         serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie
1374         à 0 pour la valeur par défaut du système.
1375     </td></tr>
1376     <tr><td>redirect</td>
1377         <td>-</td>
1378         <td>Route pour la redirection du serveur cible. Cette valeur est en
1379         général définie dynamiquement pour permettre une suppression
1380         sécurisée du noeud du cluster. Si cette clé est définie, toutes
1381         les requêtes sans identifiant de session seront redirigées vers
1382         le membre de groupe de répartition de charge dont la route
1383         correspond à la valeur de la clé.
1384     </td></tr>
1385     <tr><td>retry</td>
1386         <td>60</td>
1387         <td>Délai entre deux essais du serveur cible du jeu de connexions en
1388         secondes. Si le serveur cible du jeu de connexions vers le serveur
1389         d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera
1390         pas de requête vers ce serveur avant l'expiration du délai
1391         spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour
1392         maintenance, et de le remettre en ligne plus tard. Une valeur de
1393         0 implique de toujours essayer les serveurs cibles dans un état d'erreur
1394         sans délai.
1395     </td></tr>
1396     <tr><td>route</td>
1397         <td>-</td>
1398         <td>La route du serveur cible lorsqu'il est utilisé au sein d'un
1399         répartiteur de charge. La route est une valeur ajoutée à
1400         l'identifiant de session.
1401     </td></tr>
1402     <tr><td>status</td>
1403         <td>-</td>
1404         <td>Valeur constituée d'une simple lettre et définissant l'état
1405         initial de ce serveur cible.
1406          <table>
1407          <tr><td>D: le serveur cible est désactivé et n'accepte aucune requête.</td></tr>
1408          <tr><td>S: le serveur cible est arrêté.</td></tr>
1409          <tr><td>I: le serveur cible est en mode "erreurs ignorées",
1410          et sera toujours considéré comme disponible.</td></tr>
1411          <tr><td>H: le serveur cible est en mode d'attente et ne sera
1412          utilisé que si aucun autre serveur n'est disponible.</td></tr>
1413          <tr><td>E: le serveur cible est en erreur.</td></tr>
1414          <tr><td>N: le serveur cible est en mode vidage, n'acceptera que
1415          les sessions persistantes qui lui appartiennent, et refusera
1416          toutes les autres requêtes.</td></tr>
1417         </table>
1418         Une valeur d'état peut être définie (ce qui
1419         correspond au comportement par défaut) en préfixant la valeur
1420         par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la
1421         valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime
1422         le drapeau "en-erreur".
1423     </td></tr>
1424     <tr><td>timeout</td>
1425         <td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td>
1426         <td>Délai d'attente de la connexion en secondes. Le nombre de
1427         secondes pendant lesquelles Apache httpd attend l'envoi de
1428         données vers le serveur d'arrière-plan.
1429     </td></tr>
1430     <tr><td>ttl</td>
1431         <td>-</td>
1432         <td>Durée de vie des connexions inactives et des entrées du pool
1433         de connexions associées en secondes. Une fois cette
1434         limite atteinte, une connexion ne sera pas réutilisée ; elle
1435         sera fermée après un délai variable.
1436     </td></tr>
1437     <tr><td>flusher</td>
1438         <td>flush</td>
1439         <td><p>Nom du fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
1440         Voir la documentation de ce module pour plus de détails.</p>
1441     </td></tr>
1442
1443     </table>
1444
1445     <p>Si l'URL de la directive Proxy débute par
1446     <code>balancer://</code> (par exemple:
1447     <code>balancer://cluster</code>, toute information relative au
1448     chemin est ignorée), alors un serveur cible virtuel ne communiquant pas
1449     réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera
1450     en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans
1451     ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible
1452     virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus
1453     d'informations à propos du fonctionnement du répartiteur de
1454     charge.
1455     </p>
1456     <table class="bordered"><tr><th>Paramètres du répartiteur</th></tr></table>
1457     <table>
1458     <tr><th>Paramètre</th>
1459         <th>Défaut</th>
1460         <th>Description</th></tr>
1461     <tr><td>lbmethod</td>
1462         <td>byrequests</td>
1463         <td>Méthode de répartition de charge utilisée. Permet de
1464         sélectionner la méthode de planification de la répartition de
1465         charge à utiliser. La valeur est soit <code>byrequests</code>,
1466         pour effectuer un décompte de requêtes pondérées, soit
1467         <code>bytraffic</code>, pour effectuer une répartition en
1468         fonction du décompte des octets transmis, soit
1469         <code>bybusyness</code>, pour effectuer une répartition en
1470         fonction des requêtes en attente. La valeur par défaut est
1471         <code>byrequests</code>.
1472     </td></tr>
1473     <tr><td>maxattempts</td>
1474         <td>1 de moins que le nombre de workers, ou 1 avec un seul
1475         worker</td>
1476         <td>Nombre maximum d'échecs avant abandon.
1477     </td></tr>
1478     <tr><td>nofailover</td>
1479         <td>Off</td>
1480         <td>Si ce paramètre est défini à <code>On</code>, la session va
1481         s'interrompre si le serveur cible est dans un état d'erreur ou
1482         désactivé. Définissez ce paramètre à <code>On</code> si le serveur
1483         d'arrière-plan ne supporte pas la réplication de session.
1484     </td></tr>
1485     <tr><td>stickysession</td>
1486         <td>-</td>
1487         <td>Nom de session persistant du répartiteur. La valeur est
1488         généralement du style <code>JSESSIONID</code> ou
1489         <code>PHPSESSIONID</code>, et dépend du serveur d'application
1490         d'arrière-plan qui supporte les sessions. Si le serveur
1491         d'application d'arrière-plan utilise un nom différent pour
1492         les cookies et les identifiants codés d'URL (comme les
1493         conteneurs de servlet), séparez-les par le caractère '|'. La
1494         première partie contient le cookie et la seconde le chemin.<br />
1495         Disponible depuis la version 2.4.4 du serveur HTTP Apache.
1496     </td></tr>
1497     <tr><td>stickysessionsep</td>
1498         <td>"."</td>
1499         <td>Définit le caractère de séparation dans le cookie de
1500         session. Certains serveurs d'application d'arrière-plan
1501         n'utilisent pas le caractère '.' comme séparateur. Par exemple
1502         le serveur Oracle Weblogic utilise le caractère '!'. Cette
1503         option permet d'attribuer au caractère de séparation la valeur
1504         appropriée. Si elle est définie à 'Off', aucun caractère de
1505         séparation n'est utilisé.
1506     </td></tr>
1507     <tr><td>scolonpathdelim</td>
1508         <td>Off</td>
1509         <td>Si ce paramètre est défini à <code>On</code>, le caractère
1510         ';' sera utilisé comme séparateur de chemin de session
1511         persistante additionnel. Ceci permet principalement de simuler
1512         le comportement de mod_jk lorsqu'on utilise des chemins du style
1513         <code>JSESSIONID=6736bcf34;foo=aabfa</code>.
1514     </td></tr>
1515     <tr><td>timeout</td>
1516         <td>0</td>
1517         <td>Délai du répartiteur en secondes. Si ce paramètre est
1518         défini, sa valeur correspond à la durée maximale d'attente pour
1519         un serveur cible libre. Le comportement par défaut est de ne pas
1520         attendre.
1521     </td></tr>
1522     <tr><td>failonstatus</td>
1523         <td>-</td>
1524         <td>Une liste de codes d'état HTTP séparés par des virgules. Si
1525         ce paramètre est présent, le worker se mettra en erreur si le
1526         serveur d'arrière-plan renvoie un des codes d'état spécifiés
1527         dans la liste. La récupération du worker s'effectue comme dans
1528         le cas des autres erreurs de worker.
1529     </td></tr>
1530     <tr><td>failontimeout</td>
1531         <td>Off</td>
1532         <td>Si ce paramètre est défini à "On", un délai d'attente
1533         dépassé en entrée/sortie après envoi d'une requête au serveur
1534         d'arrière-plan va mettre le processus en état d'erreur. La
1535         sortie de cet état d'erreur se passe de la même façon que pour
1536         les autres erreurs.<br />
1537         Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
1538     </td></tr>
1539     <tr><td>nonce</td>
1540         <td>&lt;auto&gt;</td>
1541         <td>Le nombre à usage unique de protection utilisé dans la page
1542         de l'application <code>balancer-manager</code>. Par défaut, la
1543         protection de la page est assurée par un nombre à usage unique
1544         automatique à base d'UUID. Si une valeur est précisée, elle sera
1545         utilisée comme nombre à usage unique. La valeur
1546         <code>None</code> désactive la vérification du nombre à usage
1547         unique.
1548     <div class="note"><h3>Note</h3>
1549       <p>En plus du nombre à usage unique, la page de l'application
1550       <code>balancer-manager</code> peut être protégée par une ACL.</p>
1551     </div>
1552      </td></tr>
1553     <tr><td>growth</td>
1554         <td>0</td>
1555         <td>Nombre de membres supplémentaires que l'on peut ajouter à ce
1556         répartiteur en plus de ceux définis au niveau de la
1557         configuration.
1558     </td></tr>
1559     <tr><td>forcerecovery</td>
1560         <td>On</td>
1561         <td>Force la relance immédiate de tous les membres sans tenir
1562         compte de leur paramètre retry dans le cas où ils sont tous en
1563         état d'erreur. Il peut cependant arriver qu'un membre déjà
1564         surchargé entre dans une situation critique si la relance de
1565         tous les membres est forcée sans tenir compte du paramètre retry
1566         de chaque membre. Dans ce cas, définissez ce paramètre à
1567         <code>Off</code>.<br />
1568         Disponible depuis la version 2.4.2 du serveur HTTP Apache.
1569     </td></tr>
1570
1571     </table>
1572     <p>Exemple de configuration d'un répartiteur de charge</p>
1573     <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
1574 ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
1575 &lt;Proxy "balancer://mycluster"&gt;
1576     BalancerMember "ajp://1.2.3.4:8009"
1577     BalancerMember "ajp://1.2.3.5:8009" loadfactor=20
1578     # Less powerful server, don't send as many requests there,
1579     BalancerMember "ajp://1.2.3.6:8009" loadfactor=5
1580 &lt;/Proxy&gt;</pre>
1581
1582
1583     <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
1584     aucun autre serveur cible n'est disponible</p>
1585     <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/"
1586 &lt;Proxy "balancer://hotcluster"&gt;
1587     BalancerMember "ajp://1.2.3.4:8009" loadfactor=1
1588     BalancerMember "ajp://1.2.3.5:8009" loadfactor=2
1589     # The server below is on hot standby
1590     BalancerMember "ajp://1.2.3.6:8009" status=+H
1591     ProxySet lbmethod=bytraffic
1592 &lt;/Proxy&gt;</pre>
1593
1594
1595     <p><strong>Mots-clés additionnels de ProxyPass</strong></p>
1596
1597     <p>Normalement, mod_proxy va mettre sous leur forme canonique les
1598     URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
1599     certains serveurs d'arrière-plan, et en particulier avec ceux qui
1600     utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
1601     <var>nocanon</var> modifie ce comportement et permet de transmettre
1602     le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
1603     que ceci peut affecter la sécurité de votre serveur d'arrière-plan,
1604     car la protection limitée contre les attaques à base d'URL que
1605     fournit le mandataire est alors supprimée.</p>
1606
1607     <p>Par défaut, mod_proxy inclut la chaîne de paramètres lors de la
1608     génération de la variable d'environnement
1609     <var>SCRIPT_FILENAME</var>. Le mot-clé optionnel <var>noquery</var>
1610     (disponible à partir de la version 2.4.1) permet d'exclure cette
1611     chaîne.</p>
1612
1613     <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
1614     section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier argument est omis et le répertoire
1615     local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en sera de même dans une
1616     section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> ; cependant, ProxyPass
1617     n'interprète pas les expressions rationnelles, et il sera ici
1618     nécessaire d'utiliser la directive
1619     <code class="directive">ProxyPassMatch</code> à la place.</p>
1620
1621     <p>Cette directive ne peut pas être placée dans une section
1622     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
1623     <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
1624
1625     <p>Si vous avez besoin d'un configuration de mandataire inverse plus
1626     souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
1627     <code>[P]</code>.</p>
1628
1629     <p>Le mot-clé optionnel <var>interpolate</var>, en combinaison avec la directive
1630     <code class="directive">ProxyPassInterpolateEnv</code>, permet à ProxyPass
1631     d'interpoler les variables d'environnement à l'aide de la syntaxe
1632     <var>${VARNAME}</var>. Notez que de nombreuses variables
1633     d'environnement standard dérivées de CGI n'existeront pas lorsque
1634     l'interpolation se produit ; vous devrez alors encore avoir avoir
1635     recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles
1636     complexes. Notez aussi que l'interpolation n'est pas supportée dans
1637     la partie protocole d'une URL. La détermination dynamique du
1638     protocole peut être effectuée à l'aide de
1639     <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> comme dans l'exemple suivant :</p>
1640
1641     <pre class="prettyprint lang-config">RewriteEngine On
1642
1643 RewriteCond "%{HTTPS}" =off
1644 RewriteRule "". "-" [E=protocol:http]
1645 RewriteCond "%{HTTPS}" =on
1646 RewriteRule "." "-" [E=protocol:https]
1647
1648 RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P]
1649 ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
1650 ProxyPassReverse  "/mirror/foo/" "https://backend.example.com/"</pre>
1651
1652
1653
1654 </div>
1655 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1656 <div class="directive-section"><h2><a name="proxypassinherit" id="proxypassinherit">Directive</a> <a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a></h2>
1657 <table class="directive">
1658 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des directives ProxyPass définies au niveau du
1659 serveur principal</td></tr>
1660 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr>
1661 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInherit On</code></td></tr>
1662 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1663 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1664 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1665 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
1666 HTTP Apache.</td></tr>
1667 </table>
1668         <p>Cette directive permet à un serveur virtuel d'hériter des
1669         directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> définies
1670         au niveau du serveur principal. Si vous utilisez la fonctionnalité de
1671         modifications dynamiques du Balancer Manager, cette directive peut
1672         causer des problèmes et des comportements inattendus et doit donc
1673         être désactivée.</p>
1674         <p>Les valeurs définies au niveau du serveur principal
1675         constituent les valeurs par défaut pour tous les serveurs virtuels.</p>
1676         <p>La désactivation de ProxyPassInherit désactive aussi la
1677         directive <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</p>
1678     
1679 </div>
1680 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1681 <div class="directive-section"><h2><a name="proxypassinterpolateenv" id="proxypassinterpolateenv">Directive</a> <a name="ProxyPassInterpolateEnv" id="ProxyPassInterpolateEnv">ProxyPassInterpolateEnv</a></h2>
1682 <table class="directive">
1683 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'interpolation des variables d'environnement dans
1684 les configurations de mandataires inverses</td></tr>
1685 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
1686 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
1687 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1688 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1689 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1690 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.9 d'Apache</td></tr>
1691 </table>
1692     <p>Cette directive, ainsi que l'argument <var>interpolate</var> des
1693     directives <code class="directive">ProxyPass</code>,
1694     <code class="directive">ProxyPassReverse</code>,
1695     <code class="directive">ProxyPassReverseCookieDomain</code> et
1696     <code class="directive">ProxyPassReverseCookiePath</code>, permet de
1697     configurer dynamiquement un mandataire inverse à l'aide de
1698     variables d'environnement, ces dernières pouvant être définies par un
1699     autre module comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Elle affecte les
1700     directives <code class="directive">ProxyPass</code>,
1701     <code class="directive">ProxyPassReverse</code>,
1702     <code class="directive">ProxyPassReverseCookieDomain</code>, et
1703     <code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant
1704     de remplacer la chaîne <code>${nom_var}</code> dans les directives
1705     de configuration par la valeur de la variable d'environnement
1706     <code>nom_var</code> (si l'option <var>interpolate</var> est
1707     spécifiée).</p>
1708     <p>Conservez cette directive à off (pour les performances du
1709     serveur), sauf si vous en avez réellement besoin.</p>
1710
1711 </div>
1712 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1713 <div class="directive-section"><h2><a name="proxypassmatch" id="proxypassmatch">Directive</a> <a name="ProxyPassMatch" id="ProxyPassMatch">ProxyPassMatch</a></h2>
1714 <table class="directive">
1715 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre des serveurs distants dans l'espace d'URL
1716 du serveur local en utilisant des expressions rationnelles</td></tr>
1717 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var>
1718 [<var>clé=valeur</var>
1719         <var>[clé=valeur</var> ...]]</code></td></tr>
1720 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1721 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1722 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1723 </table>
1724     <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des
1725     expressions rationnelles, au lieu d'une simple comparaison de
1726     préfixes. L'expression rationnelle spécifiée est comparée à
1727     l'<var>url</var>, et si elle correspond, le serveur va substituer
1728     toute correspondance entre parenthèses dans la chaîne donnée et
1729     l'utiliser comme nouvelle <var>url</var>.</p>
1730
1731     <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
1732     utilisée dans un contexte de niveau répertoire.</div>
1733
1734     <p>Supposons que le serveur local a pour adresse
1735     <code>http://example.com/</code> ; alors</p>
1736
1737     <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"</pre>
1738
1739
1740     <p>va provoquer la conversion interne de la requête locale
1741     <code>http://example.com/foo/bar.gif</code> en une requête mandatée
1742     pour <code>http://backend.example.com/foo/bar.gif</code>.</p>
1743
1744     <div class="note"><h3>Note</h3>
1745       <p>L'argument URL doit pouvoir être interprété en tant qu'URL
1746       <em>avant</em> les substitutions d'expressions rationnelles (et
1747       doit aussi l'être après). Ceci limite les correspondances que vous
1748       pouvez utiliser. Par exemple, si l'on avait utilisé</p>
1749       <pre class="prettyprint lang-config">        ProxyPassMatch "^(/.*\.gif)$"
1750         "http://backend.example.com:8000$1"</pre>
1751
1752       <p>dans l'exemple précédent, nous aurions provoqué une erreur de
1753       syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
1754       ASF bugzilla), et il est possible de la contourner en reformulant
1755       la correspondance :</p>
1756       <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
1757
1758     </div>
1759
1760     <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
1761     sous-répertoire donné.</p>
1762
1763     <p>Dans une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, le premier argument est
1764     omis et l'expression rationnelle est obtenue à partir de la directive
1765     <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.</p>
1766
1767     <p>Si vous avez besoin d'une configuration du mandataire inverse
1768     plus flexible, voyez la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> avec le drapeau
1769     <code>[P]</code>.</p>
1770
1771     <div class="note">
1772         <h3>Substitution par défaut</h3>
1773         <p>Lorsque le paramètre URL n'utilise pas de références arrières
1774         dans l'expression rationnelle, l'URL originale sera ajoutée au
1775         paramètre URL.
1776         </p>
1777         </div>
1778
1779     <div class="warning">
1780       <h3>Avertissement à propos de la sécurité</h3>
1781       <p>Lors de la construction de l'URL cible de la règle, il convient
1782       de prendre en compte l'impact en matière de sécurité qu'aura le
1783       fait de permettre au client d'influencer le jeu d'URLs pour
1784       lesquelles votre serveur agira en tant que mandataire.
1785       Assurez-vous que la partie protocole://nom-serveur de l'URL soit
1786       fixe, ou ne permette pas au client de l'influencer induement.</p>
1787     </div>
1788
1789 </div>
1790 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1791 <div class="directive-section"><h2><a name="proxypassreverse" id="proxypassreverse">Directive</a> <a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a></h2>
1792 <table class="directive">
1793 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
1794 par un serveur mandaté en inverse</td></tr>
1795 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var>
1796 [<var>interpolate</var>]</code></td></tr>
1797 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1798 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1799 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1800 </table>
1801     <p>Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL
1802     dans les en-têtes <code>Location</code>,
1803     <code>Content-Location</code> et <code>URI</code> des réponses de
1804     redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en
1805     tant que mandataire inverse (ou passerelle), afin d'éviter de
1806     court-circuiter le mandataire inverse suite aux redirections HTTP
1807     sur le serveur d'arrière-plan qui restent derrière le mandataire
1808     inverse.</p>
1809
1810     <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés
1811     ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes
1812     de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela
1813     signifie que dans le cas où un contenu mandaté contient des
1814     références à des URLs absolues, elles court-circuiteront le
1815     mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au
1816     mandataire, vous devez charger et activer le module
1817     <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>.
1818     </p>
1819
1820     <p><var>chemin</var> est le nom d'un chemin virtuel local.
1821     <var>url</var> est une URL partielle pour le serveur distant. Ces
1822     paramètres s'utilisent de la même façon qu'avec la
1823     directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
1824
1825     <p>Supposons par exemple que le serveur local a pour adresse
1826     <code>http://example.com/</code> ; alors</p>
1827
1828     <pre class="prettyprint lang-config">ProxyPass         "/mirror/foo/" "http://backend.example.com/"
1829 ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
1830 ProxyPassReverseCookieDomain  "backend.example.com" "public.example.com"
1831 ProxyPassReverseCookiePath  "/"  "/mirror/foo/"</pre>
1832
1833
1834     <p>ne va pas seulement provoquer la conversion interne d'une requête
1835     locale pour <code>http://example.com/miroir/foo/bar</code> en une
1836     requête mandatée pour <code>http://backend.example.com/bar</code>
1837     (la fonctionnalité fournie par <code>ProxyPass</code>). Il va
1838     aussi s'occuper des redirections que le serveur
1839     <code>backend.example.com</code> envoie lorsqu'il redirige
1840     <code>http://backend.example.com/bar</code> vers
1841     <code>http://backend.example.com/quux</code>. Apache
1842     httpd corrige ceci en <code>http://example.com/miroir/foo/quux</code>
1843     avant de faire suivre la redirection HTTP au client. Notez que le
1844     nom d'hôte utilisé pour construire l'URL est choisi en respectant la
1845     définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
1846
1847     <p>Notez que la directive <code class="directive">ProxyPassReverse</code>
1848     peut aussi être utilisée en conjonction avec la
1849     fonctionnalité de mandataire
1850     (<code>RewriteRule ...  [P]</code>) du module
1851     <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
1852     <code class="directive"><a href="#proxypass">ProxyPass</a></code>
1853     correspondante.</p>
1854
1855     <p>Le mot-clé optionnel <var>interpolate</var>, en
1856     combinaison avec la directive
1857     <code class="directive">ProxyPassInterpolateEnv</code>, permet
1858     l'interpolation des variables d'environnement spécifiées en
1859     utilisant le format <var>${VARNAME}</var> Notez que l'interpolation
1860     n'est pas supportée dans la partie protocole d'une URL.
1861     </p>
1862
1863     <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>, le premier
1864     argument est omis et le répertoire local est obtenu à partir de
1865     l'argument de la directive <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. Il en est de même à l'intérieur
1866     d'une section <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, mais le résultat ne sera
1867     probablement pas celui attendu car ProxyPassReverse va interpréter
1868     l'expression rationnelle littéralement comme un chemin ; si besoin
1869     est dans ce cas, définissez la directive ProxyPassReverse en dehors
1870     de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> séparée.</p>
1871
1872     <p>Cette directive ne peut pas être placée dans une section
1873     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou
1874     <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>.</p>
1875
1876 </div>
1877 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1878 <div class="directive-section"><h2><a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a> <a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a></h2>
1879 <table class="directive">
1880 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes
1881 Set-Cookie en provenance d'un serveur mandaté</td></tr>
1882 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var>
1883 <var>domaine-public</var> [<var>interpolate</var>]</code></td></tr>
1884 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1885 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1886 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1887 </table>
1888 <p>L'utilisation de cette directive est similaire à celle de la
1889 directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
1890 mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
1891 réécrit la chaîne correspondant au domaine dans les en-têtes
1892 <code>Set-Cookie</code>.</p>
1893
1894 </div>
1895 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1896 <div class="directive-section"><h2><a name="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a> <a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a></h2>
1897 <table class="directive">
1898 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes
1899 Set-Cookie en provenance d'un serveur mandaté</td></tr>
1900 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var>
1901 <var>chemin-public</var> [<var>interpolate</var>]</code></td></tr>
1902 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1903 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1904 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1905 </table>
1906 <p>
1907 Cette directive s'avère utile en conjonction avec la directive
1908 <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> dans les
1909 situations où les chemins d'URL d'arrière-plan correspondent à des
1910 chemins publics sur le mandataire inverse. Cette directive permet de
1911 réécrire la chaîne <code>path</code> dans les en-têtes
1912 <code>Set-Cookie</code>. Si le début du chemin du cookie correspond à
1913 <var>chemin-interne</var>, le chemin du cookie sera remplacé par
1914 <var>chemin-public</var>.
1915 </p><p>
1916 Dans l'exemple fourni avec la directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, la directive :
1917 </p>
1918     <pre class="prettyprint lang-config">ProxyPassReverseCookiePath  "/"  "/mirror/foo/"</pre>
1919
1920 <p>
1921 va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code>
1922 (ou <code>/example</code> ou en fait tout chemin)
1923 en <code>/mirror/foo/</code>..
1924 </p>
1925
1926 </div>
1927 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1928 <div class="directive-section"><h2><a name="proxypreservehost" id="proxypreservehost">Directive</a> <a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a></h2>
1929 <table class="directive">
1930 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête
1931 du mandataire</td></tr>
1932 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
1933 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
1934 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1935 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1936 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1937 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisable
1938 dans un contexte de répertoire depuis la version 2.3.3.</td></tr>
1939 </table>
1940     <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
1941     Host: de la requête entrante vers le serveur mandaté, au lieu du nom
1942     d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
1943
1944     <p>Cette directive est habituellement définie à <code>Off</code>.
1945     Elle est principalement utile dans les configurations particulières
1946     comme l'hébergement virtuel mandaté en masse à base de nom, où
1947     l'en-tête Host d'origine doit être évalué par le serveur
1948     d'arrière-plan.</p>
1949
1950 </div>
1951 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1952 <div class="directive-section"><h2><a name="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a> <a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a></h2>
1953 <table class="directive">
1954 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP
1955 et FTP</td></tr>
1956 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyReceiveBufferSize <var>octets</var></code></td></tr>
1957 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
1958 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1959 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1960 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1961 </table>
1962     <p>La directive <code class="directive">ProxyReceiveBufferSize</code> permet
1963     de spécifier une taille de tampon réseau explicite (TCP/IP) pour les
1964     connexions mandatées HTTP et FTP, afin d'améliorer le débit de
1965     données. Elle doit être supérieure à <code>512</code> ou définie à
1966     <code>0</code> pour indiquer que la taille de tampon par défaut du
1967     système doit être utilisée.</p>
1968
1969     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre>
1970 </div>
1971
1972 </div>
1973 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1974 <div class="directive-section"><h2><a name="proxyremote" id="proxyremote">Directive</a> <a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a></h2>
1975 <table class="directive">
1976 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines
1977 requêtes</td></tr>
1978 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></code></td></tr>
1979 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1980 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
1981 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
1982 </table>
1983     <p>Cette directive permet de définir des mandataires distants pour
1984     ce mandataire. <var>comparaison</var> est soit le nom d'un protocole
1985     que supporte le serveur distant, soit une URL partielle pour
1986     laquelle le serveur distant devra être utilisé, soit <code>*</code>
1987     pour indiquer que le serveur distant doit être utilisé pour toutes
1988     les requêtes. <var>serveur-distant</var> est une URL partielle
1989     correspondant au serveur distant. Syntaxe : </p>
1990
1991     <div class="example"><p><code>
1992       <dfn>serveur-distant</dfn> =
1993           <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
1994     </code></p></div>
1995
1996     <p><var>protocole</var> est effectivement le protocole à utiliser
1997     pour communiquer avec le serveur distant ; ce module ne supporte que
1998     <code>http</code> et <code>https</code>. Lorsqu'on utilise
1999     <code>https</code>, les requêtes sont redirigées par le mandataire
2000     distant en utilisant la méthode HTTP CONNECT.</p>
2001
2002     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "http://goodguys.example.com/"
2003 "http://mirrorguys.example.com:8000"
2004 ProxyRemote "*" "http://cleverproxy.localdomain"
2005 ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"</pre>
2006 </div>
2007
2008     <p>Dans la dernière ligne de l'exemple, le mandataire va faire
2009     suivre les requêtes FTP, encapsulées dans une autre requête mandatée
2010     HTTP, vers un autre mandataire capable de les traiter.</p>
2011
2012     <p>Cette directive supporte aussi les configurations de mandataire
2013     inverse ; un serveur web d'arrière-plan peut être intégré dans
2014     l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
2015     par un autre mandataire direct.</p>
2016
2017 </div>
2018 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2019 <div class="directive-section"><h2><a name="proxyremotematch" id="proxyremotematch">Directive</a> <a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a></h2>
2020 <table class="directive">
2021 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes
2022 correspondant à une expression rationnelle</td></tr>
2023 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></code></td></tr>
2024 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2025 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2026 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2027 </table>
2028     <p>La directive <code class="directive">ProxyRemoteMatch</code> est
2029     identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception du
2030     premier argument qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
2031     rationnelle</a> à mettre en correspondance avec l'URL de la
2032     requête.</p>
2033
2034 </div>
2035 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2036 <div class="directive-section"><h2><a name="proxyrequests" id="proxyrequests">Directive</a> <a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a></h2>
2037 <table class="directive">
2038 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire
2039 direct</td></tr>
2040 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
2041 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr>
2042 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2043 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2044 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2045 </table>
2046     <p>Cette directive permet d'activer/désactiver la fonctionnalité de
2047     serveur mandataire direct d'Apache httpd. Définir ProxyRequests à
2048     <code>Off</code> n'interdit pas l'utilisation de la directive
2049     <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
2050
2051     <p>Pour une configuration typique de mandataire inverse ou
2052     passerelle, cette directive doit être définie à
2053     <code>Off</code>.</p>
2054
2055     <p>Afin d'activer la fonctionnalité de mandataire pour des sites
2056     HTTP et/ou FTP, les modules <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> et/ou
2057     <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent également être chargés dans le
2058     serveur.</p>
2059
2060     <p>Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module
2061     <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit également être chargé dans le serveur.</p>
2062
2063     <div class="warning"><h3>Avertissement</h3>
2064       <p>N'activez pas la fonctionnalité de mandataire avec la directive
2065       <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
2066       d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
2067       mandataires ouverts sont dangereux non seulement pour votre
2068       réseau, mais aussi pour l'Internet au sens large.</p>
2069     </div>
2070
2071 <h3>Voir aussi</h3>
2072 <ul>
2073 <li><a href="#forwardreverse">Mandataires/Passerelles directs et
2074 inverses</a></li>
2075 </ul>
2076 </div>
2077 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2078 <div class="directive-section"><h2><a name="proxyset" id="proxyset">Directive</a> <a name="ProxySet" id="ProxySet">ProxySet</a></h2>
2079 <table class="directive">
2080 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de
2081 charge des mandataires et aux membres des groupes de répartition de
2082 charge</td></tr>
2083 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr>
2084 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
2085 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2086 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2087 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>ProxySet n'est disponible que depuis la version 2.2
2088 du serveur HTTP Apache.</td></tr>
2089 </table>
2090     <p>Cette directive propose une méthode alternative pour définir tout
2091     paramètre relatif aux répartiteurs de charge et serveurs cibles de
2092     mandataires normalement définis via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un
2093     conteneur <code>&lt;Proxy <var>url de répartiteur|url de
2094     serveur cible</var>&gt;</code>, l'argument <var>url</var> n'est pas
2095     nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif
2096     est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un
2097     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>
2098
2099     <div class="example"><pre class="prettyprint lang-config">&lt;Proxy "balancer://hotcluster"&gt;
2100     BalancerMember "http://www2.example.com:8080" loadfactor=1
2101     BalancerMember "http://www3.example.com:8080" loadfactor=2
2102     ProxySet lbmethod=bytraffic
2103 &lt;/Proxy&gt;</pre>
2104 </div>
2105
2106     <pre class="prettyprint lang-config">&lt;Proxy "http://backend"&gt;
2107     ProxySet keepalive=On
2108 &lt;/Proxy&gt;</pre>
2109
2110
2111     <pre class="prettyprint lang-config">ProxySet "balancer://foo" lbmethod=bytraffic timeout=15</pre>
2112
2113
2114     <pre class="prettyprint lang-config">ProxySet "ajp://backend:7001" timeout=15</pre>
2115
2116
2117    <div class="warning"><h3>Avertissement</h3>
2118       <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir
2119       différentes significations selon qu'elle s'applique à un
2120       répartiteur ou à un serveur cible, et ceci est illustré par les deux
2121       exemples précédents où il est question d'un timeout.</p>
2122    </div>
2123
2124
2125 </div>
2126 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2127 <div class="directive-section"><h2><a name="proxysourceaddress" id="proxysourceaddress">Directive</a> <a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a></h2>
2128 <table class="directive">
2129 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'adresse IP locale pour les connexions mandatées
2130 sortantes</td></tr>
2131 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySourceAddress <var>adresse</var></code></td></tr>
2132 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2133 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2134 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2135 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9</td></tr>
2136 </table>
2137     <p>Cette directive permet de définir une adresse IP locale
2138     spécifique à laquelle faire référence lors d'une connexion à un
2139     serveur d'arrière-plan.</p>
2140
2141
2142 </div>
2143 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2144 <div class="directive-section"><h2><a name="proxystatus" id="proxystatus">Directive</a> <a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a></h2>
2145 <table class="directive">
2146 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans
2147 mod_status</td></tr>
2148 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
2149 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr>
2150 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2151 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2152 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2153 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 d'Apache</td></tr>
2154 </table>
2155     <p>Cette directive permet de spécifier si les données d'état du
2156     répartiteur de charge du mandataire doivent être affichées via la
2157     page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
2158     <div class="note"><h3>Note</h3>
2159       <p>L'argument <strong>Full</strong> produit le même effet que
2160       l'argument <strong>On</strong>.</p>
2161     </div>
2162
2163
2164 </div>
2165 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2166 <div class="directive-section"><h2><a name="proxytimeout" id="proxytimeout">Directive</a> <a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a></h2>
2167 <table class="directive">
2168 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes
2169 mandatées</td></tr>
2170 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyTimeout <var>secondes</var></code></td></tr>
2171 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr>
2172 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2173 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2174 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2175 </table>
2176     <p>Cette directive permet à l'utilisateur de spécifier un délai pour
2177     les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur
2178     d'applications lent et bogué qui a tendance à se bloquer, et si vous
2179     préférez simplement renvoyer une erreur timeout et abandonner la
2180     connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur
2181     veuille bien répondre.</p>
2182
2183 </div>
2184 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2185 <div class="directive-section"><h2><a name="proxyvia" id="proxyvia">Directive</a> <a name="ProxyVia" id="ProxyVia">ProxyVia</a></h2>
2186 <table class="directive">
2187 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-tête de réponse HTTP
2188 <code>Via</code> pour les requêtes mandatées</td></tr>
2189 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
2190 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr>
2191 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2192 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
2193 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
2194 </table>
2195     <p>Cette directive permet de contrôler l'utilisation de l'en-tête
2196     HTTP <code>Via:</code> par le mandataire. Le but recherché est de
2197     contrôler le flux des requêtes mandatées tout au long d'une chaîne
2198     de serveurs mandataires. Voir <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1),
2199     section 14.45 pour une description des lignes d'en-tête
2200     <code>Via:</code>.</p>
2201
2202     <ul>
2203     <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette
2204     directive n'effectue aucun traitement particulier. Si une requête ou
2205     une réponse contient un en-tête <code>Via:</code>, il est transmis
2206     sans modification.</li>
2207
2208     <li>Si elle est définie à <code>On</code>, chaque requête ou réponse
2209     se verra ajouter une ligne d'en-tête <code>Via:</code> pour le
2210     serveur courant.</li>
2211
2212     <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête
2213     <code>Via:</code> se verra ajouter la version du serveur Apache
2214     httpd sous la forme d'un champ de commentaire <code>Via:</code>.</li>
2215
2216     <li>Si elle est définie à <code>Block</code>, chaque requête
2217     mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées.
2218     Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li>
2219     </ul>
2220
2221 </div>
2222 </div>
2223 <div class="bottomlang">
2224 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
2225 <a href="../fr/mod/mod_proxy.html" title="Français">&nbsp;fr&nbsp;</a> |
2226 <a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
2227 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
2228 <script type="text/javascript"><!--//--><![CDATA[//><!--
2229 var comments_shortname = 'httpd';
2230 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html';
2231 (function(w, d) {
2232     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
2233         d.write('<div id="comments_thread"><\/div>');
2234         var s = d.createElement('script');
2235         s.type = 'text/javascript';
2236         s.async = true;
2237         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
2238         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
2239     }
2240     else { 
2241         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
2242     }
2243 })(window, document);
2244 //--><!]]></script></div><div id="footer">
2245 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
2246 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
2247 if (typeof(prettyPrint) !== 'undefined') {
2248     prettyPrint();
2249 }
2250 //--><!]]></script>
2251 </body></html>