<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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 Apache HTTP Version 2.5</p>
-<img alt="" src="../images/feather.gif" /></div>
+<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.5</a> > <a href="./">Modules</a></div>
<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>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</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>
<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>Voir aussi</h3>
+<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_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<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
<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 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
spécifié via un mandat inverse :
</p>
- <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config"><FilesMatch \.php$>
+ <div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$">
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch></pre>
</div>
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 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>, et utilisant les
+ 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>
<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>
+ <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
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>
+ <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
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 le pooling de
+ connexions est utilisé, chaque domaine d'arrière-plan n'est résolu qu'une
+ seule fois pour chaque processus enfant, et cette résolution est réutilisée
+ 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
<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/
+ <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>
<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>
+ <p>Cette directive permet de définir le nombre de
+ répartiteurs de charge pouvant
+ être ajoutés à ceux déjà configurés pour un
+ serveur virtuel. Elle n'est active que si au minimum un répartiteur
+ a été préconfiguré.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
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<br />
- NoProxy .example.com 192.168.112.0/21<br />
- ProxyDomain .example.com</pre>
+ <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>
chemin virtuel local ; <var>url</var> est une URL partielle pour le
serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
- <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
- utilisée dans un contexte de niveau répertoire.</div>
+ <div class="note"><strong>Note : </strong>Cette directive n'est pas supportée au sein
+ des sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ et <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</div>
<div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
<strong>off</strong> lorsqu'on utilise la directive
caractère <code>'|'</code>, la directive
<code class="directive">RewriteRule</code> doit posséder l'option
<code>[P,NE]</code>.</div>
+
+ <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
+ section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire
+ 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
+ section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> ; cependant, ProxyPass
+ n'interprète pas les expressions rationnelles, et il sera ici
+ nécessaire d'utiliser la directive
+ <code class="directive">ProxyPassMatch</code> à la place.</p>
<p>Supposons que le serveur local a pour adresse
<code>http://example.com/</code> ; alors la ligne</p>
- <pre class="prettyprint lang-config"><Location /mirror/foo/>
- ProxyPass http://backend.example.com/
+ <pre class="prettyprint lang-config"><Location "/mirror/foo/">
+ ProxyPass "http://backend.example.com/"
</Location></pre>
<code>http://example.com/miroir/foo/bar</code> en une requête
mandatée pour <code>http://backend.example.com/bar</code>.</p>
+ <p>Si vous avez besoin d'un configuration de mandataire inverse plus
+ souple, reportez-vous à la documentation de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
+ <code>[P]</code>.</p>
+
<p>La syntaxe alternative suivante est valide, bien qu'elle puisse
induire une dégradation des performances lorsqu'elle est
présente en très grand nombre. Elle possède l'avantage de
permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p>
- <pre class="prettyprint lang-config">ProxyPass /miroir/foo/ http://backend.example.com/</pre>
+ <pre class="prettyprint lang-config">ProxyPass "/miroir/foo/" "http://backend.example.com/"</pre>
<div class="warning">
<p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
du mandat inverse, comme dans l'exemple suivant :</p>
- <pre class="prettyprint lang-config"><Location /mirror/foo/>
- ProxyPass http://backend.example.com/
+ <pre class="prettyprint lang-config"><Location "/mirror/foo/">
+ ProxyPass "http://backend.example.com/"
</Location>
-<Location /mirror/foo/i>
- ProxyPass !
+<Location "/mirror/foo/i">
+ ProxyPass "!"
</Location></pre>
- <pre class="prettyprint lang-config">ProxyPass /mirror/foo/i !
-ProxyPass /mirror/foo http://backend.example.com</pre>
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
+ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
<p>va mandater toutes les requêtes pour <code>/miroir/foo</code>
<code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section
la plus spécifique qui l'emportera.</p>
- <p>Pour les mêmes raisons, les exclusions doivent se situer
- <em>avant</em> les directives <code class="directive">ProxyPass</code>
- générales.</p>
+ <p>Pour les mêmes raisons, les exclusions doivent se situer <em>avant</em>
+ les directives <code class="directive">ProxyPass</code> générales. A partir de la
+ version 2.4.26 du serveur HTTP Apache, la variable
+ d'environnement "no-proxy" est une alternative aux exclusions et constitue
+ le seul moyen de configurer une exclusion pour une directive
+ <code class="directive">ProxyPass</code> dans le contexte d'une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>. 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>
+ <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p>
+
<p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte
les groupements de connexions vers un serveur d'arrière-plan. Les
connexions créées à la demande peuvent être enregistrées dans un
enfants, sauf si un seul processus enfant est autorisé par la
configuration ou la conception du module multi-processus (MPM).</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300</pre>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
</div>
<table class="bordered"><tr><th>Paramètres de BalancerMember</th></tr></table>
<td>-</td>
<td>Valeur constituée d'une simple lettre et définissant l'état
initial de ce serveur cible.
- <table>
- <tr><td>D: le serveur cible est désactivé et n'accepte aucune requête.</td></tr>
- <tr><td>S: le serveur cible est arrêté.</td></tr>
- <tr><td>I: le serveur cible est en mode "erreurs ignorées",
+ <table class="bordered">
+ <tr><td><code>D</code></td><td>le serveur cible est
+ désactivé et n'accepte aucune requête ; sa
+ réactivation sera automatiquement relancée.</td></tr>
+ <tr><td><code>S</code></td><td>le serveur cible est arrêté
+ ; il n'accepte plus de requête et sa réactivation ne sera pas
+ automatiquement relancée.</td></tr>
+ <tr><td><code>I</code></td><td>le serveur cible est en mode "erreurs ignorées",
et sera toujours considéré comme disponible.</td></tr>
- <tr><td>H: le serveur cible est en mode d'attente et ne sera
+ <tr><td><code>H</code></td><td>le serveur cible est en mode d'attente et ne sera
utilisé que si aucun autre serveur n'est disponible.</td></tr>
- <tr><td>E: le serveur cible est en erreur.</td></tr>
- <tr><td>N: le serveur cible est en mode vidage, n'acceptera que
+ <tr><td><code>E</code></td><td>le serveur cible est en erreur.</td></tr>
+ <tr><td><code>N</code></td><td>le serveur cible est en mode vidage, n'acceptera que
les sessions persistantes qui lui appartiennent, et refusera
toutes les autres requêtes.</td></tr>
</table>
limite atteinte, une connexion ne sera pas réutilisée ; elle
sera fermée après un délai variable.
</td></tr>
+ <tr><td>flusher</td>
+ <td>flush</td>
+ <td><p>Le fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
+ Se référer à la documentation de ce module pour plus de détails.</p>
+ </td></tr>
+ <tr><td>secret</td>
+ <td>-</td>
+ <td><p>Le mot de passe utilisé par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Voir
+ la documentation de ce module pour plus de détails.</p>
+ </td></tr>
+ <tr><td>upgrade</td>
+ <td>WebSocket</td>
+ <td><p>Le protocol accepté par <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> dans
+ l'en-tête Upgrade. Voir la documentation de ce module pour plus de
+ détails.</p>
+ </td></tr>
</table>
<td>Off</td>
<td>Si ce paramètre est défini à <code>On</code>, la session va
s'interrompre si le serveur cible est dans un état d'erreur ou
- désactivé. Définissez ce paramètre à On si le serveur
+ désactivé. Définissez ce paramètre à <code>On</code> si le serveur
d'arrière-plan ne supporte pas la réplication de session.
</td></tr>
<tr><td>stickysession</td>
</table>
<p>Exemple de configuration d'un répartiteur de charge</p>
- <pre class="prettyprint lang-config">ProxyPass /special-area http://special.example.com smax=5 max=10
-ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
+ <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://mycluster>
BalancerMember ajp://1.2.3.4:8009
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
<p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
- aucun autre serveur cible n'est disponible</p>
- <pre class="prettyprint lang-config">ProxyPass / balancer://hotcluster/
+ aucun autre serveur cible n'est disponible :</p>
+ <pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/ "
<Proxy balancer://hotcluster>
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
</Proxy></pre>
+ <p><strong>Mot-clés supplémentaires de ProxyPass</strong></p>
+
<p>Normalement, mod_proxy va mettre sous leur forme canonique les
URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
certains serveurs d'arrière-plan, et en particulier avec ceux qui
utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
<var>nocanon</var> modifie ce comportement et permet de transmettre
le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
- que ceci peut affecter la sécurité de votre serveur d'arrière-plan,
+ que ce mot-clé peut affecter la sécurité de votre serveur d'arrière-plan,
car la protection limitée contre les attaques à base d'URL que
fournit le mandataire est alors supprimée.</p>
(disponible à partir de la version 2.4.1) permet d'exclure cette
chaîne.</p>
- <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
- section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire
- 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
- section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> ; cependant, ProxyPass
- n'interprète pas les expressions rationnelles, et il sera ici
- nécessaire d'utiliser la directive
- <code class="directive">ProxyPassMatch</code> à la place.</p>
-
- <p>Cette directive ne peut pas être placée dans une section
- <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou
- <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</p>
+
- <p>Si vous avez besoin d'un configuration de mandataire inverse plus
- souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
- <code>[P]</code>.</p>
+
<p>Le mot-clé optionnel <var>interpolate</var>, en combinaison avec la directive
<code class="directive">ProxyPassInterpolateEnv</code>, permet à ProxyPass
RewriteRule . - [E=protocol:https]
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
-ProxyPassReverse /mirror/foo/ http://backend.example.com/
-ProxyPassReverse /mirror/foo/ https://backend.example.com/</pre>
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
<code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant
de remplacer la chaîne <code>${nom_var}</code> dans les directives
de configuration par la valeur de la variable d'environnement
- <code>nom_var</code> (si l'option <var>interpolate</var> est
- spécifiée).</p>
+ <code>nom_var</code> si l'option <var>interpolate</var> est
+ spécifiée.</p>
<p>Conservez cette directive à off (pour les performances du
serveur), sauf si vous en avez réellement besoin.</p>
<p>Supposons que le serveur local a pour adresse
<code>http://example.com/</code> ; alors</p>
- <pre class="prettyprint lang-config">ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com/$1</pre>
+ <pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"</pre>
<p>va provoquer la conversion interne de la requête locale
<em>avant</em> les substitutions d'expressions rationnelles (et
doit aussi l'être après). Ceci limite les correspondances que vous
pouvez utiliser. Par exemple, si l'on avait utilisé</p>
- <pre class="prettyprint lang-config">ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1</pre>
+ <pre class="prettyprint lang-config"> ProxyPassMatch "^(/.*\.gif)$"
+ "http://backend.example.com:8000$1"</pre>
<p>dans l'exemple précédent, nous aurions provoqué une erreur de
syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
ASF bugzilla), et il est possible de la contourner en reformulant
la correspondance :</p>
- <pre class="prettyprint lang-config">ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1</pre>
+ <pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
</div>
</p>
<p><var>chemin</var> est le nom d'un chemin virtuel local.
- <var>url</var> est une URL partielle pour le serveur distant - ils
- sont utilisés de la même façon qu'avec la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <var>url</var> est une URL partielle pour le serveur distant. Ces
+ paramètres s'utilisent de la même façon qu'avec la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
<p>Supposons par exemple que le serveur local a pour adresse
<code>http://example.com/</code> ; alors</p>
- <pre class="prettyprint lang-config">ProxyPass /mirror/foo/ http://backend.example.com/
-ProxyPassReverse /mirror/foo/ http://backend.example.com/
+ <pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"
+ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
ProxyPassReverseCookieDomain backend.example.com public.example.com
-ProxyPassReverseCookiePath / /mirror/foo/</pre>
+ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
<p>ne va pas seulement provoquer la conversion interne d'une requête
requête mandatée pour <code>http://backend.example.com/bar</code>
(la fonctionnalité fournie par <code>ProxyPass</code>). Il va
aussi s'occuper des redirections que le serveur
- <code>backend.example.com</code> envoie : lorsque
+ <code>backend.example.com</code> envoie lorsque
<code>http://backend.example.com/bar</code> est redirigé par
celui-ci vers <code>http://backend.example.com/quux</code>, Apache
httpd corrige ceci en <code>http://example.com/miroir/foo/quux</code>
définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
<p>Notez que la directive <code class="directive">ProxyPassReverse</code>
- peut aussi être utilisée en conjonction avec la fonctionnalité
- pass-through (<code>RewriteRule ... [P]</code>) du module
+ peut aussi être utilisée en conjonction avec la
+ fonctionnalité de mandataire
+ (<code>RewriteRule ... [P]</code>) du module
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
<code class="directive"><a href="#proxypass">ProxyPass</a></code>
correspondante.</p>
</p><p>
Dans l'exemple fourni avec la directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, la directive :
</p>
- <pre class="prettyprint lang-config">ProxyPassReverseCookiePath / /mirror/foo/</pre>
+ <pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
<p>
va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code>
</table>
<p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
Host: de la requête entrante vers le serveur mandaté, au lieu du nom
- d'hôte spécifié par la directive <code class="directive">ProxyPass</code>.</p>
+ d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
<p>Cette directive est habituellement définie à <code>Off</code>.
Elle est principalement utile dans les configurations particulières
HTTP, vers un autre mandataire capable de les traiter.</p>
<p>Cette directive supporte aussi les configurations de mandataire
- inverse - un serveur web d'arrière-plan peut être intégré dans
+ inverse ; un serveur web d'arrière-plan peut être intégré dans
l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
par un autre mandataire direct.</p>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();