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