blob: f53bd67cacc05ecabbb9ec92d2d7bd06cdcedd2c [file] [log] [blame]
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision : 1484766 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_proxy_scgi.xml.meta">
<name>mod_proxy_scgi</name>
<description>Module fournissant le support de la passerelle SCGI &agrave;
<module>mod_proxy</module></description>
<status>Extension</status>
<sourcefile>mod_proxy_scgi.c</sourcefile>
<identifier>proxy_scgi_module</identifier>
<compatibility>Disponible depuis la version 2.2.14 d'Apache</compatibility>
<summary>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
chargement de <module>mod_proxy</module>. Il fournit le support du
<a href="http://python.ca/scgi/protocol.txt">protocole SCGI, version
1</a>.</p>
<p>Ainsi, pour &ecirc;tre en mesure de traiter le protocole SCGI,
<module>mod_proxy</module> et <module>mod_proxy_scgi</module>
doivent &ecirc;tre charg&eacute;s dans le serveur.</p>
<note type="warning"><title>Avertissement</title>
<p>N'activez pas la fonctionnalit&eacute; de mandataire avant d'avoir <a
href="mod_proxy.html#access">s&eacute;curis&eacute; votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
votre r&eacute;seau, mais aussi pour l'Internet au sens large.</p>
</note>
</summary>
<seealso><module>mod_proxy</module></seealso>
<seealso><module>mod_proxy_balancer</module></seealso>
<section id="examples"><title>Exemples</title>
<p>Rappelez-vous, pour que les exemples suivants puissent
fonctionner, vous devez activer <module>mod_proxy</module> et
<module>mod_proxy_scgi</module>.</p>
<example><title>Passerelle simple</title>
<highlight language="config">
ProxyPass /scgi-bin/ scgi://localhost:4000/
</highlight>
</example>
<p>La passerelle &agrave; r&eacute;partition de charge n&eacute;cessite le chargement du
module <module>mod_proxy_balancer</module> et d'au moins un module
fournissant un algorithme de r&eacute;partition de charge, comme
<module>mod_lbmethod_byrequests</module> en plus des modules
d&eacute;j&agrave; cit&eacute;s. <module>mod_lbmethod_byrequests</module> est le module
par d&eacute;faut et sera utilis&eacute; dans cet exemple de configuration.</p>
<example><title>Passerelle &agrave; r&eacute;partition de charge</title>
<highlight language="config">
ProxyPass /scgi-bin/ balancer://somecluster/
&lt;Proxy balancer://somecluster&gt;
BalancerMember scgi://localhost:4000
BalancerMember scgi://localhost:4001
&lt;/Proxy&gt;
</highlight>
</example>
</section>
<section id="env"><title>Variables d'environnement</title>
<p>En plus des directives de configuration qui permettent de
contr&ocirc;ler le comportement de <module>mod_proxy</module>, de
nombreuses <dfn>variables d'environnement</dfn> permettent de
contr&ocirc;ler le fournisseur de protocole SCGI :</p>
<dl>
<dt>proxy-scgi-pathinfo</dt>
<dd>Par d&eacute;faut, <module>mod_proxy_scgi</module> ne cr&eacute;era ni
exportera jamais la variable d'environnement
<var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arri&egrave;re-plan
de d&eacute;terminer correctement <var>SCRIPT_NAME</var> et
<var>Script-URI</var>, et de rester en conformit&eacute; avec la section
3.3 de la RFC 3875. Si au contraire vous souhaitez que
<module>mod_proxy_scgi</module> g&eacute;n&egrave;re une estimation la plus
pr&eacute;cise possible de <var>PATH_INFO</var>, d&eacute;finissez cette
variable d'environnement.</dd>
</dl>
</section>
<directivesynopsis>
<name>ProxySCGISendfile</name>
<description>Active l'&eacute;valuation du pseudo en-t&ecirc;te de r&eacute;ponse
<var>X-Sendfile</var></description>
<syntax>ProxySCGISendfile On|Off|<var>nom-en-t&ecirc;te</var></syntax>
<default>ProxySCGISendfile Off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>La directive <directive>ProxySCGISendfile</directive> permet au
serveur cible SCGI de faire servir les fichiers directement par la
passerelle. Ceci s'av&egrave;re b&eacute;n&eacute;fique en mati&egrave;re de performances --
httpd peut alors utiliser <code>sendfile</code> ou d'autres
optimisations, ce qui n'est pas possible si les fichiers passent par
la socket du serveur cible.</p>
<p>L'argument de la directive
<directive>ProxySCGISendfile</directive> d&eacute;termine le comportement
de la passerelle :</p>
<dl>
<dt><code>Off</code></dt>
<dd>Aucun traitement particulier n'est effectu&eacute;.</dd>
<dt><code>On</code></dt>
<dd>La passerelle recherche un en-t&ecirc;te dans la r&eacute;ponse du serveur
cible nomm&eacute; <code>X-Sendfile</code>, et interpr&egrave;te sa valeur comme
le nom du fichier &agrave; servir. L'en-t&ecirc;te est ensuite supprim&eacute; de la
r&eacute;ponse finale. Cet argument produit le m&ecirc;me effet que
<code>ProxySCGISendfile X-Sendfile</code>.</dd>
<dt>toute autre valeur</dt>
<dd>Identique &agrave; <code>On</code>, mais au lieu de rechercher le nom
d'en-t&ecirc;te cod&eacute; en dur, c'est la valeur de l'argument qui constitue
le nom de l'en-t&ecirc;te &agrave; rechercher.</dd>
</dl>
<example><title>Exemple</title>
<highlight language="config">
# Utilise le nom d'en-t&ecirc;te par d&eacute;faut (X-Sendfile)
ProxySCGISendfile On
# Utilise un nom d'en-t&ecirc;te diff&eacute;rent
ProxySCGISendfile X-Send-Static
</highlight>
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ProxySCGIInternalRedirect</name>
<description>Active ou d&eacute;sactive les r&eacute;ponses de redirection interne en
provenance du serveur cible.</description>
<syntax>ProxySCGIInternalRedirect On|Off</syntax>
<default>ProxySCGIInternalRedirect On</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>La directive <directive>ProxySCGIInternalRedirect</directive>
permet au serveur cible de rediriger en interne la passerelle vers
une URL diff&eacute;rente. Cette fonctionnalit&eacute; trouve son origine dans
<module>mod_cgi</module> qui redirige la r&eacute;ponse en interne si
l'&eacute;tat de la r&eacute;ponse est <code>OK</code> (<code>200</code>), et si
la r&eacute;ponse contient un en-t&ecirc;te <code>Location</code> dont la valeur
d&eacute;bute par un slash (<code>/</code>). Cette valeur est interpr&eacute;t&eacute;e
comme une nouvelle URL locale vers laquelle Apache effectue sa
redirection.</p>
<p>De ce point de vue, <module>mod_proxy_scgi</module> fait la m&ecirc;me
chose que <module>mod_cgi</module>, mais vous pouvez en plus
d&eacute;sactiver la fonctionnalit&eacute;.</p>
<example><title>Exemple</title>
<highlight language="config">
ProxySCGIInternalRedirect Off
</highlight>
</example>
</usage>
</directivesynopsis>
</modulesynopsis>