Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Apache/docs/manual/mod/   (Apache Software Stiftung Version 2.4.65©)  Datei vom 11.0.2025 mit Größe 149 kB image not shown  

Quelle  mod_proxy.html.fr.utf8   Sprache: unbekannt

 
Untersuchungsergebnis.utf8 Download desUnknown {[0] [0] [0]}zum Wurzelverzeichnis wechseln

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_proxy - Serveur HTTP Apache Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<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>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_proxy</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
<h3>Sommaire</h3>

    <div class="warning"><h3>Avertissement</h3>
      <p>N'activez pas la fonctionnalité de mandataire avec la directive
      <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
      d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
      mandataires ouverts sont dangereux pour votre réseau,
      mais aussi pour l'Internet au sens large.</p>
    </div>

    <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 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
    <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Ce jeu de module
    doit comporter :</p>

    <ul>
      <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de
      base d'un mandataire</li>

      <li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et un ou plusieurs modules
      de répartition, si la répartition de charge doit être mise en
      oeuvre (Voir la documentation de
      <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li>

      <li>un ou plusieurs modules de types de mandataire, ou protocoles
      :

        <table class="bordered">
        <tr><th>Protocole</th><th>Module</th></tr>
        <tr><td>AJP13 (Protocole Apache JServe version
          1.3)</td><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td></tr>
        <tr><td>CONNECT (pour
          SSL)</td><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td></tr>
        <tr><td>FastCGI</td><td><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></td></tr>
        <tr><td>ftp</td><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td></tr>
        <tr><td>HTTP/0.9, HTTP/1.0, et
          HTTP/1.1</td><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td></tr>
 <tr><td>HTTP/2.0</td><td><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code></td></tr>
        <tr><td>SCGI</td><td><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></td></tr>
 <tr><td>UWSGI</td><td><code class="module"><a href="../mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code></td></tr>
 <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>
        </table>
      </li>
    </ul>

    <p>En outre, d'autres modules fournissent des fonctionnalités
    étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
    fournissent la mise en cache. Les directives <code>SSLProxy*</code>
    du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des
    serveurs distants en utilisant le protocole SSL/TLS. Ces modules
    additionnels devront être chargés et configurés pour pouvoir
    disposer de ces fonctionnalités.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et
    mandataires/passerelles inverses</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
    mandataire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire en Intranet</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au
    protocole</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
    inverse</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#balancergrowth">BalancerGrowth</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#balancerinherit">BalancerInherit</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#balancermember">BalancerMember</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#balancerpersist">BalancerPersist</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#noproxy">NoProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxy"><Proxy></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxy100continue">Proxy100Continue</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyaddheaders">ProxyAddHeaders</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxybadheader">ProxyBadHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyblock">ProxyBlock</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxydomain">ProxyDomain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyerroroverride">ProxyErrorOverride</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyiobuffersize">ProxyIOBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxymatch"><ProxyMatch></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxymaxforwards">ProxyMaxForwards</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypass">ProxyPass</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinherit">ProxyPassInherit</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassmatch">ProxyPassMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreverse">ProxyPassReverse</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxypreservehost">ProxyPreserveHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyremote">ProxyRemote</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyremotematch">ProxyRemoteMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyrequests">ProxyRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyset">ProxySet</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxysourceaddress">ProxySourceAddress</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxystatus">ProxyStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li>
<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="forwardreverse" id="forwardreverse">Mandataires directs et
    mandataires/passerelles inverses</a></h2>
      <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire
      <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
      mode <dfn>passerelle</dfn>).</p>

      <p>Un <dfn>mandataire direct</dfn> standard est un serveur
      intermédiaire qui s'intercale entre le client et le <em>serveur
      demandé</em>. Pour obtenir un contenu hébergé par
      le serveur demandé, le client envoie une requête au
      mandataire en nommant le serveur demandé comme
      cible. Le mandataire extrait alors le contenu depuis le
      serveur demandé et le renvoie enfin au client. Le client doit être
      configuré de manière appropriée pour pouvoir utiliser le mandataire
      direct afin d'accéder à d'autres sites.</p>

      <p>L'accès à Internet depuis des clients situés derrière un
      pare-feu est une utilisation typique du mandataire direct. Le
      mandataire direct peut aussi utiliser la mise en cache (fournie
      par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
      réseau.</p>

      <p>La fonctionnalité de mandataire direct est activée via la
      directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
      Comme les mandataires directs permettent aux clients d'accéder à
      des sites quelconques via votre serveur et de dissimuler leur
      véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
      les clients autorisés puissent accéder à votre serveur avant
      d'activer la fonctionnalité de mandataire direct.</p>

      <p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
      quant à lui, apparaît au client comme un serveur web standard.
      Aucune configuration particulière du client n'est nécessaire. Le
      client adresse ses demandes de contenus ordinaires dans l'espace
      de nommage du mandataire inverse. Ce dernier décide alors où
      envoyer ces requêtes, et renvoie le contenu au client comme s'il
      l'hébergeait lui-même.</p>

      <p>L'accès d'utilisateurs depuis Internet vers un serveur situé
      derrière un pare-feu est une utilisation typique du mandataire
      inverse. On peut aussi utiliser les mandataires inverses pour
      mettre en oeuvre une répartition de charge entre plusieurs
      serveurs en arrière-plan, ou fournir un cache pour un serveur
      d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
      tout simplement servir à rassembler plusieurs serveurs dans le
      même espace de nommage d'URLs.</p>

      <p>La fonctionnalité de mandataire inverse est activée via la
      directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou
      le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est
      <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer
      un mandataire inverse.</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Exemples simples</a></h2>

    <p>Les exemples ci-dessous illustrent de manière très basique la
    mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
    pour vous aider à démarrer. Reportez-vous à la documentation de
    chaque directive.</p>

    <p>Si en outre, vous désirez activer la mise en cache, consultez la
    documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>

    <div class="example"><h3>Mandataire inverse</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
</div>

    <div class="example"><h3>Mandataire direct</h3><pre class="prettyprint lang-config">ProxyRequests On
ProxyVia On

<Proxy "*">
  Require host internal.example.com
</Proxy></pre>
</div>
    <div class="example"><h3><a id="wsupgrade" name="wsupgrade">Promotion de protocole
    vers Websocket (versions 2.4.47 et ultérieures)</a></h3><pre class="prettyprint lang-config">ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket</pre>
</div>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="handler" id="handler">Accès via un gestionnaire</a></h2>

    <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
    requête de mandataire inverse en créant un gestionnaire de transfert
    approprié. Dans l'exemple suivant, toutes les requêtes pour
    des scripts PHP seront transmises au serveur FastCGI
    spécifié via un mandat inverse :
    </p>

    <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$">
    # Les sockets Unix nécessitent une version 2.4.7 ou supérieure du
    # serveur HTTP Apache
    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch></pre>
</div>

      <p>Cette fonctionnalité est disponible à partir de la version
      2.4.10 du serveur HTTP Apache.</p>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="workers" id="workers">Workers</a></h2>
      <p>Le mandataire gère la configuration et les paramètres de
      communication des serveurs originaux au sein d'objets nommés
      <dfn>workers</dfn>. Deux types de worker sont fournis : le worker
      par défaut du mandataire direct et le worker par défaut du
      mandataire inverse. Il est aussi possible de définir explicitement
      des workers supplémentaires.</p>

      <p>Les deux workers par défaut possèdent une configuration figée
      et seront utilisés si aucun autre worker ne correspond à la
      requête. Ils ne réutilisent pas les connexions et n'utilisent pas les
      connexions HTTP persistantes (Keep-Alive). En effet, les
      connexions TCP vers le serveur original sont fermées et ouvertes
      pour chaque requête.</p>

      <p>Les workers définis explicitement sont identifiés par leur URL.
      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
      utilise dans le cadre d'un mandataire inverse :</p>

      <div class="example"><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
</div>
      

      <p>Cette directive va créer un worker associé à l'URL du serveur
      original <code>http://backend.example.com</code> qui utilisera les
      valeurs de timeout données. Lorsqu'ils sont utilisés dans le cadre
      d'un mandataire direct, les workers sont en général définis via la
      directive <code class="directive"><a href="#proxyset">ProxySet</a></code>,</p>

      <div class="example"><pre class="prettyprint lang-config">ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
</div>
      

      <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>

      <pre class="prettyprint lang-config"><Proxy "http://backend.example.com">
  ProxySet connectiontimeout=5 timeout=30
</Proxy></pre>


      <p>L'utilisation de workers définis explicitement dans le mode
      mandataire direct n'est pas très courante, car les mandataires
      directs communiquent en général avec de nombreux serveurs
      originaux. La création explicite de workers pour certains serveurs
      originaux peut cependant s'avérer utile si ces serveurs sont
      très souvent sollicités. A leur niveau, les workers explicitement
      définis ne possèdent aucune notion de mandataire direct ou
      inverse. Ils encapsulent un concept de communication commun avec
      les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le
      cadre d'un mandataire inverse sera aussi utilisé dans le cadre
      d'un mandataire directe chaque fois que l'URL vers le serveur
      original correspondra à l'URL du worker, et vice versa.</p>

      <p>L'URL qui identifie un worker correspond à l'URL de son serveur
      original, y compris un éventuel chemin donné :</p>

      <pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
ProxyPass "/docs" "http://backend.example.com/docs"</pre>


      <p>Dans cet exemple, deux workers différents sont définis, chacun
      d'eux utilisant des configurations et jeux de connexions
      séparés.</p>

      <div class="warning"><h3>Partage de workers</h3>
        <p>Le partage de workers intervient lorsque les URLs des workers
 s'entrecoupent, ce qui arrive lorsque l'URL d'un worker
 correspond au début de l'URL d'un autre worker défini plus loin
 dans le fichier de configuration. Dans l'exemple suivant,</p>

        <pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>


        <p>le second worker n'est pas vraiment créé. C'est le premier
 worker qui est en fait utilisé. L'avantage de ceci réside dans
 le fait qu'il n'existe qu'un seul jeu de connexions, ces
 dernières étant donc réutilisées plus souvent. Notez que tous
 les attributs de configuration définis explicitement pour le
 deuxième worker seront ignorés, ce qui sera journalisé en tant
 qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de
 timeout retenue pour l'URL <code>/exemples</code> sera
 <code>60</code>, et non <code>10</code> !</p>

        <p>Si vous voulez empêcher le partage de workers, classez vos
 définitions de workers selon la longueur des URLs, de la plus
 longue à la plus courte. Si au contraire vous voulez favoriser
 ce partage, utilisez l'ordre de classement inverse. Voir aussi
 l'avertissement à propos de l'ordre de classement des directives
 <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>

      </div> 

      <p>Les workers définis explicitement sont de deux sortes :
      <dfn>workers directs</dfn> et <dfn>workers de répartition (de
      charge)</dfn>. Ils supportent de nombreux attributs de
      configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs
      peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>

      <p>Le jeu d'options disponibles pour un worker direct dépend du
      protocole spécifié dans l'URL du serveur original. Les protocoles
      disponibles comprennent <code>ajp</code>, <code>fcgi</code>,
      <code>ftp</code>, <code>http</code> et <code>scgi</code>.</p>

      <p>Les workers de répartition sont des workers virtuels qui
      utilisent les workers directs, connus comme faisant partie de leurs
      membres, pour le traitement effectif des requêtes. Chaque
      répartiteur peut comporter plusieurs membres. Lorsqu'il traite une
      requête, il choisit un de ses membres en fonction de l'algorithme
      de répartition de charge défini.</p>

      <p>Un worker de répartition est créé si son URL de worker comporte
      <code>balancer</code> comme indicateur de protocole. L'URL du
      répartiteur permet d'identifier de manière unique le worker de
      répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
      membres au répartiteur.</p>

      <div class="note"><h3>Résolution DNS pour les domaines originaux</h3>
      <p>La résolution DNS s'effectue lorsque le socket vers le
      domaine original est créé pour la première fois. Lorsque la réutilisation
      des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une
      seule fois pour chaque processus enfant, et cette résolution est mise en
      cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant
      soit recyclé. Ce comportement doit être pris en considération lorsqu'on
      planifie des tâches de maintenance du DNS impactant les domaines
      d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la
      directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour plus de
      détails à propos de la réutilisation des connexions.</p>
      </div>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="access" id="access">Contrôler l'accès à votre
    mandataire</a></h2>
      <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
      de contrôle <code class="directive"><a href="#proxy"><Proxy></a></code> comme dans
      l'exemple suivant :</p>

      <pre class="prettyprint lang-config"><Proxy "*">
  Require ip 192.168.0
</Proxy></pre>


      <p>Pour plus de détails sur les directives de contrôle d'accès,
      voir la documentation du module
      <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>

      <p>Restreindre l'accès de manière stricte est essentiel si vous
      mettez en oeuvre un mandataire direct (en définissant la directive
      <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
      Dans le cas contraire, votre serveur pourrait être utilisé par
      n'importe quel client pour accéder à des serveurs quelconques,
      tout en masquant sa véritable identité. Ceci représente un danger
      non seulement pour votre réseau, mais aussi pour l'Internet au
      sens large. Dans le cas de la mise en oeuvre d'un mandataire
      inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle
      d'accès est moins critique car les clients ne peuvent contacter
      que les serveurs que vous avez spécifiés.</p>

      <p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="startup" id="startup">Ralentissement au démarrage</a></h2>
      <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
      IP puis ces dernières mises en cache au cours du démarrage
      à des fins de tests de comparaisons ultérieurs. Ce processus peut
      durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
      à laquelle s'effectue la résolution des noms d'hôtes.</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="intranet" id="intranet">Mandataire en Intranet</a></h2>
      <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet
      doit faire suivre les requêtes destinées à un serveur externe à
      travers le pare-feu de l'entreprise (pour ce faire, définissez la
      directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
      façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
      vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
      à des ressources situées dans l'Intranet, il peut se passer du
      pare-feu pour accéder aux serveurs. A cet effet, la directive
      <code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
      spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
      être accédés directement.</p>

      <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
      domaine local dans leurs requêtes WWW, et demandent par exemple
      "http://un-serveur/" au lieu de
      <code>http://un-serveur.example.com/</code>. Certains serveurs
      mandataires commerciaux acceptent ce genre de requête et les
      traitent simplement en utilisant un nom de domaine local
      implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
      serveur est <a href="#proxyrequests">configuré comme
      mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et
      ainsi fournir au client l'adresse de serveur correcte,
      entièrement qualifiée. C'est la méthode à privilégier car le
      fichier des marque-pages de l'utilisateur contiendra alors des
      noms de serveurs entièrement qualifiés.</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="envsettings" id="envsettings">Ajustements relatifs au
    protocole</a></h2>
      <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
      vers un serveur qui n'implémente pas correctement les connexions
      persistantes ou le protocole HTTP/1.1, il existe deux variables
      d'environnement qui permettent de forcer les requêtes à utiliser
      le protocole HTTP/1.0 avec connexions non persistantes. Elles
      peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>

      <p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
      <code>proxy-nokeepalive</code>.</p>

      <pre class="prettyprint lang-config"><Location "/buggyappserver/">
  ProxyPass "http://buggyappserver:7001/foo/"
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1
</Location></pre>


      <p>A partir de la version 2.4.26 du serveur HTTP Apache, la définition de
      la variable d'environnement "no-proxy" permet de désactiver
      <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requête courante.
      Cette variable doit être définie via la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée assez tôt.</p> 

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a></h2>

    <p>Certaines méthodes de requêtes comme POST comportent un corps de
    requête. Le protocole HTTP stipule que les requêtes qui comportent
    un corps doivent soit utiliser un codage de transmission
    fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête
    <code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
    requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
    s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
    Par contre, si la taille du corps est importante, et si la requête
    originale utilise un codage à fractionnement, ce dernier peut aussi
    être utilisé dans la requête montante. Ce comportement peut être
    contrôlé à l'aide de <a href="../env.html">variables
    d'environnement</a>. Ainsi, si elle est définie, la variable
    <code>proxy-sendcl</code> assure une compatibilité maximale avec les
    serveurs demandés en imposant l'envoi de l'en-tête
    <code>Content-Length</code>, alors que
    <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>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
    inverse</a></h2>

    <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
    par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>),
    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
    afin de transmettre des informations au serveur demandé. Ces
    en-têtes sont les suivants :</p>

    <dl>
      <dt><code>X-Forwarded-For</code></dt>
      <dd>L'adresse IP du client.</dd>
      <dt><code>X-Forwarded-Host</code></dt>
      <dd>L'hôte d'origine demandé par le client dans l'en-tête de
      requête HTTP <code>Host</code>.</dd>
      <dt><code>X-Forwarded-Server</code></dt>
      <dd>Le nom d'hôte du serveur mandataire.</dd>
    </dl>

    <p>Ces en-têtes doivent être utilisés avec précautions sur le
    serveur demandé, car ils contiendront plus d'une valeur (séparées
    par des virgules) si la requête originale contenait déjà un de ces
    en-têtes. Par exemple, vous pouvez utiliser
    <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
    du serveur demandé pour enregistrer les adresses IP des clients
    originaux, mais il est possible que vous obteniez plusieurs adresses
    si la requête passe à travers plusieurs mandataires.</p>

    <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
    de contrôler d'autres en-têtes de requête.</p>

    <p>Note : Si vous devez ajouter des en-têtes particuliers à la
    requête mandatée, utilisez la directive  <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>.</p>

   </div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="balancergrowth" id="balancergrowth">Directive</a> <a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés
après la configuration initiale</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du
serveur HTTP Apache</td></tr>
</table>
    <p>Cette directive permet de définir le nombre de membres pouvant
    être ajoutés au groupe de répartition de charge préconfiguré d'un
    serveur virtuel. Elle n'est active que si le groupe a été
    préconfiguré avec un membre au minimum.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="balancerinherit" id="balancerinherit">Directive</a> <a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de
    charge du mandataire définis au niveau du serveur principal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
    HTTP Apache.</td></tr>
</table>
        <p>Cette directive permet d'attribuer au serveur virtuel courant
 l'héritage des membres de groupes de répartition de charge
 définis au niveau du serveur
 principal. Elle ne doit pas être activée si vous
 utilisez la fonctionnalité de modifications dynamiques du
 gestionnaire de répartition de charge (Balancer Manager) pour
 éviter des problèmes et des comportements inattendus.</p>
        <p>Les définitions au niveau du serveur principal constituent
 les définitions par défaut au niveau des serveurs virtuels.</p>
 
    
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="balancermember" id="balancermember">Directive</a> <a name="BalancerMember" id="BalancerMember">BalancerMember</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
charge</td></tr>
<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>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2 du serveur HTTP Apache.</td></tr>
</table>
    <p>Cette directive permet d'ajouter un membre à un groupe de
    répartition de charge. Elle peut se trouver dans un conteneur
    <code><Proxy <var>balancer://</var>...></code>, et accepte
    tous les paramètres de paires clé/valeur que supporte la directive
    <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
    <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre
    supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de
    charge du membre - un nombre décimal entre 1.0 (valeur par défaut) et 100.0, qui
    définit la charge à appliquer au membre en question.</p>
    <p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas
    dèjà dans la directive de conteneur <code><Proxy
    <var>balancer://</var>...></code>. Il correspond à l'URL d'un
    répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
    <p>La partie chemin de l'URL du répartiteur dans toute directive de
    conteneur <code><Proxy <var>balancer://</var>...></code> est
    ignorée.</p>
    <p>En particulier, le slash de fin de l'URL d'un
    <code class="directive">BalancerMember</code> doit être supprimé.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="balancerpersist" id="balancerpersist">Directive</a> <a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le
    gestionnaire de répartition de charge après un redémarrage du
    serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la
    version 2.4.4 du serveur HTTP Apache.</td></tr>
</table>
        <p>Cette directive permet de conserver le contenu de l'espace
 mémoire partagé associé aux répartiteurs de charge et à leurs
 membres après un redémarrage du serveur. Ces modifications
 locales ne sont ainsi pas perdues lors des transitions d'état
 dues à un redémarrage.</p>
    
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="noproxy" id="noproxy">Directive</a> <a name="NoProxy" id="NoProxy">NoProxy</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
directement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>Cette directive n'a d'utilité que pour les serveurs mandataires
    Apache httpd au sein d'Intranets. La directive
    <code class="directive">NoProxy</code> permet de spécifier une liste de
    sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
    par des espaces. Une requête pour un serveur qui correspond à un ou
    plusieurs critères sera toujours servie par ce serveur directement,
    sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
    la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote  "*"  "http://firewall.example.com:81"
NoProxy         ".example.com" "192.168.112.0/21"</pre>
</div>

    <p>Le type des arguments <var>serveur</var> de la directive
    <code class="directive">NoProxy</code> appartiennent à la liste suivante
    :</p>

    <dl>
    
    <dt><var><a name="domain" id="domain">Domaine</a></var></dt>
    <dd>
    <p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
    qualifié précédé d'un point. Il représente une liste de serveurs qui
    appartiennent logiquement au même domaine ou à la même zonz DNS
    (en d'autres termes, les nom des serveurs se terminent tous par
    <var>domaine</var>).</p>

    <div class="example"><h3>Exemple</h3><p><code>
      .com .example.org.
    </code></p></div>

    <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
    syntaxique et
    sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
    de type A !), les <var>domaine</var>s sont toujours spécifiés en les
    préfixant par un point.</p>

    <div class="note"><h3>Note</h3>
      <p>Les comparaisons de noms de domaines s'effectuent sans tenir
      compte de la casse, et les parties droites des <var>Domaine</var>s
      sont toujours censées correspondre à la racine de l'arborescence
      DNS, si bien que les domaines <code>.ExEmple.com</code> et
      <code>.exemple.com.</code> (notez le point à la fin du nom) sont
      considérés comme identiques. Comme une comparaison de domaines ne
      nécessite pas de recherche DNS, elle est beaucoup plus efficace
      qu'une comparaison de sous-réseaux.</p>
    </div></dd>

    
    <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
    <dd>
    <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
    qualifiée sous forme numérique (quatre nombres séparés par des
    points), optionnellement suivie d'un slash et du masque de
    sous-réseau spécifiant le nombre de bits significatifs dans le
    <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
    peuvent être atteints depuis la même interface réseau. En l'absence
    de masque de sous-réseau explicite, il est sous-entendu que les
    digits manquants (ou caractères 0) de fin spécifient le masque de
    sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
    qu'un multiple de 8). Voici quelques exemples :</p>

    <dl>
    <dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
    <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
    implicite de 16 bits significatifs (parfois exprimé sous la forme
    <code>255.255.0.0</code>)</dd>
    <dt><code>192.168.112.0/21</code></dt>
    <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
    sous-réseau implicite de 21 bits significatifs (parfois exprimé
    sous la forme<code>255.255.248.0</code>)</dd>
    </dl>

    <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de
    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
    sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
    identique à la constante <var>_Default_</var>, et peut correspondre
    à toute adresse IP.</p></dd>

    
    <dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
    <dd>
    <p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
    qualifiée sous forme numérique (quatre nombres séparés par des
    points). En général, cette adresse représente un serveur, mais elle
    ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
    <div class="example"><h3>Exemple</h3><p><code>
      192.168.123.7
    </code></p></div>

    <div class="note"><h3>Note</h3>
      <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
      et peut ainsi s'avérer plus efficace quant aux performances
      d'Apache.</p>
    </div></dd>

    
    <dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
    <dd>
    <p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
    qualifié qui peut être résolu en une ou plusieurs adresses IP par le
    service de noms de domaines DNS. Il représente un hôte logique (par
    opposition aux <var><a href="#domain">Domaine</a></var>s, voir
    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
    d'hôtes avec différentes <var><a href="#ipaddr">adresses
    IP</a></var>).</p>

    <div class="example"><h3>Exemples</h3><p><code>
      prep.ai.example.edu<br />
      www.example.org
    </code></p></div>

    <div class="note"><h3>Note</h3>
      <p>Dans de nombreuses situations, il est plus efficace de
      spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
      <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
      recherche DNS. La résolution de nom dans Apache httpd peut prendre un
      temps très long lorsque la connexion avec le serveur de noms
      utilise une liaison PPP lente.</p>
      <p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
      compte de la casse, et les parties droites des <var>Noms de serveur</var>
      sont toujours censées correspondre à la racine de l'arborescence
      DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
      <code>www.example.com.</code> (notez le point à la fin du nom) sont
      considérés comme identiques.</p>
     </div></dd>
    </dl>

<h3>Voir aussi</h3>
<ul>
<li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxy" id="proxy">Directive</a> <a name="Proxy" id="Proxy"><Proxy></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Proxy <var>url-avec-jokers</var>> ...</Proxy></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>Les directives situées dans une section <code class="directive"><Proxy></code> ne s'appliquent qu'au contenu
    mandaté concerné. Les jokers de style shell sont autorisés.</p>

    <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un
    contenu via votre serveur mandataire que les hôtes appartenant à
    <code>votre-reseau.example.com</code> :</p>

    <pre class="prettyprint lang-config"><Proxy "*">
  Require host votre-reseau.example.com
</Proxy></pre>


    <p>Dans l'exemple suivant, tous les fichiers du répertoire
    <code>foo</code> de <code>example.com</code> seront traités par le
    filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
    l'intermédiaire du serveur mandataire :</p>

    <pre class="prettyprint lang-config"><Proxy "http://example.com/foo/*">
  SetOutputFilter INCLUDES
</Proxy></pre>


    <div class="note"><h3>Différences avec la section de configuration Location</h3>
      <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si
      elle commence par la <var>url-avec-jokers</var>, même si le
      dernier segment de chemin de la directive ne correspond qu'à un
      préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, <Proxy
      "http://example.com/foo"> correspondra entre autres aux URLs
      http://example.com/foo, http://example.com/foo/bar, et
      http://example.com/foobar. La correspondance de l'URL finale
      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,
      traitera le segment de chemin final comme s'il se terminait par un
      slash.</p>
      <p>Pour un contrôle plus fin de la correspondance des URL, voir la
      directive <code class="directive"><ProxyMatch></code>.</p>
    </div>


<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#proxymatch"><ProxyMatch></a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxy100continue" id="proxy100continue">Directive</a> <a name="Proxy100Continue" id="Proxy100Continue">Proxy100Continue</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmission du message "100-continue" au serveur d'origine</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Proxy100Continue Off|On</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Proxy100Continue On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.40 du serveur HTTP Apache</td></tr>
</table>
    <p>Cette directive permet de contrôler le transfert par le mandataire du
    message "100-continue" (<em>Expect:</em>ation) vers le serveur d'origine. Si
    elle est définie à "On", le serveur d'origine décidera lui-même si le corps
    de la requête HTTP doit être lu. Si elle est définie à "Off", le mandataire
    générera lui-même une réponse intermédiaire <em>100 Continue</em> avant de
    transférer le corps de la requête.</p>
    <div class="note"><h3>Contexte d'utilisation</h3>
     <p>Cette option n'est utilisable qu'avec les mandataires HTTP gérés par
     <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyaddheaders" id="proxyaddheaders">Directive</a> <a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux
en-têtes X-Forwarded-*</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
</table>
    <p>Cette directive permet de passer au serveur d'arrière-plan des
    informations à propos du mandataire via les en-têtes HTTP
    X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p>
    <div class="note"><h3>Utilité</h3>
     <p>Cette option n'est utile que dans le cas du mandat HTTP traité
     par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>.</p>
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxybadheader" id="proxybadheader">Directive</a> <a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a></h2>
<table class="directive">
<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
incorrectes d'une réponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>La directive <code class="directive">ProxyBadHeader</code> permet de
    déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
    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>
    <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
    passerelle). C'est le comportement par défaut.</dd>

    <dt><code>Ignore</code></dt>
    <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
    pas été envoyées.</dd>

    <dt><code>StartBody</code></dt>
    <dd>A la réception de la première ligne d'en-tête incorrecte, les
    autres en-têtes sont lus et ce qui reste est traité en tant que
    corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
    bogués qui oublient d'insérer une ligne vide entre les
    en-têtes et le corps.</dd>
    </dl>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyblock" id="proxyblock">Directive</a> <a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Termes, serveurs ou domaines bloqués par le
mandataire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>terme</var>|<var>serveur</var>|<var>domaine</var>
[<var>terme</var>|<var>serveur</var>|<var>domaine</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>La directive <code class="directive">ProxyBlock</code> permet de
    spécifier une liste de termes, serveurs et/ou domaines, séparés par
    des espaces. Les requêtes de documents HTTP, HTTPS, FTP vers des
    sites dont les noms contiennent des termes, noms de serveur ou
    domaine correspondants seront <em>bloqués</em> par le serveur
    mandataire. La module proxy va aussi tenter de déterminer les
    adresses IP des éléments de la liste qui peuvent correspondre à des
    noms d'hôtes au cours du démarrage, et les mettra en cache à des
    fins de comparaisons ultérieures. Ceci peut ralentir le démarrage du
    serveur.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"</pre>
</div>

    <p>Notez qu'<code>example</code> suffirait aussi pour atteindre
    ces sites.</p>

    <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p>

    <p>Notez aussi que</p>

    <pre class="prettyprint lang-config">ProxyBlock "*"</pre>


    <p>bloque les connexions vers tous les sites.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxydomain" id="proxydomain">Directive</a> <a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>Cette directive n'a d'utilité que pour les serveurs mandataires
    Apache httpd au sein d'un Intranet. La directive
    <code class="directive">ProxyDomain</code> permet de spécifier le domaine
    par défaut auquel le serveur mandataire apache appartient. Si le
    serveur reçoit une requête pour un hôte sans nom de domaine, il va
    générer une réponse de redirection vers le même hôte suffixé par le
    <var>Domaine</var> spécifié.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote  "*"  "http://firewall.example.com:81"
NoProxy         ".example.com" "192.168.112.0/21"
ProxyDomain     ".example.com"</pre>
</div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyerroroverride" id="proxyerroroverride">Directive</a> <a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus
mandatés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride Off|On [<var>code</var> ...]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La liste de codes d'états a été ajoutée à partir de la version
2.4.47 du serveur HTTP Apache.</td></tr>
</table>
    <p>Cette directive est utile pour les configurations de mandataires
    inverses, lorsque vous souhaitez que les pages d'erreur envoyées
    aux utilisateurs finaux présentent un aspect homogène. Elle permet
    aussi l'inclusion de fichiers (via les SSI de
    <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir
    en conséquence (le comportement par défaut afficherait la page
    d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
    qui sera affiché si cette directive est à "on").</p>

    <p>Cette directive n'affecte pas le traitement des réponses
    informatives (1xx), de type succès normal (2xx), ou de redirection
    (3xx).</p>

    <p>Par défaut, <code class="directive">ProxyErrorOverride</code> affecte toutes les
    réponses avec un code compris entre 400 inclus et 600 exclus.</p>

    <div class="example"><h3>Exemple de configuration par défaut</h3><pre class="prettyprint lang-config">ProxyErrorOverride  On</pre>
</div>

    <p>Pour n'affecter que les réponses possèdant certains codes d'état
    particuliers, vous pouvez spécifier ces derniers sous la forme d'une liste
    en les séparant par des espaces. Les réponses dont le code d'état ne fait
    pas partie de la liste ne seront pas affectées. Vous ne pouvez spécifier que
    des codes d'erreurs, donc compris entre 400 inclus et 600 exclus.</p>

    <div class="example"><h3>Exemple de configuration personnalisée</h3><pre class="prettyprint lang-config">ProxyErrorOverride  On 403 405 500 501 502 503 504</pre>
</div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyiobuffersize" id="proxyiobuffersize">Directive</a> <a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
</table>
    <p>La directive <code class="directive">ProxyIOBufferSize</code> permet
    d'ajuster la taille du tampon interne utilisé comme bloc-note pour
    les transferts de données entre entrée et sortie. La taille minimale
    est de <code>512</code> octets.</p>

    <p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
    valeur.</p>

    <p>Si elle est utilisée avec AJP, cette directive permet de définir
    la taille maximale du paquet AJP en octets. Si la valeur spécifiée
    est supérieure à 65536, elle est corrigée et prend la valeur 65536.
--> --------------------

--> maximum size reached

--> --------------------

[ zur Elbe Produktseite wechseln0.148Quellennavigators  ]