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
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>
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="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_proxy</h1>
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
26 <a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
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>
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>
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>
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>
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>
69 <div id="quickview"><h3 class="directives">Directives</h3>
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"><Proxy></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"><ProxyMatch></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>
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
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
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
113 </ul><h3>Voir aussi</h3>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
188 <div class="example"><h3>Mandataire direct</h3><p><code>
189 ProxyRequests On<br />
192 <Proxy *><br />
193 <span class="indent">
194 Order deny,allow<br />
196 Allow from interne.exemple.com<br />
201 <div class="example"><h3>Mandataire inverse</h3><p><code>
202 ProxyRequests Off<br />
204 <Proxy *><br />
205 <span class="indent">
206 Order deny,allow<br />
211 ProxyPass /foo http://foo.exemple.com/bar<br />
212 ProxyPassReverse /foo http://foo.exemple.com/bar
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
218 <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
219 de contrôle <code class="directive"><a href="#proxy"><Proxy></a></code> comme dans
220 l'exemple suivant :</p>
222 <div class="example"><p><code>
223 <Proxy *><br />
224 <span class="indent">
225 Order Deny,Allow<br />
227 Allow from 192.168.0<br />
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>
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>
248 <p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>
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>
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
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>
297 <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
298 <code>proxy-nokeepalive</code>.</p>
300 <div class="example"><p><code>
301 <Location /serveur-non-conforme/><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 />
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>
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>
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
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>
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>
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>
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>
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
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>
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>
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>
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>
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
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>
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><Proxy <var>balancer://</var>...></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><Proxy
417 <var>balancer://</var>...></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>
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>
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>
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
445 <p>Le type des arguments <var>serveur</var> de la directive
446 <code class="directive">NoProxy</code> appartiennent à la liste suivante
451 <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
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>
459 <div class="example"><h3>Exemple</h3><p><code>
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
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>
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>
481 <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
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>
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>
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>
512 <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
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>
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
529 <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
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
539 <div class="example"><h3>Exemples</h3><p><code>
540 prep.ai.example.com<br />
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>
562 <li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
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"><Proxy></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
570 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Proxy <var>url-avec-jokers</var>> ...</Proxy></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>
575 <p>Les directives situées dans une section <code class="directive"><Proxy></code> ne s'appliquent qu'au contenu
576 mandaté concerné. Les jokers de style shell sont autorisés.</p>
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>
582 <div class="example"><p><code>
583 <Proxy *><br />
584 <span class="indent">
585 Order Deny,Allow<br />
587 Allow from votre-reseau.exemple.com<br />
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>
597 <div class="example"><p><code>
598 <Proxy http://exemple.com/foo/*><br />
599 <span class="indent">
600 SetOutputFilter INCLUDES<br />
608 <li><code class="directive"><a href="#proxymatch"><ProxyMatch></a></code></li>
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>
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
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>
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>
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>
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
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>
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
669 <div class="example"><h3>Exemple</h3><p><code>
670 ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
673 <p><code>rocky.wotsamattau.edu</code> aurait également correspondu s'il
674 avait été spécifié par son adresse IP.</p>
676 <p>Notez que <code>wotsamattau</code> aurait suffi pour correspondre
677 à <code>wotsamattau.edu</code>.</p>
679 <p>Notez aussi que</p>
681 <div class="example"><p><code>
685 <p>bloque les connexions vers tous les sites.</p>
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
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>
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>
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
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
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>
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>
734 <p>Cette directive n'affecte pas le traitement des réponses
735 informatives (1xx), de type succès normal (2xx), ou de redirection
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
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>
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>
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
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>
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>
772 <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
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
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"><ProxyMatch></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><ProxyMatch <var>regex</var>> ...</ProxyMatch></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>
797 <p>La directive <code class="directive"><ProxyMatch></code> est
798 identique à la directive <code class="directive"><a href="#proxy"><Proxy></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>
803 <li><code class="directive"><a href="#proxy"><Proxy></a></code></li>
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>
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>
826 <div class="example"><h3>Exemple</h3><p><code>
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>
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>
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>
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>
865 <p>Supposons que le serveur local a pour adresse
866 <code>http://exemple.com/</code> ; alors la ligne</p>
868 <div class="example"><p><code>
869 ProxyPass /miroir/foo/ http://backend.exemple.com/
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>
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.
885 <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
886 du mandat inverse, comme dans l'exemple suivant :</p>
888 <div class="example"><p><code>
889 ProxyPass /miroir/foo/i !<br />
890 ProxyPass /miroir/foo http://backend.exemple.com
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>
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
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>
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>
921 <div class="example"><p><code>
922 ProxyPass /exemple http://backend.exemple.com smax=5 max=20 ttl=120 retry=300
926 <tr><th>Paramètre</th>
928 <th>Description</th></tr>
931 <td>Nombre minimum de connexions ouvertes vers le serveur
932 d'arrière-plan.</td></tr>
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>
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
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.
957 <tr><td>connectiontimeout</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
965 <tr><td>disablereuse</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>.
978 <tr><td>flushpackets</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.
988 <tr><td>flushwait</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'.
994 <tr><td>iobuffersize</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.
1002 <tr><td>keepalive</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>.
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.
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
1037 <tr><td>receivebuffersize</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.
1045 <tr><td>redirect</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é.
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
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.
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".
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.
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.
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
1110 <tr><th>Paramètre</th>
1112 <th>Description</th></tr>
1113 <tr><td>lbmethod</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>.
1125 <tr><td>maxattempts</td>
1127 <td>Nombre maximum d'échecs avant abandon.
1129 <tr><td>nofailover</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.
1136 <tr><td>stickysession</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.
1147 <tr><td>scolonpathdelim</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>.
1155 <tr><td>timeout</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
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 <Proxy balancer://mon-cluster><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 />
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 <Proxy balancer://hotcluster><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
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>
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
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"><Location></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"><Location></a></code>.</p>
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>
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>
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>
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>
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>
1272 <p>Supposons que le serveur local a pour adresse
1273 <code>http://exemple.com/</code> ; alors</p>
1275 <div class="example"><p><code>
1276 ProxyPassMatch ^(/.*\.gif)$ http://backend.exemple.com$1
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>
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
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
1300 <p>Le drapeau <code>!</code> vous permet de ne pas mandater un
1301 sous-répertoire donné.</p>
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>
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
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>
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>
1337 <p>Supposons par exemple que le serveur local a pour adresse
1338 <code>http://exemple.com/</code> ; alors</p>
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/
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>
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>
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>.
1374 <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></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"><Location></a></code>.</p>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
1456 <div class="example"><h3>Exemple</h3><p><code>
1457 ProxyReceiveBufferSize 2048
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
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>
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>
1479 <div class="example"><p><code>
1480 <dfn>serveur-distant</dfn> =
1481 <var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
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>
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
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>
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>
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>
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
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
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>
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>
1537 <p>Pour une configuration typique de mandataire inverse ou
1538 passerelle, cette directive doit être définie à
1539 <code>Off</code>.</p>
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
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>
1556 <li><a href="#forwardreverse">Mandataires/Passerelles directs et
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
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
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><Proxy <var>url de répartiteur|url de
1577 serveur cible</var>></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>
1582 <div class="example"><p><code>
1583 <Proxy balancer://hotcluster><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 />
1592 <div class="example"><p><code>
1593 <Proxy http://backend><br />
1594 <span class="indent">
1595 ProxySet keepalive=On<br />
1600 <div class="example"><p><code>
1601 ProxySet balancer://foo lbmethod=bytraffic timeout=15
1604 <div class="example"><p><code>
1605 ProxySet ajp://backend:7001 timeout=15
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
1698 <div class="bottomlang">
1699 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
1700 <a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
1701 <a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </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>