<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1520876 -->
+<!-- English Revision : 1641436 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_proxy_fcgi.xml.meta">
<name>mod_proxy_fcgi</name>
-<description>Module fournissant le support de FastCGI à
+<description>Module fournissant le support de FastCGI à
<module>mod_proxy</module></description>
<status>Extension</status>
<sourcefile>mod_proxy_fcgi.c</sourcefile>
<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility>
<summary>
- <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
+ <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
<module>mod_proxy</module>. Il fournit le support du protocole <a
href="http://www.fastcgi.com/">FastCGI</a>.</p>
<p>Ainsi, pour pouvoir traiter le protocole <code>FastCGI</code>,
<module>mod_proxy</module> et <module>mod_proxy_fcgi</module>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
- <p>A la différence de <a
+ <p>A la différence de <a
href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a
href="http://www.fastcgi.com/">mod_fastcgi</a>,
- <module>mod_proxy_fcgi</module> n'est pas en mesure de démarrer le
+ <module>mod_proxy_fcgi</module> n'est pas en mesure de démarrer le
processus de l'application ; <program>fcgistarter</program> est
- fourni à cet effet sur certaines plateformes. Le framework
- applicatif FastCGI utilisé peut aussi fournir la gestion des
+ fourni à cet effet sur certaines plateformes. Le framework
+ applicatif FastCGI utilisé peut aussi fournir la gestion des
processus ou des lancements de programmes externes.</p>
<note type="warning"><title>Avertissement</title>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a
- href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a
+ href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</note>
</summary>
</highlight>
</example>
- <p>Cette application doit être en mesure de gérer plusieurs
- connexions simultanées. Par défaut, <module>mod_proxy</module>
- permet la réutilisation des connexions, si bien que lorsque le
- traitement d'une requête est terminé, le processus enfant httpd
- garde la connexion ouverte, et cette dernière ne sera pas réutilisée
- avant que le même processus httpd ne redirige une autre requête vers
- l'application. Si l'application FastCGI n'est pas en mesure de gérer
- un nombre suffisant de connexions simultanées avec httpd, les
- requêtes peuvent être bloquées jusqu'à ce que l'application ferme
- une connexion existante. Pour remédier à ce problème, on peut
- désactiver la réutilisation des connexions à l'aide de la directive
- <directive>ProxyPass</directive>, comme indiqué dans l'exemple
+ <p>Cette application doit être en mesure de gérer plusieurs
+ connexions simultanées. Par défaut, <module>mod_proxy</module>
+ permet la réutilisation des connexions, si bien que lorsque le
+ traitement d'une requête est terminé, le processus enfant httpd
+ garde la connexion ouverte, et cette dernière ne sera pas réutilisée
+ avant que le même processus httpd ne redirige une autre requête vers
+ l'application. Si l'application FastCGI n'est pas en mesure de gérer
+ un nombre suffisant de connexions simultanées avec httpd, les
+ requêtes peuvent être bloquées jusqu'à ce que l'application ferme
+ une connexion existante. Pour remédier à ce problème, on peut
+ désactiver la réutilisation des connexions à l'aide de la directive
+ <directive>ProxyPass</directive>, comme indiqué dans l'exemple
suivant :</p>
- <example><title>Instance d'application unique, pas de réutilisation
+ <example><title>Instance d'application unique, pas de réutilisation
des connexions</title>
<highlight language="config">
ProxyPass /mon_appli/ fcgi://localhost:4000/ disablereuse=on
</highlight>
</example>
- <p>La passerelle à répartition de charge nécessite le chargement du
+ <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
+ que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
+ L'URL de la requête est implicitement ajoutée au second paramètre.
+ PHP-FPM est à l'écoute de l'hôte et du port qui suivent fcgi://.</p>
+ <example><title>PHP-FPM</title>
+ <highlight language="config">
+ ProxyPassMatch ^/myapp/.*\.php(/.*)?$ fcgi://localhost:9000/var/www/
+ </highlight>
+ </example>
+
+ <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
+ que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
+ Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine
+ unix (UDS). Cette fonctionnalité est disponible à partir de la
+ version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont
+ ajoutés après fcgi://, ils seront ignorés.</p>
+ <example><title>PHP-FPM with UDS</title>
+ <highlight language="config">
+ ProxyPassMatch ^/(.*\.php(/.*)?)$ "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
+ </highlight>
+ </example>
+
+ <p>La passerelle à répartition de charge nécessite le chargement du
module <module>mod_proxy_balancer</module> et d'au moins un module
- fournissant un algorithme de répartition de charge, comme
+ fournissant un algorithme de répartition de charge, comme
<module>mod_lbmethod_byrequests</module> en plus des modules
- déjà cités. <module>mod_lbmethod_byrequests</module> est le module
- par défaut et sera utilisé dans cet exemple de configuration.</p>
+ déjà cités. <module>mod_lbmethod_byrequests</module> est le module
+ par défaut et sera utilisé dans cet exemple de configuration.</p>
- <example><title>Passerelle à répartition de charge vers plusieurs
+ <example><title>Passerelle à répartition de charge vers plusieurs
instances de l'application</title>
<highlight language="config">
ProxyPass /myapp/ balancer://myappcluster/
</section>
<section id="env"><title>Variables d'environnement</title>
- <p>En plus des directives de configuration qui contrôlent le
+ <p>En plus des directives de configuration qui contrôlent le
comportement de <module>mod_proxy</module>, de nombreuses
<dfn>variables d'environnement</dfn> permettent de piloter le
fournisseur du protocole FCGI :</p>
<dl>
<dt>proxy-fcgi-pathinfo</dt>
- <dd>Par défaut, <module>mod_proxy_fcgi</module> ne créera jamais
+ <dd>Par défaut, <module>mod_proxy_fcgi</module> ne créera jamais
ni n'exportera la variable d'environnement <var>PATH_INFO</var>,
- ce qui permet au serveur FCGI d'arrière-plan de déterminer
+ ce qui permet au serveur FCGI d'arrière-plan de déterminer
correctement <var>SCRIPT_NAME</var> et <var>Script-URI</var>, et
- de se conformer à la section 3.3 de la RFC 3875. Si au contraire
- vous avez souhaitez que <module>mod_proxy_fcgi</module> génère une
+ de se conformer à la section 3.3 de la RFC 3875. Si au contraire
+ vous avez souhaitez que <module>mod_proxy_fcgi</module> génère une
"estimation la plus exacte possible" de <var>PATH_INFO</var>,
- définissez la variable d'environnement
+ définissez la variable d'environnement
<var>proxy-fcgi-pathinfo</var>. Ceci peut servir de
- contournement pour une bogue présente dans certaines
- implémentations de FCGI.</dd>
+ contournement pour une bogue présente dans certaines
+ implémentations de FCGI.</dd>
</dl>
</section>