]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_proxy.xml.fr
Update transformations.
[apache] / docs / manual / mod / mod_proxy.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 931689 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_proxy.xml.meta">
26
27 <name>mod_proxy</name>
28 <description>Serveur mandataire/passerelle HTTP/1.1</description>
29 <status>Extension</status>
30 <sourcefile>mod_proxy.c</sourcefile>
31 <identifier>proxy_module</identifier>
32
33 <summary>
34     <note type="warning"><title>Avertissement</title>
35       <p>N'activez pas la fonctionnalit&eacute; de mandataire avec la directive
36       <directive module="mod_proxy">ProxyRequests</directive> avant
37       d'avoir <a href="#access">s&eacute;curis&eacute; votre serveur</a>. Les serveurs
38       mandataires ouverts sont dangereux pour votre r&eacute;seau,
39       mais aussi pour l'Internet au sens large.</p>
40     </note>
41
42     <p>Ce module impl&eacute;mente un mandataire/passerelle pour le serveur
43     HTTP Apache. Il
44     impl&eacute;mente la fonctionnalit&eacute; de mandataire pour <code>AJP13</code>
45     (Apache JServe Protocol version 1.3), <code>FTP</code>,
46     <code>CONNECT</code> (pour SSL), <code>HTTP/0.9</code>,
47     <code>HTTP/1.0</code>, et <code>HTTP/1.1</code>. Le module peut &ecirc;tre
48     configur&eacute; pour se connecter aux autres modules mandataires qui
49     g&egrave;rent ces protocoles ou d'autres.</p>
50
51     <p>Les diverses fonctionnalit&eacute;s de
52     mandataire d'Apache httpd sont r&eacute;parties entre plusieurs modules
53     compl&eacute;mentaires de <module>mod_proxy</module> :
54     <module>mod_proxy_http</module>, <module>mod_proxy_ftp</module>,
55     <module>mod_proxy_ajp</module>, <module>mod_proxy_balancer</module>,
56     et <module>mod_proxy_connect</module>. Ainsi, si vous voulez
57     utiliser une ou plusieurs fonctionnalit&eacute;s de mandataire
58     particuli&egrave;res, chargez <module>mod_proxy</module> <em>et</em> le(s)
59     module(s) appropri&eacute;(s) dans le serveur (soit statiquement &agrave; la
60     compilation, soit dynamiquement via la directive <directive
61     module="mod_so">LoadModule</directive>).</p>
62
63     <p>En outre, d'autres modules fournissent des fonctionnalit&eacute;s
64     &eacute;tendues. <module>mod_cache</module> et ses modules associ&eacute;s
65     fournissent la mise en cache. Les directives <code>SSLProxy*</code>
66     du module <module>mod_ssl</module> permettent de contacter des
67     serveurs distants en utilisant le protocole SSL/TLS. Ces modules
68     additionnels devront &ecirc;tre charg&eacute;s et configur&eacute;s pour pouvoir
69     disposer de ces fonctionnalit&eacute;s.</p>
70 </summary>
71 <seealso><module>mod_cache</module></seealso>
72 <seealso><module>mod_proxy_http</module></seealso>
73 <seealso><module>mod_proxy_ftp</module></seealso>
74 <seealso><module>mod_proxy_connect</module></seealso>
75 <seealso><module>mod_proxy_balancer</module></seealso>
76 <seealso><module>mod_ssl</module></seealso>
77
78     <section id="forwardreverse"><title>Mandataires directs et
79     mandataires/passerelles inverses</title>
80       <p>Le serveur HTTP Apache peut &ecirc;tre configur&eacute; dans les deux modes mandataire
81       <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nomm&eacute;
82       mode <dfn>passerelle</dfn>).</p>
83
84       <p>Un <dfn>mandataire direct</dfn> standard est un serveur
85       interm&eacute;diaire qui s'intercale entre le client et le <em>serveur
86       demand&eacute;</em>. Pour obtenir un contenu h&eacute;berg&eacute; par
87       le serveur demand&eacute;, le client envoie une requ&ecirc;te au
88       mandataire en nommant le serveur demand&eacute; comme
89       cible, puis le mandataire extrait le contenu depuis le
90       serveur demand&eacute; et le renvoie enfin au client. Le client doit &ecirc;tre
91       configur&eacute; de mani&egrave;re appropri&eacute;e pour pouvoir utiliser le mandataire
92       direct afin d'acc&eacute;der &agrave; d'autres sites.</p>
93
94       <p>L'acc&egrave;s &agrave; Internet depuis des clients situ&eacute;s derri&egrave;re un
95       pare-feu est une utilisation typique du mandataire direct. Le
96       mandataire direct peut aussi utiliser la mise en cache (fournie
97       par <module>mod_cache</module>) pour r&eacute;duire la charge du
98       r&eacute;seau.</p>
99
100       <p>La fonctionnalit&eacute; de mandataire direct est activ&eacute;e via la
101       directive <directive module="mod_proxy">ProxyRequests</directive>.
102       Comme les mandataires directs permettent aux clients d'acc&eacute;der &agrave;
103       des sites quelconques via votre serveur et de dissimuler leur
104       v&eacute;ritable origine, il est indispensable de <a
105       href="#access">s&eacute;curiser votre serveur</a> de fa&ccedil;on &agrave; ce que seuls
106       les clients autoris&eacute;s puissent acc&eacute;der &agrave; votre serveur avant
107       d'activer la fonctionnalit&eacute; de mandataire direct.</p>
108
109       <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
110       quant &agrave; lui, appara&icirc;t au client comme un serveur web standard.
111       Aucune configuration particuli&egrave;re du client n'est n&eacute;cessaire. Le
112       client adresse ses demandes de contenus ordinaires dans l'espace
113       de nommage du mandataire inverse. Ce dernier d&eacute;cide alors o&ugrave;
114       envoyer ces requ&ecirc;tes, et renvoie le contenu au client comme s'il
115       l'h&eacute;bergeait lui-m&ecirc;me.</p>
116
117       <p>L'acc&egrave;s d'utilisateurs depuis Internet vers un serveur situ&eacute;
118       derri&egrave;re un pare-feu est une utilisation typique du mandataire
119       inverse. On peut aussi utiliser les mandataires inverses pour
120       mettre en oeuvre une r&eacute;partition de charge entre plusieurs
121       serveurs en arri&egrave;re-plan, ou fournir un cache pour un serveur
122       d'arri&egrave;re-plan plus lent. Les mandataires inverses peuvent aussi
123       tout simplement servir &agrave; rassembler plusieurs serveurs dans le
124       m&ecirc;me espace de nommage d'URLs.</p>
125
126       <p>La fonctionnalit&eacute; de mandataire inverse est activ&eacute;e via la
127       directive <directive module="mod_proxy">ProxyPass</directive> ou
128       le drapeau <code>[P]</code> de la directive <directive
129       module="mod_rewrite">RewriteRule</directive>. Il n'est
130       <strong>pas</strong> n&eacute;cessaire de d&eacute;finir <directive
131       module="mod_proxy">ProxyRequests</directive> pour configurer
132       un mandataire inverse.</p>
133     </section> <!-- /forwardreverse -->
134
135     <section id="examples"><title>Exemples simples</title>
136
137     <p>Les exemples ci-dessous illustrent de mani&egrave;re tr&egrave;s basique la
138     mise en oeuvre de la fonctionnalit&eacute; de mandataire et ne sont l&agrave; que
139     pour vous aider &agrave; d&eacute;marrer. Reportez-vous &agrave; la documentation de
140     chaque directive.</p>
141
142     <p>Si en outre, vous d&eacute;sirez activer la mise en cache, consultez la
143     documentation de <module>mod_cache</module>.</p>
144
145     <example><title>Mandataire inverse</title>
146     ProxyPass /foo http://foo.example.com/bar<br />
147     ProxyPassReverse /foo http://foo.example.com/bar
148     </example>
149
150     <example><title>Mandataire direct</title>
151     ProxyRequests On<br />
152     ProxyVia On<br />
153     <br />
154     &lt;Proxy *&gt;<br />
155     <indent>
156       Order deny,allow<br />
157       Deny from all<br />
158       Allow from interne.example.com<br />
159     </indent>
160     &lt;/Proxy&gt;
161     </example>
162     </section> <!-- /examples -->
163
164
165     <section id="access"><title>Contr&ocirc;ler l'acc&egrave;s &agrave; votre
166     mandataire</title>
167       <p>Vous pouvez restreindre l'acc&egrave;s &agrave; votre mandataire via le bloc
168       de contr&ocirc;le <directive
169       module="mod_proxy" type="section">Proxy</directive> comme dans
170       l'exemple suivant :</p>
171
172       <example>
173         &lt;Proxy *&gt;<br />
174         <indent>
175           Order Deny,Allow<br />
176           Deny from all<br />
177           Allow from 192.168.0<br />
178         </indent>
179         &lt;/Proxy&gt;
180       </example>
181
182       <p>Pour plus de d&eacute;tails sur les directives de contr&ocirc;le d'acc&egrave;s,
183       voir la documentation du module
184       <module>mod_authz_host</module>.</p>
185
186       <p>Restreindre l'acc&egrave;s de mani&egrave;re stricte est essentiel si vous
187       mettez en oeuvre un mandataire direct (en d&eacute;finissant la directive
188       <directive module="mod_proxy">ProxyRequests</directive> &agrave; "on").
189       Dans le cas contraire, votre serveur pourrait &ecirc;tre utilis&eacute; par
190       n'importe quel client pour acc&eacute;der &agrave; des serveurs quelconques,
191       tout en masquant sa v&eacute;ritable identit&eacute;. Ceci repr&eacute;sente un danger
192       non seulement pour votre r&eacute;seau, mais aussi pour l'Internet au
193       sens large. Dans le cas de la mise en oeuvre d'un mandataire
194       inverse (en d&eacute;finissant la directive <directive
195       module="mod_proxy">ProxyPass</directive> &agrave; "off"), le contr&ocirc;le
196       d'acc&egrave;s est moins critique car les clients ne peuvent contacter
197       que les serveurs que vous avez sp&eacute;cifi&eacute;s.</p>
198
199       <p><strong>Voir aussi</strong> la variable d'environnement <a
200       href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>
201
202     </section> <!-- /access -->
203
204     <section id="startup"><title>Ralentissement au d&eacute;marrage</title>
205       <p>Si vous utilisez la directive <directive module="mod_proxy"
206       >ProxyBlock</directive>, les noms d'h&ocirc;tes sont r&eacute;solus en adresses
207       IP puis ces derni&egrave;res mises en cache au cours du d&eacute;marrage
208       &agrave; des fins de tests de comparaisons ult&eacute;rieurs. Ce processus peut
209       durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
210       &agrave; laquelle s'effectue la r&eacute;solution des noms d'h&ocirc;tes.</p>
211     </section> <!-- /startup -->
212
213     <section id="intranet"><title>Mandataire en Intranet</title>
214       <p>Un serveur mandataire Apache httpd situ&eacute; &agrave; l'int&eacute;rieur d'un Intranet
215       doit faire suivre les requ&ecirc;tes destin&eacute;es &agrave; un serveur externe &agrave;
216       travers le pare-feu de l'entreprise (pour ce faire, d&eacute;finissez la
217       directive <directive module="mod_proxy">ProxyRemote</directive> de
218       fa&ccedil;on &agrave; ce qu'elle fasse suivre le <var>protocole</var> concern&eacute;
219       vers le mandataire du pare-feu). Cependant, lorsqu'il doit acc&eacute;der
220       &agrave; des ressources situ&eacute;es dans l'Intranet, il peut se passer du
221       pare-feu pour acc&eacute;der aux serveurs. A cet effet, la directive
222       <directive module="mod_proxy">NoProxy</directive> permet de
223       sp&eacute;cifier quels h&ocirc;tes appartiennent &agrave; l'Intranet et peuvent donc
224       &ecirc;tre acc&eacute;d&eacute;s directement.</p>
225
226       <p>Les utilisateurs d'un Intranet ont tendance &agrave; oublier le nom du
227       domaine local dans leurs requ&ecirc;tes WWW, et demandent par exemple
228       "http://un-serveur/" au lieu de
229       <code>http://un-serveur.example.com/</code>. Certains serveurs
230       mandataires commerciaux acceptent ce genre de requ&ecirc;te et les
231       traitent simplement en utilisant un nom de domaine local
232       implicite. Lorsque la directive <directive
233       module="mod_proxy">ProxyDomain</directive> est utilis&eacute;e et si le
234       serveur est <a href="#proxyrequests">configur&eacute; comme
235       mandataire</a>, Apache httpd peut renvoyer une r&eacute;ponse de redirection et
236       ainsi fournir au client l'adresse de serveur correcte,
237       enti&egrave;rement qualifi&eacute;e. C'est la m&eacute;thode &agrave; privil&eacute;gier car le
238       fichier des marque-pages de l'utilisateur contiendra alors des
239       noms de serveurs enti&egrave;rement qualifi&eacute;s.</p>
240     </section> <!-- /intranet -->
241
242     <section id="envsettings"><title>Ajustements relatifs au
243     protocole</title>
244       <p>Pour les cas o&ugrave; <module>mod_proxy</module> envoie des requ&ecirc;tes
245       vers un serveur qui n'impl&eacute;mente pas correctement les connexions
246       persistantes ou le protocole HTTP/1.1, il existe deux variables
247       d'environnement qui permettent de forcer les requ&ecirc;tes &agrave; utiliser
248       le protocole HTTP/1.0 avec connexions non persistantes. Elles
249       peuvent &ecirc;tre d&eacute;finies via la directive <directive
250       module="mod_env">SetEnv</directive>.</p>
251
252       <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
253       <code>proxy-nokeepalive</code>.</p>
254
255       <example>
256         &lt;Location /serveur-non-conforme/&gt;<br />
257         <indent>
258           ProxyPass http://serveur-non-conforme:7001/foo/<br />
259           SetEnv force-proxy-request-1.0 1<br />
260           SetEnv proxy-nokeepalive 1<br />
261         </indent>
262         &lt;/Location&gt;
263       </example>
264
265     </section> <!-- /envsettings -->
266
267     <section id="request-bodies"><title>Corps de requ&ecirc;tes</title>
268
269     <p>Certaines m&eacute;thodes de requ&ecirc;tes comme POST comportent un corps de
270     requ&ecirc;te. Le protocole HTTP stipule que les requ&ecirc;tes qui comportent
271     un corps doivent soit utiliser un codage de transmission
272     fractionn&eacute;e (chunked transfer encoding), soit envoyer un en-t&ecirc;te de requ&ecirc;te
273     <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
274     requ&ecirc;te vers le serveur demand&eacute;, <module>mod_proxy_http</module>
275     s'efforce toujours d'envoyer l'en-t&ecirc;te <code>Content-Length</code>.
276     Par contre, si la taille du corps est importante, et si la requ&ecirc;te
277     originale utilise un codage &agrave; fractionnement, ce dernier peut aussi
278     &ecirc;tre utilis&eacute; dans la requ&ecirc;te montante. Ce comportement peut &ecirc;tre
279     contr&ocirc;l&eacute; &agrave; l'aide de <a href="../env.html">variables
280     d'environnement</a>. Ainsi, si elle est d&eacute;finie, la variable
281     <code>proxy-sendcl</code> assure une compatibilit&eacute; maximale avec les
282     serveurs demand&eacute;s en imposant l'envoi de l'en-t&ecirc;te
283     <code>Content-Length</code>, alors que
284     <code>proxy-sendchunked</code> diminue la consommation de ressources
285     en imposant l'utilisation d'un codage &agrave; fractionnement.</p>
286
287     </section> <!-- /request-bodies -->
288
289     <section id="x-headers"><title>En-t&ecirc;tes de requ&ecirc;te du mandataire
290     inverse</title>
291
292     <p>Lorsqu'il est configur&eacute; en mode mandataire inverse (en utilisant
293     par exemple la directive <directive
294     module="mod_proxy">ProxyPass</directive>),
295     <module>mod_proxy_http</module> ajoute plusieurs en-t&ecirc;tes de requ&ecirc;te
296     afin de transmettre des informations au serveur demand&eacute;. Ces
297     en-t&ecirc;tes sont les suivants :</p>
298
299     <dl>
300       <dt><code>X-Forwarded-For</code></dt>
301       <dd>L'adresse IP du client.</dd>
302       <dt><code>X-Forwarded-Host</code></dt>
303       <dd>L'h&ocirc;te d'origine demand&eacute; par le client dans l'en-t&ecirc;te de
304       requ&ecirc;te HTTP <code>Host</code>.</dd>
305       <dt><code>X-Forwarded-Server</code></dt>
306       <dd>Le nom d'h&ocirc;te du serveur mandataire.</dd>
307     </dl>
308
309     <p>Ces en-t&ecirc;tes doivent &ecirc;tre utilis&eacute;s avec pr&eacute;cautions sur le
310     serveur demand&eacute;, car ils contiendront plus d'une valeur (s&eacute;par&eacute;es
311     par des virgules) si la requ&ecirc;te originale contenait d&eacute;j&agrave; un de ces
312     en-t&ecirc;tes. Par exemple, vous pouvez utiliser
313     <code>%{X-Forwarded-For}i</code> dans la cha&icirc;ne de format du journal
314     du serveur demand&eacute; pour enregistrer les adresses IP des clients
315     originaux, mais il est possible que vous obteniez plusieurs adresses
316     si la requ&ecirc;te passe &agrave; travers plusieurs mandataires.</p>
317
318     <p>Voir aussi les directives <directive
319     module="mod_proxy">ProxyPreserveHost</directive> et <directive
320     module="mod_proxy">ProxyVia</directive> directives, qui permettent
321     de contr&ocirc;ler d'autres en-t&ecirc;tes de requ&ecirc;te.</p>
322
323    </section> <!--/x-headers -->
324
325
326 <directivesynopsis type="section">
327 <name>Proxy</name>
328 <description>Conteneur de directives s'appliquant &agrave; des ressources
329 mandat&eacute;es</description>
330 <syntax>&lt;Proxy <var>url-avec-jokers</var>&gt; ...&lt;/Proxy&gt;</syntax>
331 <contextlist><context>server config</context><context>virtual host</context>
332 </contextlist>
333
334 <usage>
335     <p>Les directives situ&eacute;es dans une section <directive
336     type="section">Proxy</directive> ne s'appliquent qu'au contenu
337     mandat&eacute; concern&eacute;. Les jokers de style shell sont autoris&eacute;s.</p>
338
339     <p>Par exemple, les lignes suivantes n'autoriseront &agrave; acc&eacute;der &agrave; un
340     contenu via votre serveur mandataire que les h&ocirc;tes appartenant &agrave;
341     <code>votre-reseau.example.com</code> :</p>
342
343     <example>
344       &lt;Proxy *&gt;<br />
345       <indent>
346         Order Deny,Allow<br />
347         Deny from all<br />
348         Allow from votre-reseau.example.com<br />
349       </indent>
350       &lt;/Proxy&gt;
351     </example>
352
353     <p>Dans l'exemple suivant, tous les fichiers du r&eacute;pertoire
354     <code>foo</code> de <code>example.com</code> seront trait&eacute;s par le
355     filtre <code>INCLUDES</code> lorsqu'ils seront envoy&eacute;s par
356     l'interm&eacute;diaire du serveur mandataire :</p>
357
358     <example>
359       &lt;Proxy http://example.com/foo/*&gt;<br />
360       <indent>
361         SetOutputFilter INCLUDES<br />
362       </indent>
363       &lt;/Proxy&gt;
364     </example>
365
366 </usage>
367 <seealso><directive type="section" module="mod_proxy">ProxyMatch</directive></seealso>
368 </directivesynopsis>
369
370 <directivesynopsis>
371 <name>ProxyBadHeader</name>
372 <description>D&eacute;termine la mani&egrave;re de traiter les lignes d'en-t&ecirc;te
373 incorrectes d'une r&eacute;ponse</description>
374 <syntax>ProxyBadHeader IsError|Ignore|StartBody</syntax>
375 <default>ProxyBadHeader IsError</default>
376 <contextlist><context>server config</context><context>virtual host</context>
377 </contextlist>
378 <compatibility>Disponible depuis la version 2.0.44 du serveur HTTP Apache</compatibility>
379
380 <usage>
381     <p>La directive <directive>ProxyBadHeader</directive> permet de
382     d&eacute;terminer le comportement de <module>mod_proxy</module> lorsqu'il
383     re&ccedil;oit des lignes d'en-t&ecirc;te dont la syntaxe n'est pas valide (c'est
384     &agrave; dire ne contenant pas de caract&egrave;re ':'). Les arguments disponibles
385     sont :</p>
386
387     <dl>
388     <dt><code>IsError</code></dt>
389     <dd>Annule la requ&ecirc;te et renvoie une r&eacute;ponse de code 502 (mauvaise
390     passerelle). C'est le comportement par d&eacute;faut.</dd>
391
392     <dt><code>Ignore</code></dt>
393     <dd>Traite les lignes d'en-t&ecirc;te incorrectes comme si elles n'avaient
394     pas &eacute;t&eacute; envoy&eacute;es.</dd>
395
396     <dt><code>StartBody</code></dt>
397     <dd>A la r&eacute;ception de la premi&egrave;re ligne d'en-t&ecirc;te incorrecte, les
398     autres en-t&ecirc;tes sont lus et ce qui reste est trait&eacute; en tant que
399     corps. Ceci facilite la prise en compte des serveurs d'arri&egrave;re-plan
400     bogu&eacute;s qui oublient d'ins&eacute;rer une ligne vide entre les
401     en-t&ecirc;tes et le corps.</dd>
402     </dl>
403 </usage>
404 </directivesynopsis>
405
406 <directivesynopsis type="section">
407 <name>ProxyMatch</name>
408 <description>Conteneur de directives s'appliquant &agrave; des ressources
409 mandat&eacute;es correspondant &agrave; une expression rationnelle</description>
410 <syntax>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</syntax>
411 <contextlist><context>server config</context><context>virtual host</context>
412 </contextlist>
413
414 <usage>
415     <p>La directive <directive type="section">ProxyMatch</directive> est
416     identique &agrave; la directive <directive module="mod_proxy"
417     type="section">Proxy</directive>, &agrave; l'exception qu'elle d&eacute;finit
418     les URLs auxquelles elle s'applique en utilisant une <glossary
419     ref="regex">expression rationnelle</glossary>.</p>
420 </usage>
421 <seealso><directive type="section" module="mod_proxy">Proxy</directive></seealso>
422 </directivesynopsis>
423
424 <directivesynopsis>
425 <name>ProxyPreserveHost</name>
426 <description>Utilise l'en-t&ecirc;te de requ&ecirc;te entrante Host pour la requ&ecirc;te
427 du mandataire</description>
428 <syntax>ProxyPreserveHost On|Off</syntax>
429 <default>ProxyPreserveHost Off</default>
430 <contextlist><context>server config</context><context>virtual host</context>
431 <context>directory</context>
432 </contextlist>
433 <compatibility>Disponible depuis la version 2.0.31 du serveur HTTP Apache. Utilisable
434 dans un contexte de r&eacute;pertoire depuis la version 2.3.3.</compatibility>
435
436 <usage>
437     <p>Lorsqu'elle est activ&eacute;e, cette directive va transmettre l'en-t&ecirc;te
438     Host: de la requ&ecirc;te entrante vers le serveur mandat&eacute;, au lieu du nom
439     d'h&ocirc;te sp&eacute;cifi&eacute; par la directive <directive>ProxyPass</directive>.</p>
440
441     <p>Cette directive est habituellement d&eacute;finie &agrave; <code>Off</code>.
442     Elle est principalement utile dans les configurations particuli&egrave;res
443     comme l'h&eacute;bergement virtuel mandat&eacute; en masse &agrave; base de nom, o&ugrave;
444     l'en-t&ecirc;te Host d'origine doit &ecirc;tre &eacute;valu&eacute; par le serveur
445     d'arri&egrave;re-plan.</p>
446 </usage>
447 </directivesynopsis>
448
449 <directivesynopsis>
450 <name>ProxyRequests</name>
451 <description>Active la fonctionnalit&eacute; (standard) de mandataire
452 direct</description>
453 <syntax>ProxyRequests On|Off</syntax>
454 <default>ProxyRequests Off</default>
455 <contextlist><context>server config</context><context>virtual host</context>
456 </contextlist>
457
458 <usage>
459     <p>Cette directive permet d'activer/d&eacute;sactiver la fonctionnalit&eacute; de
460     serveur mandataire direct d'Apache httpd. D&eacute;finir ProxyRequests &agrave;
461     <code>Off</code> n'interdit pas l'utilisation de la directive
462     <directive module="mod_proxy">ProxyPass</directive>.</p>
463
464     <p>Pour une configuration typique de mandataire inverse ou
465     passerelle, cette directive doit &ecirc;tre d&eacute;finie &agrave;
466     <code>Off</code>.</p>
467
468     <p>Afin d'activer la fonctionnalit&eacute; de mandataire pour des sites
469     HTTP et/ou FTP, les modules <module>mod_proxy_http</module> et/ou
470     <module>mod_proxy_ftp</module> doivent &eacute;galement &ecirc;tre charg&eacute;s dans le
471     serveur.</p>
472
473     <note type="warning"><title>Avertissement</title>
474       <p>N'activez pas la fonctionnalit&eacute; de mandataire avec la directive
475       <directive module="mod_proxy">ProxyRequests</directive> avant
476       d'avoir <a href="#access">s&eacute;curis&eacute; votre serveur</a>. Les serveurs
477       mandataires ouverts sont dangereux non seulement pour votre
478       r&eacute;seau, mais aussi pour l'Internet au sens large.</p>
479     </note>
480 </usage>
481 <seealso><a href="#forwardreverse">Mandataires/Passerelles directs et
482 inverses</a></seealso>
483 </directivesynopsis>
484
485 <directivesynopsis>
486 <name>ProxyRemote</name>
487 <description>Mandataire distant &agrave; utiliser pour traiter certaines
488 requ&ecirc;tes</description>
489 <syntax>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></syntax>
490 <contextlist><context>server config</context><context>virtual host</context>
491 </contextlist>
492
493 <usage>
494     <p>Cette directive permet de d&eacute;finir des mandataires distants pour
495     ce mandataire. <var>comparaison</var> est soit le nom d'un protocole
496     que supporte le serveur distant, soit une URL partielle pour
497     laquelle le serveur distant devra &ecirc;tre utilis&eacute;, soit <code>*</code>
498     pour indiquer que le serveur distant doit &ecirc;tre utilis&eacute; pour toutes
499     les requ&ecirc;tes. <var>serveur-distant</var> est une URL partielle
500     correspondant au serveur distant. Syntaxe : </p>
501
502     <example>
503       <dfn>serveur-distant</dfn> =
504           <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
505     </example>
506
507     <p><var>protocole</var> est effectivement le protocole &agrave; utiliser
508     pour communiquer avec le serveur distant ; ce module ne supporte que
509     <code>http</code> et <code>https</code>. Lorsqu'on utilise
510     <code>https</code>, les requ&ecirc;tes sont redirig&eacute;es par le mandataire
511     distant en utilisant la m&eacute;thode HTTP CONNECT.</p>
512
513     <example><title>Exemple</title>
514       ProxyRemote http://bons-gars.example.com/ http://gars-mirroirs.example.com:8000<br />
515       ProxyRemote * http://mandataire-intelligent.localdomain<br />
516       ProxyRemote ftp http://mandataire-ftp.mon-domaine:8080
517     </example>
518
519     <p>Dans la derni&egrave;re ligne de l'exemple, le mandataire va faire
520     suivre les requ&ecirc;tes FTP, encapsul&eacute;es dans une autre requ&ecirc;te mandat&eacute;e
521     HTTP, vers un autre mandataire capable de les traiter.</p>
522
523     <p>Cette directive supporte aussi les configurations de mandataire
524     inverse - un serveur web d'arri&egrave;re-plan peut &ecirc;tre int&eacute;gr&eacute; dans
525     l'espace d'URL d'un serveur virtuel, m&ecirc;me si ce serveur est cach&eacute;
526     par un autre mandataire direct.</p>
527 </usage>
528 </directivesynopsis>
529
530 <directivesynopsis>
531 <name>ProxyRemoteMatch</name>
532 <description>Le mandataire distant &agrave; utiliser pour traiter les requ&ecirc;tes
533 correspondant &agrave; une expression rationnelle</description>
534 <syntax>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></syntax>
535 <contextlist><context>server config</context><context>virtual host</context>
536 </contextlist>
537
538 <usage>
539     <p>La directive <directive>ProxyRemoteMatch</directive> est
540     identique &agrave; la directive <directive
541     module="mod_proxy">ProxyRemote</directive>, &agrave; l'exception du
542     premier argument qui est une <glossary ref="regex">expression
543     rationnelle</glossary> &agrave; mettre en correspondance avec l'URL de la
544     requ&ecirc;te.</p>
545 </usage>
546 </directivesynopsis>
547
548 <directivesynopsis>
549 <name>BalancerMember</name>
550 <description>Ajoute un membre &agrave; un groupe de r&eacute;partition de
551 charge</description>
552 <syntax>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var
553   >cl&eacute;=valeur [cl&eacute;=valeur ...]]</var></syntax>
554 <contextlist><context>directory</context>
555 </contextlist>
556 <compatibility>Disponible depuis la version 2.2 du serveur HTTP Apache.</compatibility>
557 <usage>
558     <p>Cette directive parmet d'ajouter un membre &agrave; un groupe de
559     r&eacute;partition de charge. Elle peut se trouver dans un conteneur
560     <code>&lt;Proxy <var>balancer://</var>...&gt;</code>, et accepte
561     tous les param&egrave;tres de paires cl&eacute;/valeur que supporte la directive
562     <directive module="mod_proxy">ProxyPass</directive>.</p>
563     <p>La directive <directive
564     module="mod_proxy">BalancerMember</directive> accepte un param&egrave;tre
565     suppl&eacute;mentaire : <var>loadfactor</var>. Il s'agit du facteur de
566     charge du membre - un nombre entre 1 (valeur par d&eacute;faut) et 100, qui
567     d&eacute;finit la charge &agrave; appliquer au membre en question.</p>
568     <p>L'argument balancerurl n'est requis que s'il ne se trouve pas
569     d&egrave;j&agrave; dans la directive de conteneur <code>&lt;Proxy
570     <var>balancer://</var>...&gt;</code>. Il correspond &agrave; l'URL d'un
571     r&eacute;partiteur de charge d&eacute;fini par une directive <directive
572     module="mod_proxy">ProxyPass</directive>.</p>
573 </usage>
574 </directivesynopsis>
575
576 <directivesynopsis>
577 <name>ProxySet</name>
578 <description>D&eacute;finit diff&eacute;rents param&egrave;tres relatifs &agrave; la r&eacute;partition de
579 charge des mandataires et aux membres des groupes de r&eacute;partition de
580 charge</description>
581 <syntax>ProxySet <var>url</var> <var>cl&eacute;=valeur [cl&eacute;=valeur ...]</var></syntax>
582 <contextlist><context>directory</context>
583 </contextlist>
584 <compatibility>ProxySet n'est disponible que depuis la version 2.2
585 du serveur HTTP Apache.</compatibility>
586 <usage>
587     <p>Cette directive propose une m&eacute;thode alternative pour d&eacute;finir tout
588     param&egrave;tre relatif aux r&eacute;partiteurs de charge et serveurs cibles de
589     mandataires normalement d&eacute;finis via la directive <directive
590     module="mod_proxy">ProxyPass</directive>. Si elle se trouve dans un
591     conteneur <code>&lt;Proxy <var>url de r&eacute;partiteur|url de
592     serveur cible</var>&gt;</code>, l'argument <var>url</var> n'est pas
593     n&eacute;cessaire. Comme effet de bord, le r&eacute;partiteur ou serveur cible respectif
594     est cr&eacute;&eacute;. Ceci peut s'av&eacute;rer utile pour la mise en oeuvre d'un
595     mandataire inverse via une directive <directive
596     module="mod_rewrite">RewriteRule</directive> au lieu de <directive
597     module="mod_proxy">ProxyPass</directive>.</p>
598
599     <example>
600       &lt;Proxy balancer://hotcluster&gt;<br />
601       <indent>
602         BalancerMember http://www2.example.com:8009 loadfactor=1<br />
603         BalancerMember http://www3.example.com:8009 loadfactor=2<br />
604         ProxySet lbmethod=bytraffic<br />
605       </indent>
606       &lt;/Proxy&gt;
607     </example>
608
609     <example>
610       &lt;Proxy http://backend&gt;<br />
611       <indent>
612         ProxySet keepalive=On<br />
613       </indent>
614       &lt;/Proxy&gt;
615     </example>
616
617     <example>
618         ProxySet balancer://foo lbmethod=bytraffic timeout=15
619     </example>
620
621     <example>
622         ProxySet ajp://backend:7001 timeout=15
623     </example>
624
625    <note type="warning"><title>Avertissement</title>
626       <p>Gardez &agrave; l'esprit qu'une m&ecirc;me cl&eacute; de param&egrave;tre peut avoir
627       diff&eacute;rentes significations selon qu'elle s'applique &agrave; un
628       r&eacute;partiteur ou &agrave; un serveur cible, et ceci est illustr&eacute; par les deux
629       exemples pr&eacute;c&eacute;dents o&ugrave; il est question d'un timeout.</p>
630    </note>
631
632 </usage>
633 </directivesynopsis>
634
635 <directivesynopsis>
636 <name>ProxyPass</name>
637 <description>R&eacute;f&eacute;rencer des serveurs distants depuis
638 l'espace d'URLs du serveur local</description>
639 <syntax>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>cl&eacute;=valeur</var>
640   <var>[cl&eacute;=valeur</var> ...]] [nocanon] [interpolate]</syntax>
641 <contextlist><context>server config</context><context>virtual host</context>
642 <context>directory</context>
643 </contextlist>
644
645 <usage>
646     <p>Cette directive permet de r&eacute;f&eacute;rencer des serveurs distants depuis
647     l'espace d'URLs du serveur local ; le serveur
648     local n'agit pas en tant que mandataire au sens conventionnel, mais
649     plut&ocirc;t comme miroir du serveur distant. Le serveur local est
650     souvent nomm&eacute; <dfn>mandataire inverse</dfn> ou
651     <dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un
652     chemin virtuel local ; <var>url</var> est une URL partielle pour le
653     serveur distant et ne doit pas contenir de cha&icirc;ne d'arguments.</p>
654
655     <note type="warning">En g&eacute;n&eacute;ral, la directive <directive
656     module="mod_proxy">ProxyRequests</directive> doit &ecirc;tre d&eacute;finie &agrave;
657     <strong>off</strong> lorsqu'on utilise la directive
658     <directive>ProxyPass</directive>.</note>
659
660     <p>Supposons que le serveur local a pour adresse
661     <code>http://example.com/</code> ; alors la ligne</p>
662
663     <example>
664       ProxyPass /miroir/foo/ http://backend.example.com/
665     </example>
666
667     <p>va convertir en interne toute requ&ecirc;te pour
668     <code>http://example.com/miroir/foo/bar</code> en une requ&ecirc;te
669     mandat&eacute;e pour <code>http://backend.example.com/bar</code>.</p>
670
671     <note type="warning">
672     <p>Si le premier argument se termine par un slash
673     <strong>/</strong>, il doit en &ecirc;tre de m&ecirc;me pour le second argument
674     et vice versa. Dans le cas contraire, il risque de manquer des
675     slashes n&eacute;cessaires dans la requ&ecirc;te r&eacute;sultante vers le serveur
676     d'arri&egrave;re-plan et les r&eacute;sulats ne seront pas ceux attendus.
677     </p>
678     </note>
679
680     <p>Le drapeau <code>!</code> permet de soustraire un sous-r&eacute;pertoire
681     du mandat inverse, comme dans l'exemple suivant :</p>
682
683     <example>
684       ProxyPass /miroir/foo/i !<br />
685       ProxyPass /miroir/foo http://backend.example.com
686     </example>
687
688     <p>va mandater toutes les requ&ecirc;tes pour <code>/miroir/foo</code>
689     vers <code>backend.example.com</code>, <em>sauf</em> les requ&ecirc;tes
690     pour <code>/miroir/foo/i</code>.</p>
691
692     <note><title>Note</title>
693       <p>L'ordre est important : les exclusions doivent appara&icirc;tre
694       <em>avant</em> la directive <directive>ProxyPass</directive> plus
695       g&eacute;n&eacute;rale.</p>
696     </note>
697
698     <p>Depuis la version 2.1 du serveur HTTP Apache, il est possible d'utiliser un jeu de
699     connexions vers un serveur d'arri&egrave;re-plan. Il est possible de
700     personnaliser ce jeu de connexions &agrave; l'aide des param&egrave;tres
701     <code>cl&eacute;=valeur</code>. La valeur par d&eacute;faut du nombre maximum de
702     connexions correspond au nombre de threads par processus pour le MPM
703     utilis&eacute;. Pour le MPM Prefork, cette valeur est toujours 1, alors que
704     pour le MPM Worker, elle est contr&ocirc;l&eacute;e par la directive
705     <directive>ThreadsPerChild</directive>.</p>
706
707     <p>La d&eacute;finition de <code>min</code> va d&eacute;terminer le nombre minimum
708     de connexions ouvertes vers le serveur d'arri&egrave;re-plan. Des
709     connexions pourront &ecirc;tre cr&eacute;&eacute;es &agrave; la demande &agrave; concurrence du
710     maximum relatif, soit <code>smax</code>. Toute
711     connexion au dessus de <code>smax</code> se verra attribuer une
712     dur&eacute;e de vie <code>ttl</code>. Apache httpd ne cr&eacute;era jamais plus de
713     connexions vers le serveur d'arri&egrave;re-plan que le maximum absolu,
714     soit <code>max</code>.</p>
715
716     <example>
717         ProxyPass /exemple http://backend.example.com smax=5 max=20 ttl=120 retry=300
718     </example>
719
720     <table>
721     <tr><th>Param&egrave;tre</th>
722         <th>D&eacute;faut</th>
723         <th>Description</th></tr>
724     <tr><td>min</td>
725         <td>0</td>
726         <td>Nombre minimum de connexions ouvertes vers le serveur
727         d'arri&egrave;re-plan.</td></tr>
728     <tr><td>max</td>
729         <td>1...n</td>
730         <td>Nombre maximum absolu de connexions autoris&eacute;es vers le
731         serveur d'arri&egrave;re-plan. La valeur par d&eacute;faut du nombre maximum
732         absolu de connexions correspond au nombre de threads par
733         processus pour le MPM utilis&eacute;. Pour le MPM Prefork, la valeur
734         est toujours 1, alors que pour le MPM Worker, elle est contr&ocirc;l&eacute;e
735         par la directive <directive>ThreadsPerChild</directive>. Apache
736         httpd ne cr&eacute;era jamais plus de connexions vers le serveur
737         d'arri&egrave;re-plan que le maximum absolu.</td></tr>
738     <tr><td>smax</td>
739         <td>max</td>
740         <td>Des connexions pourront &ecirc;tre cr&eacute;&eacute;es &agrave; la demande jusqu'au
741         maximum relatif. Toute connexion en surnombre par rapport au
742         maximum relatif se verra attribuer une dur&eacute;e de vie
743         <code>ttl</code>.
744     </td></tr>
745     <tr><td>acquire</td>
746         <td>-</td>
747         <td>Cette cl&eacute; permet de d&eacute;finir le d&eacute;lai maximum d'attente pour
748         une connexion libre dans le jeu de connexions, en millisecondes.
749         S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra
750         l'&eacute;tat <code>SERVER_BUSY</code> au client.
751     </td></tr>
752     <tr><td>connectiontimeout</td>
753         <td>timeout</td>
754         <td>D&eacute;lai d'attente d'une connexion en secondes.
755         La dur&eacute;e en secondes pendant laquelle Apache httpd va attendre pour
756         l'&eacute;tablissement d'une connexion vers le serveur d'arri&egrave;re-plan.
757         Le d&eacute;lai peut &ecirc;tre sp&eacute;cifi&eacute; en millisecondes en ajoutant le
758         suffixe ms.
759     </td></tr>
760     <tr><td>disablereuse</td>
761         <td>Off</td>
762         <td>Vous pouvez utiliser cette cl&eacute; pour forcer mod_proxy &agrave;
763         fermer imm&eacute;diatement une connexion vers le serveur
764         d'arri&egrave;re-plan apr&egrave;s utilisation, et ainsi d&eacute;sactiver le jeu de
765         connexions permanentes vers ce serveur. Ceci peut s'av&eacute;rer utile
766         dans des situations o&ugrave; un pare-feu situ&eacute; entre Apache httpd et le
767         serveur d'arri&egrave;re-plan (quelque soit le protocole) interrompt
768         des connexions de mani&egrave;re silencieuse, ou lorsque le serveur
769         d'arri&egrave;re-plan lui-m&ecirc;me est accessible par rotation de DNS
770         (round-robin DNS). Pour d&eacute;sactiver la r&eacute;utilisation du jeu de
771         connexions, d&eacute;finissez cette cl&eacute; &agrave; <code>On</code>.
772     </td></tr>
773     <tr><td>flushpackets</td>
774         <td>off</td>
775         <td>Permet de d&eacute;finir si le module mandataire doit vider
776         automatiquement le tampon de sortie apr&egrave;s chaque tron&ccedil;on de
777         donn&eacute;es. 'off' signifie que le tampon sera vid&eacute; si n&eacute;cessaire,
778         'on' que le tampon sera vid&eacute; apr&egrave;s chaque envoi d'un
779         tron&ccedil;on de donn&eacute;es, et 'auto' que le tampon sera vid&eacute; apr&egrave;s un
780         d&eacute;lai de 'flushwait' millisecondes si aucune entr&eacute;e n'est re&ccedil;ue.
781         Actuellement, cette cl&eacute; n'est support&eacute;e que par AJP.
782     </td></tr>
783     <tr><td>flushwait</td>
784         <td>10</td>
785         <td>Le d&eacute;lai d'attente pour une entr&eacute;e additionnelle, en
786         millisecondes, avant le vidage du tampon en sortie dans le cas
787         o&ugrave; 'flushpackets' est &agrave; 'auto'.
788     </td></tr>
789     <tr><td>iobuffersize</td>
790         <td>8192</td>
791         <td>Permet de d&eacute;finir la taille du tampon d'entr&eacute;es/sorties du
792         bloc-notes interne. Cette cl&eacute; vous permet d'outrepasser la
793         directive <directive>ProxyIOBufferSize</directive> pour un
794         serveur cible sp&eacute;cifique. La valeur doit &ecirc;tre au minimum 512 ou d&eacute;finie
795         &agrave; 0 pour la valeur par d&eacute;faut du syst&egrave;me de 8192.
796     </td></tr>
797     <tr><td>keepalive</td>
798         <td>Off</td>
799         <td>Cette cl&eacute; doit &ecirc;tre utilis&eacute;e lorsque vous avez un pare-feu
800         entre Apache httpd et le serveur d'arri&egrave;re-plan, et si ce dernier tend
801         &agrave; interrompre les connexions inactives. Cette cl&eacute; va faire en
802         sorte que le syst&egrave;me d'exploitation envoie des messages
803         <code>KEEP_ALIVE</code> sur chacune des connexions inactives
804         (selon des intervalles de temps d&eacute;pendant de la configuration
805         g&eacute;n&eacute;rale de l'OS, en g&eacute;n&eacute;ral 120ms), et ainsi &eacute;viter la
806         fermeture de la connexion par le pare-feu. Pour activer
807         keepalive, d&eacute;finissez cette cl&eacute; &agrave; <code>On</code>.
808     </td></tr>
809     <tr><td>lbset</td>
810         <td>0</td>
811         <td>D&eacute;finit le groupe de r&eacute;partition de charge dont le serveur cible
812         est membre. Le r&eacute;partiteur de charge va essayer tous les membres
813         d'un groupe de r&eacute;partition de charge de num&eacute;ro inf&eacute;rieur avant
814         d'essayer ceux dont le groupe poss&egrave;de un num&eacute;ro sup&eacute;rieur.
815     </td></tr>
816     <tr><td>ping</td>
817         <td>0</td>
818         <td>Avec la cl&eacute; ping, le serveur web envoie une requ&ecirc;te
819         <code>CPING</code> sur la connexion ajp13 avant de rediriger une
820         requ&ecirc;te. La valeur correspond au d&eacute;lai d'attente de la r&eacute;ponse
821         <code>CPONG</code>. Cette fonctionnalit&eacute; a &eacute;t&eacute; ajout&eacute;e afin de
822         pallier aux probl&egrave;mes de blocage et de surcharge des serveurs
823         Tomcat, et n&eacute;cessite le support de ping/pong ajp13 qui a &eacute;t&eacute;
824         impl&eacute;ment&eacute; dans Tomcat 3.3.2+, 4.1.28+ et 5.0.13+. Le trafic
825         r&eacute;seau peut s'en trouver augment&eacute; en fonctionnement normal, ce
826         qui peut poser probl&egrave;me, mais peut s'en trouver diminu&eacute; dans les
827         cas o&ugrave; les noeuds de cluster sont arr&ecirc;t&eacute;s ou surcharg&eacute;s. Cette
828         cl&eacute; n'est actuellement utilisable qu'avec AJP. Le d&eacute;lai peut
829         aussi &ecirc;tre d&eacute;fini en millisecondes en ajoutant le suffixe
830         ms.
831     </td></tr>
832     <tr><td>receivebuffersize</td>
833         <td>0</td>
834         <td>D&eacute;finit la taille du tampon r&eacute;seau explicite (TCP/IP) pour
835         les connexions mandat&eacute;es. Cette cl&eacute; vous permet d'outrepasser la
836         directive <directive>ProxyReceiveBufferSize</directive> pour un
837         serveur cible sp&eacute;cifique. Sa valeur doit &ecirc;tre au minimum 512 ou d&eacute;finie
838         &agrave; 0 pour la valeur par d&eacute;faut du syst&egrave;me.
839     </td></tr>
840     <tr><td>redirect</td>
841         <td>-</td>
842         <td>Route pour la redirection du serveur cible. Cette valeur est en
843         g&eacute;n&eacute;ral d&eacute;finie dynamiquement pour permettre une suppression
844         s&eacute;curis&eacute;e du noeud du cluster. Si cette cl&eacute; est d&eacute;finie, toutes
845         les requ&ecirc;tes sans identifiant de session seront redirig&eacute;es vers
846         le membre de groupe de r&eacute;partition de charge dont la route
847         correspond &agrave; la valeur de la cl&eacute;.
848     </td></tr>
849     <tr><td>retry</td>
850         <td>60</td>
851         <td>D&eacute;lai entre deux essais du serveur cible du jeu de connexions en
852         secondes. Si le serveur cible du jeu de connexions vers le serveur
853         d'arri&egrave;re-plan est dans un &eacute;tat d'erreur, Apache httpd ne redirigera
854         pas de requ&ecirc;te vers ce serveur avant l'expiration du d&eacute;lai
855         sp&eacute;cifi&eacute;. Ceci permet d'arr&ecirc;ter le serveur d'arri&egrave;re-plan pour
856         maintenance, et de le remettre en ligne plus tard. Une valeur de
857         0 implique de toujours essayer les serveurs cibles dans un &eacute;tat d'erreur
858         sans d&eacute;lai.
859     </td></tr>
860     <tr><td>route</td>
861         <td>-</td>
862         <td>La route du serveur cible lorsqu'il est utilis&eacute; au sein d'un
863         r&eacute;partiteur de charge. La route est une valeur ajout&eacute;e &agrave;
864         l'identifiant de session.
865     </td></tr>
866     <tr><td>status</td>
867         <td>-</td>
868         <td>Valeur constitu&eacute;e d'une simple lettre et d&eacute;finissant l'&eacute;tat
869         initial de ce serveur cible : 'D' correspond &agrave; "d&eacute;sactiv&eacute;", 'S' &agrave;
870         "arr&ecirc;t&eacute;", 'I' &agrave; "erreurs ignor&eacute;es", 'H' &agrave; "interruption &agrave; chaud"
871         et 'E' &agrave; "erreur". Une valeur d'&eacute;tat peut &ecirc;tre d&eacute;finie (ce qui
872         correspond au comportement par d&eacute;faut) en pr&eacute;fixant la valeur
873         par '+', ou annul&eacute;e en pr&eacute;fixant la valeur par '-'. Ainsi, la
874         valeur 'S-E' d&eacute;finit l'&eacute;tat de ce serveur cible &agrave; "arr&ecirc;t&eacute;" et supprime
875         le drapeau "en-erreur".
876     </td></tr>
877     <tr><td>timeout</td>
878         <td><directive module="mod_proxy">ProxyTimeout</directive></td>
879         <td>D&eacute;lai d'attente de la connexion en secondes. Le nombre de
880         secondes pendant lesquelles Apache httpd attend l'envoi de
881         donn&eacute;es vers le serveur d'arri&egrave;re-plan.
882     </td></tr>
883     <tr><td>ttl</td>
884         <td>-</td>
885         <td>Dur&eacute;e de vie des connexions inactives en surnombre par
886         rapport aux <code>smax</code> premi&egrave;res connexions en secondes.
887         Apache httpd fermera toutes les connexions qui n'ont pas &eacute;t&eacute; utilis&eacute;es
888         pendant ce laps de temps.
889     </td></tr>
890
891     </table>
892
893     <p>Si l'URL de la directive Proxy d&eacute;bute par
894     <code>balancer://</code> (par exemple:
895     <code>balancer://cluster/</code>, toute information relative au
896     chemin est ignor&eacute;e), alors un serveur cible virtuel ne communiquant pas
897     r&eacute;ellement avec le serveur d'arri&egrave;re-plan sera cr&eacute;&eacute;. Celui-ci sera
898     en fait responsable de la gestion de plusieurs serveurs cibles "r&eacute;els". Dans
899     ce cas, un jeu de param&egrave;tres particuliers s'applique &agrave; ce serveur cible
900     virtuel. Voir <module>mod_proxy_balancer</module> pour plus
901     d'informations &agrave; propos du fonctionnement du r&eacute;partiteur de
902     charge.
903     </p>
904     <table>
905     <tr><th>Param&egrave;tre</th>
906         <th>D&eacute;faut</th>
907         <th>Description</th></tr>
908     <tr><td>lbmethod</td>
909         <td>byrequests</td>
910         <td>M&eacute;thode de r&eacute;partition de charge utilis&eacute;e. Permet de
911         s&eacute;lectionner la m&eacute;thode de planification de la r&eacute;partition de
912         charge &agrave; utiliser. La valeur est soit <code>byrequests</code>,
913         pour effectuer un d&eacute;compte de requ&ecirc;tes pond&eacute;r&eacute;es, soit
914         <code>bytraffic</code>, pour effectuer une r&eacute;partition en
915         fonction du d&eacute;compte des octets transmis, soit
916         <code>bybusyness</code>, pour effectuer une r&eacute;partition en
917         fonction des requ&ecirc;tes en attente. La valeur par d&eacute;faut est
918         <code>byrequests</code>.
919     </td></tr>
920     <tr><td>maxattempts</td>
921         <td>1</td>
922         <td>Nombre maximum d'&eacute;checs avant abandon.
923     </td></tr>
924     <tr><td>nofailover</td>
925         <td>Off</td>
926         <td>Si ce param&egrave;tre est d&eacute;fini &agrave; <code>On</code>, la session va
927         s'interrompre si le serveur cible est dans un &eacute;tat d'erreur ou
928         d&eacute;sactiv&eacute;. D&eacute;finissez ce param&egrave;tre &agrave; On si le serveur
929         d'arri&egrave;re-plan ne supporte pas la r&eacute;plication de session.
930     </td></tr>
931     <tr><td>stickysession</td>
932         <td>-</td>
933         <td>Nom de session persistant du r&eacute;partiteur. La valeur est
934         g&eacute;n&eacute;ralement du style <code>JSESSIONID</code> ou
935         <code>PHPSESSIONID</code>, et d&eacute;pend du serveur d'application
936         d'arri&egrave;re-plan qui supporte les sessions. Si le serveur
937         d'application d'arri&egrave;re-plan utilise des noms diff&eacute;rents pour
938         les cookies et les identifiants cod&eacute;s d'URL (comme les
939         conteneurs de servlet), s&eacute;parez-les par le caract&egrave;re '|'. La
940         premi&egrave;re partie contient le cookie et la seconde le chemin.
941     </td></tr>
942     <tr><td>scolonpathdelim</td>
943         <td>Off</td>
944         <td>Si ce param&egrave;tre est d&eacute;fini &agrave; <code>On</code>, le caract&egrave;re
945         ';' sera utilis&eacute; comme s&eacute;parateur de chemin de session
946         persistante additionnel. Ceci permet principalement de simuler
947         le comportement de mod_jk lorsqu'on utilise des chemins du style
948         <code>JSESSIONID=6736bcf34;foo=aabfa</code>.
949     </td></tr>
950     <tr><td>timeout</td>
951         <td>0</td>
952         <td>D&eacute;lai du r&eacute;partiteur en secondes. Si ce param&egrave;tre est
953         d&eacute;fini, sa valeur correspond &agrave; la dur&eacute;e maximale d'attente pour
954         un serveur cible libre. Le comportement par d&eacute;faut est de ne pas
955         attendre.
956     </td></tr>
957
958     </table>
959     <p>Exemple de configuration d'un r&eacute;partiteur de charge</p>
960     <example>
961       ProxyPass /zone-speciale http://special.example.com smax=5 max=10<br />
962       ProxyPass / balancer://mon-cluster/ stickysession=JSESSIONID|jsessionid nofailover=On<br />
963       &lt;Proxy balancer://mon-cluster&gt;<br />
964       <indent>
965         BalancerMember http://1.2.3.4:8009<br />
966         BalancerMember http://1.2.3.5:8009 smax=10<br />
967         # Serveur moins puissant ; faites-lui traiter moins de requ&ecirc;tes<br />
968         BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
969       </indent>
970       &lt;/Proxy&gt;
971     </example>
972
973     <p>Configuration d'un serveur cible de r&eacute;serve qui ne sera utilis&eacute; que si
974     aucun autre serveur cible n'est disponible</p>
975     <example>
976       ProxyPass / balancer://hotcluster/ <br />
977       &lt;Proxy balancer://hotcluster&gt;<br />
978       <indent>
979         BalancerMember http://1.2.3.4:8009 loadfactor=1<br />
980         BalancerMember http://1.2.3.5:8009 loadfactor=2<br />
981         # La ligne suivante configure le serveur cible de r&eacute;serve<br />
982         BalancerMember http://1.2.3.6:8009 status=+H<br />
983         ProxySet lbmethod=bytraffic
984       </indent>
985       &lt;/Proxy&gt;
986     </example>
987
988     <p>Normalement, mod_proxy va mettre sous leur forme canonique les
989     URLs trait&eacute;es par ProxyPass. Mais ceci peut &ecirc;tre incompatible avec
990     certains serveurs d'arri&egrave;re-plan, et en particulier avec ceux qui
991     utilisent <var>PATH_INFO</var>. Le mot-cl&eacute; optionnel
992     <var>nocanon</var> modifie ce comportement et permet de transmettre
993     le chemin d'URL sous sa forme brute au serveur d'arri&egrave;re-plan. Notez
994     que ceci peut affecter la s&eacute;curit&eacute; de votre serveur d'arri&egrave;re-plan,
995     car la protection limit&eacute;e contre les attaques &agrave; base d'URL que
996     fournit le mandataire est alors supprim&eacute;e.</p>
997
998     <p>Le mot-cl&eacute; optionnel <var>interpolate</var> (disponible depuis
999     httpd 2.2.9), en combinaison avec la directive
1000     <directive>ProxyPassInterpolateEnv</directive>, permet &agrave; ProxyPass
1001     d'interpoler les variables d'environnement &agrave; l'aide de la syntaxe
1002     <var>${VARNAME}</var>. Notez que de nombreuses variables
1003     d'environnement standard d&eacute;riv&eacute;es de CGI n'existeront pas lorsque
1004     l'interpolation se produit ; vous devrez alors encore avoir avoir
1005     recours &agrave; <module>mod_rewrite</module> pour des r&egrave;gles
1006     complexes.</p>
1007
1008     <p>Lorsque la directive ProxyPass est utilis&eacute;e &agrave; l'int&eacute;rieur d'une
1009     section <directive type="section" module="core"
1010     >Location</directive>, le premier argument est omis et le r&eacute;pertoire
1011     local est obtenu &agrave; partir de la section <directive type="section"
1012     module="core">Location</directive>.</p>
1013
1014     <p>Si vous avez besoin d'un configuration de mandataire inverse plus
1015     souple, reportez-vous &agrave; la documentaion de la directive <directive
1016     module="mod_rewrite">RewriteRule</directive> et son drapeau
1017     <code>[P]</code>.</p>
1018 </usage>
1019 </directivesynopsis>
1020
1021 <directivesynopsis>
1022 <name>ProxyPassMatch</name>
1023 <description>Fait correspondre des serveurs distants dans l'espace d'URL
1024 du serveur local en utilisant des expressions rationnelles</description>
1025 <syntax>ProxyPassMatch [<var>regex</var>] !|<var>url</var>
1026 [<var>cl&eacute;=valeur</var>
1027         <var>[cl&eacute;=valeur</var> ...]]</syntax>
1028 <contextlist><context>server config</context><context>virtual host</context>
1029 <context>directory</context>
1030 </contextlist>
1031
1032 <usage>
1033     <p>Cette directive est identique &agrave; la directive <directive
1034     module="mod_proxy">ProxyPass</directive>, mais fait usage des
1035     expressions rationnelles, au lieu d'une simple comparaison de
1036     pr&eacute;fixes. L'expression rationnelle sp&eacute;cifi&eacute;e est compar&eacute;e &agrave;
1037     l'<var>url</var>, et si elle correspond, le serveur va substituer
1038     toute correspondance entre parenth&egrave;ses dans la cha&icirc;ne donn&eacute;e et
1039     l'utiliser comme nouvelle <var>url</var>.</p>
1040
1041     <p>Supposons que le serveur local a pour adresse
1042     <code>http://example.com/</code> ; alors</p>
1043
1044     <example>
1045       ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1
1046     </example>
1047
1048     <p>va provoquer la conversion interne de la requ&ecirc;te locale
1049     <code>http://example.com/foo/bar.gif</code> en une requ&ecirc;te mandat&eacute;e
1050     pour <code>http://backend.example.com/foo/bar.gif</code>.</p>
1051
1052     <note><title>Note</title>
1053       <p>L'argument URL doit pouvoir &ecirc;tre interpr&eacute;t&eacute; en tant qu'URL
1054       <em>avant</em> les substitutions d'expressions rationnelles (et
1055       doit aussi l'&ecirc;tre apr&egrave;s). Ceci limite les correspondances que vous
1056       pouvez utiliser. Par exemple, si l'on avait utilis&eacute;</p>
1057       <example>
1058         ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
1059       </example>
1060       <p>dans l'exemple pr&eacute;c&eacute;dent, nous aurions provoqu&eacute; une erreur de
1061       syntaxe au d&eacute;marrage du serveur. C'est une bogue (PR 46665 dans
1062       ASF bugzilla), et il est possible de la contourner en reformulant
1063       la correspondance :</p>
1064       <example>
1065         ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
1066       </example>
1067     </note>
1068
1069     <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
1070     sous-r&eacute;pertoire donn&eacute;.</p>
1071 </usage>
1072 </directivesynopsis>
1073
1074 <directivesynopsis>
1075 <name>ProxyPassReverse</name>
1076 <description>Ajuste l'URL dans les en-t&ecirc;tes de la r&eacute;ponse HTTP envoy&eacute;e
1077 par un serveur mandat&eacute; en inverse</description>
1078 <syntax>ProxyPassReverse [<var>chemin</var>] <var>url</var>
1079 [<var>interpolate</var>]</syntax>
1080 <contextlist><context>server config</context><context>virtual host</context>
1081 <context>directory</context>
1082 </contextlist>
1083
1084 <usage>
1085     <p>Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL
1086     dans les en-t&ecirc;tes <code>Location</code>,
1087     <code>Content-Location</code> et <code>URI</code> des r&eacute;ponses de
1088     redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilis&eacute; en
1089     tant que mandataire inverse (ou passerelle), afin d'&eacute;viter de
1090     court-circuiter le mandataire inverse suite aux redirections HTTP
1091     sur le serveur d'arri&egrave;re-plan qui restent derri&egrave;re le mandataire
1092     inverse.</p>
1093
1094     <p>Seuls les en-t&ecirc;tes de r&eacute;ponse HTTP sp&eacute;cialement mentionn&eacute;s
1095     ci-dessus seront r&eacute;&eacute;crits. Apache httpd ne r&eacute;&eacute;crira ni les autres en-t&ecirc;tes
1096     de r&eacute;ponse, ni les r&eacute;f&eacute;rences d'URLs dans les pages HTML. Cela
1097     signifie que dans le cas o&ugrave; un contenu mandat&eacute; contient des
1098     r&eacute;f&eacute;rences &agrave; des URLs absolues, elles court-circuiteront le
1099     mandataire. Le module <a
1100     href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
1101     de Nick Kew est un module tiers qui parcourt le code HTML et r&eacute;&eacute;crit
1102     les r&eacute;f&eacute;rences d'URL.</p>
1103
1104     <p><var>chemin</var> est le nom d'un chemin virtuel local.
1105     <var>url</var> est une URL partielle pour le serveur distant - ils
1106     sont utilis&eacute;s de la m&ecirc;me fa&ccedil;on qu'avec la directive <directive
1107     module="mod_proxy">ProxyPass</directive>.</p>
1108
1109     <p>Supposons par exemple que le serveur local a pour adresse
1110     <code>http://example.com/</code> ; alors</p>
1111
1112     <example>
1113       ProxyPass         /miroir/foo/ http://backend.example.com/<br />
1114       ProxyPassReverse  /miroir/foo/ http://backend.example.com/<br />
1115       ProxyPassReverseCookieDomain  backend.example.com  public.example.com<br />
1116       ProxyPassReverseCookiePath  /  /miroir/foo/
1117     </example>
1118
1119     <p>ne va pas seulement provoquer la conversion interne d'une requ&ecirc;te
1120     locale pour <code>http://example.com/miroir/foo/bar</code> en une
1121     requ&ecirc;te mandat&eacute;e pour <code>http://backend.example.com/bar</code>
1122     (la fonctionnalit&eacute; fournie par <code>ProxyPass</code>). Il va
1123     aussi s'occuper des redirections que le serveur
1124     <code>backend.example.com</code> envoie : lorsque
1125     <code>http://backend.example.com/bar</code> est redirig&eacute; par
1126     celui-ci vers <code>http://backend.example.com/quux</code>, Apache
1127     httpd corrige ceci en <code>http://example.com/miroir/foo/quux</code>
1128     avant de faire suivre la redirection HTTP au client. Notez que le
1129     nom d'h&ocirc;te utilis&eacute; pour construire l'URL est choisi en respectant la
1130     d&eacute;finition de la directive <directive
1131     module="core">UseCanonicalName</directive>.</p>
1132
1133     <p>Notez que la directive <directive>ProxyPassReverse</directive>
1134     peut aussi &ecirc;tre utilis&eacute;e en conjonction avec la fonctionnalit&eacute;
1135     pass-through (<code>RewriteRule ...  [P]</code>) du module
1136     <module>mod_rewrite</module>, car elle ne d&eacute;pend pas d'une directive
1137     <directive module="mod_proxy">ProxyPass</directive>
1138     correspondante.</p>
1139
1140     <p>Le mot-cl&eacute; optionnel <var>interpolate</var> (disponible depuis
1141     httpd 2.2.9), utilis&eacute; en combinaison avec la directive
1142     <directive>ProxyPassInterpolateEnv</directive>, permet
1143     l'interpolation des variables d'environnement sp&eacute;cifi&eacute;es en
1144     utilisant le format <var>${VARNAME}</var>.
1145     </p>
1146
1147     <p>Lorsque cette directive est utilis&eacute;e dans une section <directive
1148     type="section" module="core">Location</directive>, le premier
1149     argument est omis et le r&eacute;pertoire local est obtenu &agrave; partir de
1150     l'argument de la directive <directive type="section"
1151     module="core">Location</directive>.</p>
1152 </usage>
1153 </directivesynopsis>
1154
1155 <directivesynopsis>
1156 <name>ProxyPassReverseCookieDomain</name>
1157 <description>Ajuste la cha&icirc;ne correspondant au domaine dans les en-t&ecirc;tes
1158 Set-Cookie en provenance d'un serveur mandat&eacute;</description>
1159 <syntax>ProxyPassReverseCookieDomain <var>domaine-interne</var>
1160 <var>domaine-public</var> [<var>interpolate</var>]</syntax>
1161 <contextlist><context>server config</context><context>virtual host</context>
1162 <context>directory</context>
1163 </contextlist>
1164 <usage>
1165 <p>L'utilisation de cette directive est similaire &agrave; celle de la
1166 directive <directive module="mod_proxy">ProxyPassReverse</directive>,
1167 mais au lieu de r&eacute;&eacute;crire des en-t&ecirc;tes qui contiennent des URLs, elle
1168 r&eacute;&eacute;crit la cha&icirc;ne correspondant au domaine dans les en-t&ecirc;tes
1169 <code>Set-Cookie</code>.</p>
1170 </usage>
1171 </directivesynopsis>
1172 <directivesynopsis>
1173 <name>ProxyPassReverseCookiePath</name>
1174 <description>Ajuste la cha&icirc;ne correspondant au chemin dans les en-t&ecirc;tes
1175 Set-Cookie en provenance d'un serveur mandat&eacute;</description>
1176 <syntax>ProxyPassReverseCookiePath <var>chemin-interne</var>
1177 <var>chemin-public</var> [<var>interpolate</var>]</syntax>
1178 <contextlist><context>server config</context><context>virtual host</context>
1179 <context>directory</context>
1180 </contextlist>
1181 <usage>
1182 <p>L'utilisation de cette directive est similaire &agrave; celle de la
1183 directive <directive module="mod_proxy">ProxyPassReverse</directive>,
1184 mais au lieu de r&eacute;&eacute;crire des en-t&ecirc;tes qui contiennent des URLs, elle
1185 r&eacute;&eacute;crit la cha&icirc;ne correspondant au <code>chemin</code> dans les en-t&ecirc;tes
1186 <code>Set-Cookie</code>.</p>
1187 </usage>
1188 </directivesynopsis>
1189
1190 <directivesynopsis>
1191 <name>ProxyBlock</name>
1192 <description>Termes, serveurs ou domaines bloqu&eacute;s par le
1193 mandataire</description>
1194 <syntax>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var>
1195 [<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</syntax>
1196 <contextlist><context>server config</context><context>virtual host</context>
1197 </contextlist>
1198
1199 <usage>
1200     <p>La directive <directive>ProxyBlock</directive> permet de
1201     sp&eacute;cifier une liste de termes, serveurs et/ou domaines, s&eacute;par&eacute;s par
1202     des espaces. Les requ&ecirc;tes de documents HTTP, HTTPS, FTP vers des
1203     sites dont les noms contiennent des termes, noms de serveur ou
1204     domaine correspondants seront <em>bloqu&eacute;s</em> par le serveur
1205     mandataire. La module proxy va aussi tenter de d&eacute;terminer les
1206     adresses IP des &eacute;l&eacute;ments de la liste qui peuvent correspondre &agrave; des
1207     noms d'h&ocirc;tes au cours du d&eacute;marrage, et les mettra en cache &agrave; des
1208     fins de comparaisons ult&eacute;rieures. Ceci peut ralentir le d&eacute;marrage du
1209     serveur.</p>
1210
1211     <example><title>Exemple</title>
1212       ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
1213     </example>
1214
1215     <p><code>rocky.wotsamattau.edu</code> aurait &eacute;galement correspondu s'il
1216     avait &eacute;t&eacute; sp&eacute;cifi&eacute; par son adresse IP.</p>
1217
1218     <p>Notez que <code>wotsamattau</code> aurait suffi pour correspondre
1219     &agrave; <code>wotsamattau.edu</code>.</p>
1220
1221     <p>Notez aussi que</p>
1222
1223     <example>
1224       ProxyBlock *
1225     </example>
1226
1227     <p>bloque les connexions vers tous les sites.</p>
1228 </usage>
1229 </directivesynopsis>
1230
1231 <directivesynopsis>
1232 <name>ProxyReceiveBufferSize</name>
1233 <description>Taille du tampon r&eacute;seau pour les connexions mandat&eacute;es HTTP
1234 et FTP</description>
1235 <syntax>ProxyReceiveBufferSize <var>octets</var></syntax>
1236 <default>ProxyReceiveBufferSize 0</default>
1237 <contextlist><context>server config</context><context>virtual host</context>
1238 </contextlist>
1239
1240 <usage>
1241     <p>La directive <directive>ProxyReceiveBufferSize</directive> permet
1242     de sp&eacute;cifier une taille de tampon r&eacute;seau explicite (TCP/IP) pour les
1243     connexions mandat&eacute;es HTTP et FTP, afin d'am&eacute;liorer le d&eacute;bit de
1244     donn&eacute;es. Elle doit &ecirc;tre sup&eacute;rieure &agrave; <code>512</code> ou d&eacute;finie &agrave;
1245     <code>0</code> pour indiquer que la taille de tampon par d&eacute;faut du
1246     syst&egrave;me doit &ecirc;tre utilis&eacute;e.</p>
1247
1248     <example><title>Exemple</title>
1249       ProxyReceiveBufferSize 2048
1250     </example>
1251 </usage>
1252 </directivesynopsis>
1253
1254 <directivesynopsis>
1255 <name>ProxyIOBufferSize</name>
1256 <description>D&eacute;termine la taille du tampon interne de transfert de
1257 donn&eacute;es</description>
1258 <syntax>ProxyIOBufferSize <var>octets</var></syntax>
1259 <default>ProxyIOBufferSize 8192</default>
1260 <contextlist><context>server config</context><context>virtual host</context>
1261 </contextlist>
1262
1263 <usage>
1264     <p>La directive <directive>ProxyIOBufferSize</directive> permet
1265     d'ajuster la taille du tampon interne utilis&eacute; comme bloc-note pour
1266     les transferts de donn&eacute;es entre entr&eacute;e et sortie. La taille minimale
1267     est de <code>512</code> octets.</p>
1268
1269     <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
1270     valeur.</p>
1271     <p>Si elle est utilis&eacute;e avec AJP, cette directive permet de d&eacute;finir
1272     la taille maximale du paquet AJP en octets. Si vous ne conservez pas
1273     la valeur par d&eacute;faut, vous devez aussi modifier l'attribut
1274     <code>packetSize</code> de votre connecteur AJP du c&ocirc;t&eacute; de Tomcat !
1275     L'attribut <code>packetSize</code> n'est disponible que dans Tomcat
1276     <code>5.5.20+</code> et <code>6.0.2+</code>.</p>
1277     <p>Il n'est normalement pas n&eacute;cessaire de modifier la taille
1278     maximale du paquet. Des probl&egrave;mes ont cependant &eacute;t&eacute; rapport&eacute;s avec
1279     la valeur par d&eacute;faut lors de l'envoi de certificats ou de cha&icirc;nes de
1280     certificats.</p>
1281
1282 </usage>
1283 </directivesynopsis>
1284
1285 <directivesynopsis>
1286 <name>ProxyMaxForwards</name>
1287 <description>Nombre maximum de mandataires &agrave; travers lesquelles une
1288 requ&ecirc;te peut &ecirc;tre redirig&eacute;e</description>
1289 <syntax>ProxyMaxForwards <var>nombre</var></syntax>
1290 <default>ProxyMaxForwards -1</default>
1291 <contextlist><context>server config</context><context>virtual host</context>
1292 </contextlist>
1293 <compatibility>Disponible depuis la version 2.0 du serveur HTTP Apache ; comportement par d&eacute;faut
1294 modifi&eacute; dans 2.2.7/2.3</compatibility>
1295
1296 <usage>
1297     <p>La directive <directive>ProxyMaxForwards</directive> permet de
1298     sp&eacute;cifier le nombre maximum de mandataires &agrave; travers lesquels une
1299     requ&ecirc;te peut passer dans le cas o&ugrave; la la requ&ecirc;te ne contient pas
1300     d'en-t&ecirc;te <code>Max-Forwards</code>. Ceci permet de se pr&eacute;munir
1301     contre les boucles infinies de mandataires ou contre les attaques de
1302     type d&eacute;ni de service.</p>
1303
1304     <example><title>Exemple</title>
1305       ProxyMaxForwards 15
1306     </example>
1307
1308     <p>Notez que la d&eacute;finition de la directive
1309     <directive>ProxyMaxForwards</directive> constitue une violation du
1310     protocole HTTP/1.1 (RFC2616), qui interdit &agrave; un mandataire de
1311     d&eacute;finir <code>Max-Forwards</code> si le client ne l'a pas fait
1312     lui-m&ecirc;me. Les versions pr&eacute;c&eacute;dentes d'Apache httpd la d&eacute;finissaient
1313     syst&eacute;matiquement. Une valeur n&eacute;gative de
1314     <directive>ProxyMaxForwards</directive>, y compris la valeur par
1315     d&eacute;faut -1, implique un comportement compatible avec le protocole,
1316     mais vous expose aux bouclages infinis.</p>
1317 </usage>
1318 </directivesynopsis>
1319
1320 <directivesynopsis>
1321 <name>NoProxy</name>
1322 <description>Serveurs, domaines ou r&eacute;seaux auquels on se connectera
1323 directement</description>
1324 <syntax>NoProxy <var>domaine</var> [<var>domaine</var>] ...</syntax>
1325 <contextlist><context>server config</context><context>virtual host</context>
1326 </contextlist>
1327
1328 <usage>
1329     <p>Cette directive n'a d'utilit&eacute; que pour les serveurs mandataires
1330     Apache httpd au sein d'Intranets. La directive
1331     <directive>NoProxy</directive> permet de sp&eacute;cifier une liste de
1332     sous-r&eacute;seaux, d'adresses IP, de serveurs et/ou de domaines s&eacute;par&eacute;s
1333     par des espaces. Une requ&ecirc;te pour un serveur qui correspond &agrave; un ou
1334     plusieurs crit&egrave;res sera toujours servie par ce serveur directement,
1335     sans &ecirc;tre redirig&eacute;e vers le(s) serveur(s) mandataire(s) d&eacute;fini(s) par
1336     la directive <directive
1337     module="mod_proxy">ProxyRemote</directive>.</p>
1338
1339     <example><title>Exemple</title>
1340       ProxyRemote  *  http://pare-feu.example.com:81<br />
1341       NoProxy         .example.com 192.168.112.0/21
1342     </example>
1343
1344     <p>Le type des arguments <var>serveur</var> de la directive
1345     <directive>NoProxy</directive> appartiennent &agrave; la liste suivante
1346     :</p>
1347
1348     <dl>
1349     <!-- ===================== Domain ======================= -->
1350     <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
1351     <dd>
1352     <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
1353     qualifi&eacute; pr&eacute;c&eacute;d&eacute; d'un point. Il repr&eacute;sente une liste de serveurs qui
1354     appartiennent logiquement au m&ecirc;me domaine ou &agrave; la m&ecirc;me zonz DNS
1355     (en d'autres termes, les nom des serveurs se terminent tous par
1356     <var>domaine</var>).</p>
1357
1358     <example><title>Exemple</title>
1359       .com .apache.org.
1360     </example>
1361
1362     <p>Pour faire la distinction entre <var>domaine</var>s et <var><a
1363     href="#hostname">nom d'h&ocirc;te</a></var>s (des points de vue &agrave; la fois
1364     syntaxique et
1365     s&eacute;mantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
1366     de type A !), les <var>domaine</var>s sont toujours sp&eacute;cifi&eacute;s en les
1367     pr&eacute;fixant par un point.</p>
1368
1369     <note><title>Note</title>
1370       <p>Les comparaisons de noms de domaines s'effectuent sans tenir
1371       compte de la casse, et les parties droites des <var>Domaine</var>s
1372       sont toujours cens&eacute;es correspondre &agrave; la racine de l'arborescence
1373       DNS, si bien que les domaines <code>.ExEmple.com</code> et
1374       <code>.example.com.</code> (notez le point &agrave; la fin du nom) sont
1375       consid&eacute;r&eacute;s comme identiques. Comme une comparaison de domaines ne
1376       n&eacute;cessite pas de recherche DNS, elle est beaucoup plus efficace
1377       qu'une comparaison de sous-r&eacute;seaux.</p>
1378     </note></dd>
1379
1380     <!-- ===================== SubNet ======================= -->
1381     <dt><var><a name="subnet" id="subnet">Sous-r&eacute;seau</a></var></dt>
1382     <dd>
1383     <p>Un <dfn>Sous-r&eacute;seau</dfn> est une adresse internet partiellement
1384     qualifi&eacute;e sous forme num&eacute;rique (quatre nombres s&eacute;par&eacute;s par des
1385     points), optionnellement suivie d'un slash et du masque de
1386     sous-r&eacute;seau sp&eacute;cifiant le nombre de bits significatifs dans le
1387     <var>Sous-r&eacute;seau</var>. Il repr&eacute;sente un sous-r&eacute;seau de serveurs qui
1388     peuvent &ecirc;tre atteints depuis la m&ecirc;me interface r&eacute;seau. En l'absence
1389     de masque de sous-r&eacute;seau explicite, il est sous-entendu que les
1390     digits manquants (ou caract&egrave;res 0) de fin sp&eacute;cifient le masque de
1391     sous-r&eacute;seau (Dans ce cas, le masque de sous-r&eacute;seau ne peut &ecirc;tre
1392     qu'un multiple de 8). Voici quelques exemples :</p>
1393
1394     <dl>
1395     <dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
1396     <dd>le sous-r&eacute;seau 192.168.0.0 avec un masque de sous-r&eacute;seau
1397     implicite de 16 bits significatifs (parfois exprim&eacute; sous la forme
1398     <code>255.255.0.0</code>)</dd>
1399     <dt><code>192.168.112.0/21</code></dt>
1400     <dd>le sous-r&eacute;seau <code>192.168.112.0/21</code> avec un masque de
1401     sous-r&eacute;seau implicite de 21 bits significatifs (parfois exprim&eacute;
1402     sous la forme<code>255.255.248.0</code>)</dd>
1403     </dl>
1404
1405     <p>Comme cas extr&ecirc;mes, un <em>Sous-r&eacute;seau</em> avec un masque de
1406     sous-r&eacute;seau de 32 bits significatifs est &eacute;quivalent &agrave; une <var><a
1407     href="#ipadr">adresse IP</a></var>, alors qu'un <em>Sous-r&eacute;seau</em> avec un masque de
1408     sous-r&eacute;seau de 0 bit significatif (c'est &agrave; dire 0.0.0.0/0) est
1409     identique &agrave; la constante <var>_Default_</var>, et peut correspondre
1410     &agrave; toute adresse IP.</p></dd>
1411
1412     <!-- ===================== IPAddr ======================= -->
1413     <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
1414     <dd>
1415     <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
1416     qualifi&eacute;e sous forme num&eacute;rique (quatre nombres s&eacute;par&eacute;s par des
1417     points). En g&eacute;n&eacute;ral, cette adresse repr&eacute;sente un serveur, mais elle
1418     ne doit pas n&eacute;cessairement correspondre &agrave; un nom de domaine DNS.</p>
1419     <example><title>Exemple</title>
1420       192.168.123.7
1421     </example>
1422
1423     <note><title>Note</title>
1424       <p>Une <dfn>Adresse IP</dfn> ne n&eacute;cessite pas de r&eacute;solution DNS,
1425       et peut ainsi s'av&eacute;rer plus efficace quant aux performances
1426       d'Apache.</p>
1427     </note></dd>
1428
1429     <!-- ===================== Hostname ======================= -->
1430     <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
1431     <dd>
1432     <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
1433     qualifi&eacute; qui peut &ecirc;tre r&eacute;solu en une ou plusieurs adresses IP par le
1434     service de noms de domaines DNS. Il repr&eacute;sente un h&ocirc;te logique (par
1435     opposition aux <var><a href="#domain">Domaine</a></var>s, voir
1436     ci-dessus), et doit pouvoir &ecirc;tre r&eacute;solu en une ou plusieurs <var><a
1437     href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
1438     d'h&ocirc;tes avec diff&eacute;rentes <var><a href="#ipaddr">adresses
1439     IP</a></var>).</p>
1440
1441     <example><title>Exemples</title>
1442       prep.ai.example.com<br />
1443       www.apache.org
1444     </example>
1445
1446     <note><title>Note</title>
1447       <p>Dans de nombreuses situations, il est plus efficace de
1448       sp&eacute;cifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
1449       <var>Nom de serveur</var> car cela &eacute;vite d'avoir &agrave; effectuer une
1450       recherche DNS. La r&eacute;solution de nom dans Apache httpd peut prendre un
1451       temps tr&egrave;s long lorsque la connexion avec le serveur de noms
1452       utilise une liaison PPP lente.</p>
1453       <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
1454       compte de la casse, et les parties droites des <var>Noms de serveur</var>
1455       sont toujours cens&eacute;es correspondre &agrave; la racine de l'arborescence
1456       DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
1457       <code>www.example.com.</code> (notez le point &agrave; la fin du nom) sont
1458       consid&eacute;r&eacute;s comme identiques.</p>
1459      </note></dd>
1460     </dl>
1461 </usage>
1462 <seealso><a href="../dns-caveats.html">Probl&egrave;mes li&eacute;s au DNS</a></seealso>
1463 </directivesynopsis>
1464
1465 <directivesynopsis>
1466 <name>ProxyTimeout</name>
1467 <description>D&eacute;lai d'attente r&eacute;seau pour les requ&ecirc;tes
1468 mandat&eacute;es</description>
1469 <syntax>ProxyTimeout <var>secondes</var></syntax>
1470 <default>Valeur de la directive <directive
1471 module="core">Timeout</directive></default>
1472 <contextlist><context>server config</context><context>virtual host</context>
1473 </contextlist>
1474 <compatibility>Disponible depuis la version 2.0.31 du serveur HTTP Apache</compatibility>
1475
1476 <usage>
1477     <p>Cette directive permet &agrave; l'utilisateur de sp&eacute;cifier un d&eacute;lai pour
1478     les requ&ecirc;tes mandat&eacute;es. Ceci s'av&egrave;re utile dans le cas d'un serveur
1479     d'applications lent et bogu&eacute; qui a tendance &agrave; se bloquer, et si vous
1480     pr&eacute;f&eacute;rez simplement renvoyer une erreur timeout et abandonner la
1481     connexion en douceur plut&ocirc;t que d'attendre jusqu'&agrave; ce que le serveur
1482     veuille bien r&eacute;pondre.</p>
1483 </usage>
1484 </directivesynopsis>
1485
1486 <directivesynopsis>
1487 <name>ProxyDomain</name>
1488 <description>Nom de domaine par d&eacute;faut pour les requ&ecirc;tes
1489 mandat&eacute;es</description>
1490 <syntax>ProxyDomain <var>Domaine</var></syntax>
1491 <contextlist><context>server config</context><context>virtual host</context>
1492 </contextlist>
1493
1494 <usage>
1495     <p>Cette directive n'a d'utilit&eacute; que pour les serveurs mandataires
1496     Apache httpd au sein d'un Intranet. La directive
1497     <directive>ProxyDomain</directive> permet de sp&eacute;cifier le domaine
1498     par d&eacute;faut auquel le serveur mandataire apache appartient. Si le
1499     serveur re&ccedil;oit une requ&ecirc;te pour un h&ocirc;te sans nom de domaine, il va
1500     g&eacute;n&eacute;rer une r&eacute;ponse de redirection vers le m&ecirc;me h&ocirc;te suffix&eacute; par le
1501     <var>Domaine</var> sp&eacute;cifi&eacute;.</p>
1502
1503     <example><title>Exemple</title>
1504       ProxyRemote  *  http://firewall.example.com:81<br />
1505       NoProxy         .example.com 192.168.112.0/21<br />
1506       ProxyDomain     .example.com
1507     </example>
1508 </usage>
1509 </directivesynopsis>
1510
1511 <directivesynopsis>
1512 <name>ProxyVia</name>
1513 <description>Information fournie dans l'en-t&ecirc;te de r&eacute;ponse HTTP
1514 <code>Via</code> pour les requ&ecirc;tes mandat&eacute;es</description>
1515 <syntax>ProxyVia On|Off|Full|Block</syntax>
1516 <default>ProxyVia Off</default>
1517 <contextlist><context>server config</context><context>virtual host</context>
1518 </contextlist>
1519
1520 <usage>
1521     <p>Cette directive permet de contr&ocirc;ler l'utilisation de l'en-t&ecirc;te
1522     HTTP <code>Via:</code> par le mandataire. Le but recherch&eacute; est de
1523     contr&ocirc;ler le flux des requ&ecirc;tes mandat&eacute;es tout au long d'une cha&icirc;ne
1524     de serveurs mandataires. Voir <a
1525     href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1),
1526     section 14.45 pour une description des lignes d'en-t&ecirc;te
1527     <code>Via:</code>.</p>
1528
1529     <ul>
1530     <li>Si elle est d&eacute;finie &agrave; <code>Off</code>, valeur par d&eacute;faut, cette
1531     directive n'effectue aucun traitement particulier. Si une requ&ecirc;te ou
1532     une r&eacute;ponse contient un en-t&ecirc;te <code>Via:</code>, il est transmis
1533     sans modification.</li>
1534
1535     <li>Si elle est d&eacute;finie &agrave; <code>On</code>, chaque requ&ecirc;te ou r&eacute;ponse
1536     se verra ajouter une ligne d'en-t&ecirc;te <code>Via:</code> pour le
1537     serveur courant.</li>
1538
1539     <li>Si elle est d&eacute;finie &agrave; <code>Full</code>, chaque ligne d'en-t&ecirc;te
1540     <code>Via:</code> se verra ajouter la version du serveur Apache
1541     httpd sous la forme d'un champ de commentaire <code>Via:</code>.</li>
1542
1543     <li>Si elle est d&eacute;finie &agrave; <code>Block</code>, chaque requ&ecirc;te
1544     mandat&eacute;e verra ses lignes d'en-t&ecirc;te <code>Via:</code> supprim&eacute;es.
1545     Aucun nouvel en-t&ecirc;te <code>Via:</code> ne sera g&eacute;n&eacute;r&eacute;.</li>
1546     </ul>
1547 </usage>
1548 </directivesynopsis>
1549
1550 <directivesynopsis>
1551 <name>ProxyErrorOverride</name>
1552 <description>Outrepasser les pages d'erreur pour les contenus
1553 mandat&eacute;s</description>
1554 <syntax>ProxyErrorOverride On|Off</syntax>
1555 <default>ProxyErrorOverride Off</default>
1556 <contextlist><context>server config</context><context>virtual host</context>
1557 </contextlist>
1558 <compatibility>Disponible depuis la version 2.0 d'Apache</compatibility>
1559
1560 <usage>
1561     <p>Cette directive est utile pour les configurations de mandataires
1562     inverses, lorsque vous souhaitez que les pages d'erreur envoy&eacute;es
1563     aux utilisateurs finaux pr&eacute;sentent un aspect homog&egrave;ne. Elle permet
1564     aussi l'inclusion de fichiers (via les SSI de
1565     <module>mod_include</module>) pour obtenir le code d'erreur et agir
1566     en cons&eacute;quence (le comportement par d&eacute;faut afficherait la page
1567     d'erreur du serveur mandat&eacute;, alors que c'est le message d'erreur SSI
1568     qui sera affich&eacute; si cette directive est &agrave; "on").</p>
1569
1570     <p>Cette directive n'affecte pas le traitement des r&eacute;ponses
1571     informatives (1xx), de type succ&egrave;s normal (2xx), ou de redirection
1572     (3xx).</p>
1573 </usage>
1574 </directivesynopsis>
1575
1576 <directivesynopsis>
1577 <name>ProxyPassInterpolateEnv</name>
1578 <description>Active l'interpolation des variables d'environnement dans
1579 les configurations de mandataires inverses</description>
1580 <syntax>ProxyPassInterpolateEnv On|Off</syntax>
1581 <default>ProxyPassInterpolateEnv Off</default>
1582 <contextlist><context>server config</context> <context>virtual host</context>
1583 <context>directory</context>
1584 </contextlist>
1585 <compatibility>Disponible depuis la version 2.2.9 d'Apache</compatibility>
1586
1587 <usage>
1588     <p>Cette directive, ainsi que l'argument <var>interpolate</var> des
1589     directives <directive>ProxyPass</directive>,
1590     <directive>ProxyPassReverse</directive>,
1591     <directive>ProxyPassReverseCookieDomain</directive> et
1592     <directive>ProxyPassReverseCookiePath</directive>, permet de
1593     configurer dynamiquement un mandataire inverse &agrave; l'aide de
1594     variables d'environnement, ces derni&egrave;res pouvant &ecirc;tre d&eacute;finies par un
1595     autre module comme <module>mod_rewrite</module>. Elle affecte les
1596     directives <directive>ProxyPass</directive>,
1597     <directive>ProxyPassReverse</directive>,
1598     <directive>ProxyPassReverseCookieDomain</directive>, et
1599     <directive>ProxyPassReverseCookiePath</directive>, en leur indiquant
1600     de remplacer la cha&icirc;ne <code>${nom_var}</code> dans les directives
1601     de configuration par la valeur de la variable d'environnement
1602     <code>nom_var</code>.</p>
1603     <p>Conservez cette directive &agrave; off (pour les performances du
1604     serveur), sauf si vous en avez r&eacute;ellement besoin.</p>
1605 </usage>
1606 </directivesynopsis>
1607
1608 <directivesynopsis>
1609 <name>ProxyStatus</name>
1610 <description>Affiche l'&eacute;tat du r&eacute;partiteur de charge du mandataire dans
1611 mod_status</description>
1612 <syntax>ProxyStatus Off|On|Full</syntax>
1613 <default>ProxyStatus Off</default>
1614 <contextlist><context>server config</context>
1615 <context>virtual host</context>
1616 </contextlist>
1617 <compatibility>Disponible depuis la version 2.2 d'Apache</compatibility>
1618
1619 <usage>
1620     <p>Cette directive permet de sp&eacute;cifier si les donn&eacute;es d'&eacute;tat du
1621     r&eacute;partiteur de charge du mandataire doivent &ecirc;tre affich&eacute;es via la
1622     page d'&eacute;tat du serveur du module <module>mod_status</module>.</p>
1623     <note><title>Note</title>
1624       <p>L'argument <strong>Full</strong> produit le m&ecirc;me effet que
1625       l'argument <strong>On</strong>.</p>
1626     </note>
1627
1628 </usage>
1629 </directivesynopsis>
1630
1631 </modulesynopsis>