| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!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=ISO-8859-1" http-equiv="Content-Type" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_proxy_fcgi - Serveur Apache HTTP 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 Apache HTTP 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_fcgi</h1> |
| <div class="toplang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de FastCGI à |
| <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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_fcgi_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fcgi.c</td></tr> |
| <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table> |
| <h3>Sommaire</h3> |
| |
| <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de |
| <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. 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>, |
| <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> |
| 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>, |
| <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> n'est pas en mesure de démarrer le |
| processus de l'application ; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> 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> |
| |
| <div class="warning"><h3>Avertissement</h3> |
| <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> |
| </div> |
| </div> |
| <div id="quickview"><h3>Sujets</h3> |
| <ul id="topics"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> |
| </ul><h3 class="directives">Directives</h3> |
| <p>Ce module ne fournit aucune directive.</p> |
| <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_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> |
| <ul class="seealso"> |
| <li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> |
| <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> |
| <li><code class="module"><a href="../mod/mod_authnz_fcgi.html">mod_authnz_fcgi</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="examples" id="examples">Exemples</a></h2> |
| <p>Pour que ces exemples fonctionnent, vous ne devez pas oublier |
| d'activer <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et |
| <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p> |
| |
| <div class="example"><h3>Instance d'application unique</h3><pre class="prettyprint lang-config">ProxyPass "/mon_appli/" "fcgi://localhost:4000/"</pre> |
| </div> |
| |
| |
| <p><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> interdisant par défaut la |
| réutilisation des connexions, lorsqu'une requête a été traitée, la |
| connexion ne sera pas maintenue ouverte par le processus enfant |
| httpd, et ne sera donc pas réutilisée. Cependant, si l'application |
| FastCGI supporte les connexions httpd simultanées, vous pouvez opter |
| pour la réutilisation des connexions comme dans l'exemple suivant :</p> |
| |
| <div class="example"><h3>Instance d'application unique, réutilisation |
| des connexions (versions 2.4.11 et supérieures)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre> |
| </div> |
| |
| <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://. La conservation des connexions est activée.</p> |
| <div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre> |
| </div> |
| |
| <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> |
| <div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config"> # A ce jour, UDS ne supporte pas la réutilisation des connexions |
| ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre> |
| </div> |
| |
| <p>La passerelle à répartition de charge nécessite le chargement du |
| module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module |
| fournissant un algorithme de répartition de charge, comme |
| <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules |
| déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module |
| par défaut et sera utilisé dans cet exemple de configuration.</p> |
| |
| <div class="example"><h3>Passerelle à répartition de charge vers plusieurs |
| instances de l'application</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/" |
| <Proxy "balancer://myappcluster/"> |
| BalancerMember "fcgi://localhost:4000" |
| BalancerMember "fcgi://localhost:4001" |
| </Proxy></pre> |
| </div> |
| |
| <p>Vous pouvez aussi forcer le traitement d'une requête en tant que |
| requête de mandataire inverse en créant un court-circuiteur de |
| gestionnaire approprié. Dans l'exemple ci-dessous, toutes les |
| requêtes pour des scripts PHP seront transmises au serveur FastCGI |
| spécifié par mandat inverse. Cette fonctionnalité est disponible à |
| partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons |
| de performances, il est recommandé de définir un <a href="mod_proxy.html#workers">worker (configuration d'un |
| mandataire)</a> représentant le même serveur fcgi:// d'arrière-plan. |
| Avec cette configuration, il est possible d'effectuer une |
| correspondance directe entre l'URI et le chemin du fichier sur le |
| serveur, et le chemin local du fichier sera alors transmis au serveur |
| d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est |
| en mesure de calculer le PATH_INFO le plus approprié. |
| </p> |
| <div class="example"><h3>Mandataire via un gestionnaire</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$"> |
| # Note : la seule partie variable est /path/to/app.sock |
| SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" |
| </FilesMatch> |
| # Définition d'une configuration de mandataire qui convient. |
| # La partie qui est mise en correspondance avec la valeur de |
| # SetHandler est la partie qui suit le "pipe". Si vous devez faire |
| # une distinction, "localhost" peut être changé en un nom de serveur |
| # unique. |
| <Proxy "fcgi://localhost/" enablereuse=on max=10> |
| </Proxy> |
| |
| <FilesMatch ...> |
| SetHandler "proxy:fcgi://localhost:9000" |
| </FilesMatch> |
| |
| <FilesMatch ...> |
| SetHandler "proxy:balancer://myappcluster/" |
| </FilesMatch></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="env" id="env">Variables d'environnement</a></h2> |
| <p>En plus des directives de configuration qui contrôlent le |
| comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, 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, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> 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 <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> 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. Cette variable peut être |
| multivaluée afin de pouvoir choisir la valeur la plus appropriée |
| (versions 2.4.11 et supérieures) : |
| <dl> |
| <dt>first-dot</dt> |
| <dd>PATH_INFO est extrait à partir du slash qui suit le |
| <em>premier</em> "." de l'URL.</dd> |
| <dt>last-dot</dt> |
| <dd>PATH_INFO est extrait à partir du slash qui suit le |
| <em>dernier</em> "." de l'URL.</dd> |
| <dt>full</dt> |
| <dd>PATH_INFO est calculé en supposant que l'URL correspond au |
| chemin du système de fichiers.</dd> |
| <dt>unescape</dt> |
| <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses |
| séquences d'échappement décodées.</dd> |
| <dt>toute autre valeur</dt> |
| <dd>PATH_INFO correspond à la partie chemin de l'URL. |
| Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd> |
| </dl> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p> |
| </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> |
| <script type="text/javascript"><!--//--><![CDATA[//><!-- |
| var comments_shortname = 'httpd'; |
| var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html'; |
| (function(w, d) { |
| if (w.location.hostname.toLowerCase() == "httpd.apache.org") { |
| d.write('<div id="comments_thread"><\/div>'); |
| var s = d.createElement('script'); |
| s.type = 'text/javascript'; |
| s.async = true; |
| s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; |
| (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); |
| } |
| else { |
| d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); |
| } |
| })(window, document); |
| //--><!]]></script></div><div id="footer"> |
| <p class="apache">Copyright 2016 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/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></div><script type="text/javascript"><!--//--><![CDATA[//><!-- |
| if (typeof(prettyPrint) !== 'undefined') { |
| prettyPrint(); |
| } |
| //--><!]]></script> |
| </body></html> |