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