<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1026184 -->
+<!-- English Revision : 1032399 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_proxy.xml.meta">
<name>mod_proxy</name>
-<description>Serveur mandataire/passerelle HTTP/1.1</description>
+<description>Serveur mandataire/passerelle multi-protocole</description>
<status>Extension</status>
<sourcefile>mod_proxy.c</sourcefile>
<identifier>proxy_module</identifier>
mais aussi pour l'Internet au sens large.</p>
</note>
- <p>Ce module implémente un mandataire/passerelle pour le serveur
- HTTP Apache. Il
- implémente la fonctionnalité de mandataire pour <code>AJP13</code>
- (Apache JServe Protocol version 1.3), <code>FTP</code>,
- <code>CONNECT</code> (pour SSL), <code>HTTP/0.9</code>,
- <code>HTTP/1.0</code>, et <code>HTTP/1.1</code>. Le module peut être
- configuré pour se connecter aux autres modules mandataires qui
- gèrent ces protocoles ou d'autres.</p>
-
- <p>Les diverses fonctionnalités de
- mandataire d'Apache httpd sont réparties entre plusieurs modules
- complémentaires de <module>mod_proxy</module> :
- <module>mod_proxy_http</module>, <module>mod_proxy_ftp</module>,
- <module>mod_proxy_ajp</module>, <module>mod_proxy_balancer</module>,
- et <module>mod_proxy_connect</module>. Ainsi, si vous voulez
- utiliser une ou plusieurs fonctionnalités de mandataire
- particulières, chargez <module>mod_proxy</module> <em>et</em> le(s)
- module(s) approprié(s) dans le serveur (soit statiquement à la
- compilation, soit dynamiquement via la directive <directive
- module="mod_so">LoadModule</directive>).</p>
+ <p><module>mod_proxy</module> et ses modules associés implémentent
+ un mandataire/passerelle pour le serveur HTTP Apache, et supportent
+ de nombreux protocoles courants, ainsi que plusieurs algorithmes de
+ répartition de charge. Le support de protocoles et d'algorithmes de
+ répartition de charge supplémentaires peut être assuré par des
+ modules tiers.</p>
+ <p>Un jeu de modules chargés dans le serveur permet de fournir les
+ fonctionnalités souhaitées. Ces modules peuvent être inclus
+ statiquement à la compilation, ou dynamiquement via la directive
+ <directive module="mod_so">LoadModule</directive>. Ce jeu de module
+ doit comporter :</p>
+
+ <ul>
+ <li><module>mod_proxy</module>, qui fournit les fonctionnalités de
+ base d'un mandataire</li>
+
+ <li><module>mod_proxy_balancer</module> et un ou plusieurs modules
+ de répartition, si la répartition de charge doit être mise en
+ oeuvre (Voir la documentation de
+ <module>mod_proxy_balancer</module> pour plus de détails).</li>
+
+ <li>un ou plusieurs modules de types de mandataire, ou protocoles
+ :
+
+ <table border="1">
+ <tr><th>Protocole</th><th>Module</th></tr>
+ <tr><td>AJP13 (Protocole Apache JServe version
+ 1.3)</td><td><module>mod_proxy_ajp</module></td></tr>
+ <tr><td>CONNECT (pour
+ SSL)</td><td><module>mod_proxy_connect</module></td></tr>
+ <tr><td>FastCGI</td><td><module>mod_proxy_fcgi</module></td></tr>
+ <tr><td>ftp</td><td><module>mod_proxy_ftp</module></td></tr>
+ <tr><td>HTTP/0.9, HTTP/1.0, et
+ HTTP/1.1</td><td><module>mod_proxy_http</module></td></tr>
+ <tr><td>SCGI</td><td><module>mod_proxy_scgi</module></td></tr>
+ </table>
+ </li>
+ </ul>
+
<p>En outre, d'autres modules fournissent des fonctionnalités
étendues. <module>mod_cache</module> et ses modules associés
fournissent la mise en cache. Les directives <code>SSLProxy*</code>
disposer de ces fonctionnalités.</p>
</summary>
<seealso><module>mod_cache</module></seealso>
-<seealso><module>mod_proxy_http</module></seealso>
-<seealso><module>mod_proxy_ftp</module></seealso>
+<seealso><module>mod_proxy_ajp</module></seealso>
<seealso><module>mod_proxy_connect</module></seealso>
+<seealso><module>mod_proxy_fcgi</module></seealso>
+<seealso><module>mod_proxy_ftp</module></seealso>
+<seealso><module>mod_proxy_http</module></seealso>
+<seealso><module>mod_proxy_scgi</module></seealso>
<seealso><module>mod_proxy_balancer</module></seealso>
<seealso><module>mod_ssl</module></seealso>
<br />
<Proxy *><br />
<indent>
- Order deny,allow<br />
- Deny from all<br />
- Allow from interne.example.com<br />
+ Require host internal.example.com<br />
</indent>
</Proxy>
</example>
<example>
<Proxy *><br />
<indent>
- Order Deny,Allow<br />
- Deny from all<br />
- Allow from 192.168.0<br />
+ Require ip 192.168.0<br />
</indent>
</Proxy>
</example>
<code>proxy-sendchunked</code> diminue la consommation de ressources
en imposant l'utilisation d'un codage à fractionnement.</p>
+ <p>Dans certaines circonstances, le serveur doit mettre en file
+ d'attente sur disque les corps de requêtes afin de satisfaire le
+ traitement demandé des corps de requêtes. Par exemple, cette mise en
+ file d'attente se produira si le corps original a été envoyé selon un
+ codage morcelé (et possède une taille importante), alors que
+ l'administrateur a demandé que les requêtes du serveur
+ d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en
+ HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps
+ de la requête contient déjà un en-tête Content-Length, alors que le
+ serveur est configuré pour filtrer les corps des requêtes entrantes.</p>
+
+ <p>La directive <directive
+ module="core">LimitRequestBody</directive> ne s'applique qu'aux
+ corps de requêtes que le serveur met en file d'attente sur disque.</p>
+
</section> <!-- /request-bodies -->
<section id="x-headers"><title>En-têtes de requête du mandataire
<example>
<Proxy *><br />
<indent>
- Order Deny,Allow<br />
- Deny from all<br />
- Allow from votre-reseau.example.com<br />
+ Require host votre-reseau.example.com<br />
</indent>
</Proxy>
</example>
<usage>
<p>La directive <directive>ProxyBadHeader</directive> permet de
déterminer le comportement de <module>mod_proxy</module> lorsqu'il
- reçoit des lignes d'en-tête dont la syntaxe n'est pas valide (c'est
- à dire ne contenant pas de caractère ':'). Les arguments disponibles
- sont :</p>
+ reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
+ à dire ne contenant pas de caractère ':') en provenance du serveur
+ original. Les arguments disponibles sont :</p>
<dl>
<dt><code>IsError</code></dt>
<example>
<Proxy balancer://hotcluster><br />
<indent>
- BalancerMember http://www2.example.com:8009 loadfactor=1<br />
- BalancerMember http://www3.example.com:8009 loadfactor=2<br />
+ BalancerMember http://www2.example.com:8080 loadfactor=1<br />
+ BalancerMember http://www3.example.com:8080 loadfactor=2<br />
ProxySet lbmethod=bytraffic<br />
</indent>
</Proxy>
</td></tr>
<tr><td>keepalive</td>
<td>Off</td>
- <td>Cette clé doit être utilisée lorsque vous avez un pare-feu
+ <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
à interrompre les connexions inactives. Cette clé va faire en
sorte que le système d'exploitation envoie des messages
- <code>KEEP_ALIVE</code> sur chacune des connexions inactives
- (selon des intervalles de temps dépendant de la configuration
- générale de l'OS, en général 120ms), et ainsi éviter la
- fermeture de la connexion par le pare-feu. Pour activer
- keepalive, définissez cette clé à <code>On</code>.
+ <code>KEEP_ALIVE</code> sur chacune des connexions inactives et
+ ainsi éviter la fermeture de la connexion par le pare-feu.
+ Pour conserver les connexions persistantes, definissez cette
+ propriété à <code>On</code>.</p>
+ <p>La fréquence de vérification des connexions TCP persistantes
+ initiale et subséquentes dépend de la configuration globale de l'OS,
+ et peut atteindre 2 heures. Pour être utile, la fréquence configurée
+ dans l'OS doit être inférieure au seuil utilisé par le pare-feu.</p>
+
</td></tr>
<tr><td>lbset</td>
<td>0</td>
<code>byrequests</code>.
</td></tr>
<tr><td>maxattempts</td>
- <td>1</td>
+ <td>1 de moins que le nombre de workers, ou 1 avec un seul
+ worker</td>
<td>Nombre maximum d'échecs avant abandon.
</td></tr>
<tr><td>nofailover</td>
ProxyPass / balancer://mon-cluster/ stickysession=JSESSIONID|jsessionid nofailover=On<br />
<Proxy balancer://mon-cluster><br />
<indent>
- BalancerMember http://1.2.3.4:8009<br />
- BalancerMember http://1.2.3.5:8009 smax=10<br />
- # Serveur moins puissant ; faites-lui traiter moins de requêtes<br />
- BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
+ BalancerMember ajp://1.2.3.4:8009<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=20<br />
+ # Serveur moins puissant ; faites-lui traiter moins de requêtes,<br />
+ BalancerMember ajp://1.2.3.6:8009 loadfactor=5<br />
</indent>
</Proxy>
</example>
ProxyPass / balancer://hotcluster/ <br />
<Proxy balancer://hotcluster><br />
<indent>
- BalancerMember http://1.2.3.4:8009 loadfactor=1<br />
- BalancerMember http://1.2.3.5:8009 loadfactor=2<br />
+ BalancerMember ajp://1.2.3.4:8009 loadfactor=1<br />
+ BalancerMember ajp://1.2.3.5:8009 loadfactor=2<br />
# La ligne suivante configure le serveur cible de réserve<br />
- BalancerMember http://1.2.3.6:8009 status=+H<br />
+ BalancerMember ajp://1.2.3.6:8009 status=+H<br />
ProxySet lbmethod=bytraffic
</indent>
</Proxy>
nécessaire d'utiliser la directive
<directive>ProxyPassMatch</directive> à la place.</p>
+ <p>Cette directive ne peut pas être placée dans une section
+ <directive type="section" module="core">Directory</directive> ou
+ <directive type="section" module="core">Files</directive>.</p>
+
<p>Si vous avez besoin d'un configuration de mandataire inverse plus
souple, reportez-vous à la documentaion de la directive <directive
module="mod_rewrite">RewriteRule</directive> et son drapeau
<code>[P]</code>.</p>
+
</usage>
</directivesynopsis>
est dans ce cas, définissez la directive ProxyPassReverse en dehors
de la section, ou dans une section <directive type="section"
module="core">Location</directive> séparée.</p>
+
+ <p>Cette directive ne peut pas être placée dans une section
+ <directive type="section" module="core">Directory</directive> ou
+ <directive type="section" module="core">Files</directive>.</p>
</usage>
</directivesynopsis>