| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
| <!-- English Revision : 1520876 --> |
| <!-- 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_fcgi.xml.meta"> |
| |
| <name>mod_proxy_fcgi</name> |
| <description>Module fournissant le support de FastCGI à |
| <module>mod_proxy</module></description> |
| <status>Extension</status> |
| <sourcefile>mod_proxy_fcgi.c</sourcefile> |
| <identifier>proxy_fcgi_module</identifier> |
| <compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> |
| |
| <summary> |
| <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> |
| |
| <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 |
| 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 |
| 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 |
| serveurs mandataires ouverts sont dangereux non seulement pour |
| votre réseau, mais aussi pour l'Internet au sens large.</p> |
| </note> |
| </summary> |
| |
| <seealso><program>fcgistarter</program></seealso> |
| <seealso><module>mod_proxy</module></seealso> |
| |
| <section id="examples"><title>Exemples</title> |
| <p>Pour que ces exemples fonctionnent, vous ne devez pas oublier |
| d'activer <module>mod_proxy</module> et |
| <module>mod_proxy_fcgi</module>.</p> |
| |
| <example><title>Instance d'application unique</title> |
| <highlight language="config"> |
| ProxyPass /mon_appli/ fcgi://localhost:4000/ |
| </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 |
| suivant :</p> |
| |
| <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 |
| module <module>mod_proxy_balancer</module> et d'au moins un module |
| 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> |
| |
| <example><title>Passerelle à répartition de charge vers plusieurs |
| instances de l'application</title> |
| <highlight language="config"> |
| ProxyPass /myapp/ balancer://myappcluster/ |
| <Proxy balancer://myappcluster/> |
| BalancerMember fcgi://localhost:4000 |
| BalancerMember fcgi://localhost:4001 |
| </Proxy> |
| </highlight> |
| </example> |
| </section> |
| |
| <section id="env"><title>Variables d'environnement</title> |
| <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 |
| ni n'exportera la variable d'environnement <var>PATH_INFO</var>, |
| 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 |
| "estimation la plus exacte possible" de <var>PATH_INFO</var>, |
| 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> |
| </dl> |
| </section> |
| |
| </modulesynopsis> |