Aide IBM HTTP Server - Directives FastCGI

Directives FastCGI

FastCgiAccessChecker

La directive FastCgiAccessChecker sert à désigner une application FastCGI comme valideur d'accès par répertoire. La phase d'accès à Apache précède l'authentification de l'utilisateur. La décision d'accorder ou non les droits d'accès à la ressource demandée est donc basée sur les en-têtes HTTP soumis avec la demande. Les autoriseurs construits autour d'applications FastCGI sont surtout utiles lorsque la décision d'accorder ou non les droits d'accès est basée en partie sur une composante dynamique telle que l'heure à laquelle la demande d'accès a lieu ou le règlement de la facture d'hébergement par le propriétaire du domaine concerné.

Si le nom de fichier de l'application FastCGI ne correspond à aucune définition statique ou externe, l'application est lancée en tant qu'application FastCGI dynamique. Si le nom de fichier ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot).

FastCgiAccessChecker est utilisée dans les conteneurs Directory (répertoire) et Location (emplacement).

<Directory htdocs/protected>
FastCgiAccessChecker fcgi-bin/access-checker
</Directory>

mod_fastcgi envoie la quasi-totalité des variables d'environnement standard généralement à la disposition des gestionnaires de demandes CGI/FastCGI. Tous les en-têtes renvoyés par une application de validation d'accès dans une réponse positive (Statut : 200) sont transmis aux sous-processus (appels de CGI/FastCGI) en tant que variables d'environnement. Tous les en-têtes renvoyés dans une réponse négative sont transmis au client. Le comportement obéissant à la spécification FastCGI peut être obtenu à l'aide de l'option "-compat".

mod_fastcgi attribue la valeur "ACCESS_CHECKER" à la variable d'environnement "FCGI_APACHE_ROLE" pour indiquer quelle phase d'autorisation (spécifique à Apache) est en cours d'exécution.

Les applications d'autorisation FastCGI ne peuvent pas renvoyer de réponses négatives personnalisées. Vous pouvez utiliser la directive ErrorDocument à la place (le document peut être servi par une application FastCGI).

FastCgiAccessCheckerAuthoritative

L'attribution explicite de la valeur Off à la directive FastCgiAccessCheckerAuthoritative permet de transmettre la responsabilité du contrôle d'accès aux modules de niveau inférieur (tels que définis dans les fichiers Configuration et modules.c) si l'application FastCGI refuse l'accès.

Par défaut, la responsabilité du contrôle d'accès n'est pas transmise aux modules de niveau inférieur et un refus d'accès se traduira par une réponse Forbidden (accès interdit). Réfléchissez bien avant d'invalider ce comportement par défaut.

FastCgiAuthenticator

La directive FastCgiAuthenticator sert à désigner une application FastCGI comme authentificateur par répertoire. Un authentificateur vérifie que le demandeur est bien qui il prétend être en comparant le nom d'utilisateur et le mot de passe qu'il fournit à une liste (ou une base de données) dans laquelle sont répertoriés les utilisateurs et les mots de passe connus. Les authentificateurs construits autour d'applications FastCGI sont surtout utiles lorsque la base de données des utilisateurs est gérée dans un programme existant indépendant ou réside sur une machine autre que celle qui héberge le serveur Web.

Si le nom de fichier de l'application FastCGI ne correspond à aucune définition statique ou externe, l'application est lancée en tant qu'application FastCGI dynamique. Si le nom de fichier ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot).

FastCgiAuthenticator est utilisée dans le conteneur Directory (répertoire) ou Location (emplacement) et doit inclure les directives AuthType et AuthName. Seul le type d'authentification Basic (de base) est pris en charge. Pour fonctionner correctement, FastCgiAuthenticator doit être accompagnée d'une directive "require" ou FastCgiAuthorizer.

<Directory htdocs/protected>
AuthType Basic
AuthName ProtectedRealm
FastCgiAuthenticator fcgi-bin/authenticator
require valid-user
</Directory>

mod_fastcgi envoie la quasi-totalité des variables d'environnement standard généralement à la disposition des gestionnaires de demandes CGI/FastCGI. Tous les en-têtes renvoyés par une application d'authentification dans une réponse positive (Statut : 200) sont transmis aux sous-processus (appels de CGI/FastCGI) en tant que variables d'environnement. Tous les en-têtes renvoyés dans une réponse négative sont transmis au client. Le comportement obéissant à la spécification FastCGI peut être obtenu à l'aide de l'option "-compat".

Mod_fastcgi attribue la valeur "AUTHENTICATOR" à la variable d'environnement "FCGI_APACHE_ROLE" pour indiquer quelle phase d'autorisation (spécifique à Apache) est en cours d'exécution.

Les applications d'autorisation FastCGI ne peuvent pas renvoyer de réponses négatives personnalisées. Vous pouvez utiliser la directive ErrorDocument à la place (une application FastCGI peut servir le document).

FastCgiAuthenticatorAuthoritative

L'attribution explicite de la valeur Off à la directive FastCgiAuthenticatorAuthoritative permet de transmettre la responsabilité de l'authentification aux modules de niveau inférieur (tels que définis dans les fichiers Configuration et modules.c) si l'application FastCGI n'authentifie pas l'utilisateur.

Cette possibilité peut être utilisée conjointement avec un fichier d'utilisateurs (AuthUserFile) bien protégé, dans lequel sont répertoriés les quelques utilisateurs qui bénéficient de pouvoirs administratifs.  

Par défaut, la responsabilité de l'authentification n'est pas dévolue aux modules de niveau inférieur et une demande d'accès par un utilisateur inconnu se traduira par une réponse Authorization Required (autorisation requise).  Réfléchissez bien avant d'invalider ce comportement par défaut.

FastCgiAuthorizer

La directive FastCgiAuthorizer permet de définir une application FastCGI en tant qu'autoriseur par répertoire.  Les autoriseurs accordent ou refusent à un utilisateur authentifiés les droits d'accès à une ressource qu'il a demandé.  Les authoriseurs construit autour d'applications FastCGI sont surtout utiles lorsque la décision d'accorder ou non l'accès est basée en partie sur une composante dynamique telle que l'heure à laquelle la demande d'accès a lieu ou si l'utilisateur a payé sa facture ou non. 

Si le nom de fichier de l'application FastCGI ne correspond à aucune définition statique ou externe, l'application est lancée en tant qu'application FastCGI dynamique.  Si le nom de fichier ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot).

FastCgiAuthorizer est utilisé dans le conteneur Directory ou Location et doit inclure les directives AuthType et AuthName. Pour fonctionner correctement, FastCgiAuthorizer doit être accompagnée d'une directive d'authentification telle que FastCgiAuthenticator, AuthUserFile, AuthDBUserFile ou AuthDBMUserFile.

.

<Directory htdocs/protected>
AuthType Basic
AuthName ProtectedRealm
AuthDBMUserFile conf/authentication-database
FastCgiAuthorizer fcgi-bin/authorizer
</Directory>

mod_fastcgi envoie la quasi-totalité des variables d'environnement standard généralement à la disposition des gestionnaires de demandes CGI/FastCGI.  Tous les en-têtes renvoyés par une application d'authentification dans une réponse positive (Statut : 200) sont transmis aux sous-processus (appels de CGI/FastCGI) en tant que variables d'environnement.  Tous les en-têtes renvoyés dans une réponse négative sont transmis au client.  Le comportement obéissant à la spécification FastCGI peut être obtenu à l'aide de l'option "-compat".

Mod_fastcgi attribue la valeur "AUTHORIZER" à la variable d'environnement "FCGI_APACHE_ROLE" pour indiquer quelle phase d'autorisation (spécifique à Apache) est en cours d'exécution.

Les applications d'autorisation FastCGI ne peuvent pas renvoyer de réponses négatives personnalisées.  Vous pouvez utiliser la directive ErrorDocument à la place (une application FastCGI peut servir le document).

FastCgiAuthorizerAuthoritative

L'attribution explicite de la valeur Off à la directive FastCgiAuthenticatorAuthoritative permet de transmettre la responsabilité de l'authentification aux modules de niveau inférieur (tels que définis dans les fichiers Configuration et modules.c) si l'application FastCGI n'authentifie pas l'utilisateur.

Cette possibilité peut être utilisée conjointement avec un fichier d'utilisateurs (AuthUserFile) bien protégé, dans lequel sont répertoriés les quelques utilisateurs qui bénéficient de pouvoirs administratifs.  

Par défaut, la responsabilité de l'authentification n'est pas dévolue aux modules de niveau inférieur et une demande d'accès par un utilisateur inconnu se traduira par une réponse Authorization Required (autorisation requise).  Réfléchissez bien avant d'invalider ce comportement par défaut.

FastCgiConfig

La directive FastCgiConfig définit les paramètres par défaut de toutes les applications FastCGI dynamiques. Elle n'a aucun effet sur les applications statiques ou externes.

Les applications dynamiques sont démarrées à la demande, et non à l'initialisation du serveur. En cas de demande importante, des instances supplémentaires de l'application sont lancées. Ces instances sont ensuite supprimées (éliminées) à mesure que la demande chute. Ce processus est régi par un grand nombre d'options.

Dans la syntaxe ci-dessus, option représente l'une des options suivantes (la casse des caractères doit être respectée) :

appConnTimeout n (0 seconde)
Délai, en secondes, imparti à une connexion établie avec l'application FastCGI. La valeur 0 indique qu'une méthode connect() bloquante doit être utilisée.  En cas d'expiration de ce délai, une erreur SERVER_ERROR est émise. Toute valeur non nulle spécifie le temps accordé à une méthode select() pour écrire dans le descripteur de fichier renvoyé par une méthode connect() non bloquante.  L'emploi de méthodes connect() non bloquantes entraîne des difficultés sur de nombreuses plateformes. Utilisez plutôt l'option -idle-timeout, qui produit des résultats similaires tout en offrant une meilleure portabilité.
idle-timeout n (30 secondes)
Durée d'inactivité, en secondes, pendant laquelle une application FastCGI peut rester inactive avant que la demande ne soit abandonnée et que l'événement ne soit consigné (au niveau LogLevel error). Le décompte de cette durée a lieu uniquement lorsqu'une connexion avec l'application FastCGI est en suspens.  Si une demande est en attente de traitement par l'application mais que celle-ci ne répond pas (en écrivant et en vidant les données) dans le délai imparti, la demande est abandonnée.  Si la communication avec l'application est terminée, mais que celle avec le client ne l'est pas encore (la réponse étant stockée en mémoire tampon), ce délai ne s'applique pas.
autoUpdate aucune
Avec cette option, mod_fastcgi vérifie l'âge de l'application sur le disque avant de traiter chaque demande.  Si l'application sur le disque est plus récente, le gestionnaire de processus en est informé et il arrête alors toutes les instances de cette application en cours d'exécution.  En général, il est préférable que ce type de fonctionnalité soit intégré dans l'application elle-même (par exemple, toutes les cent demandes, elle détermine s'il y a une version plus récente de son fichier sur le disque et, si tel est le cas, elle s'arrête).  Exceptionnellement, un problème (bogue) peut se produire en cas d'utilisation de cette option avec -restart.
gainValue n (0.5)
Valeur décimale comprise entre 0 et 1, utilisée comme pondérateur dans le calcul du facteur de charge à déclin exponentiel des applications FastCGI dynamiques en cours d'exécution (c'est-à-dire le temps qu'elles ont passé à traiter des demandes au cours du dernier intervalle d'analyse).  Les valeurs de l'intervalle d'analyse précédent sont multipliées par (1 - gainValue), si bien que l'adoption d'une valeur proche de 0 pour gainValue leur donne plus de poids qu'aux valeurs de l'intervalle d'analyse en cours, lesquelles sont multipliées par gainValue.
initial-env nom[=valeur] aucune
Paire nom-valeur à transmettre dans l'environnement initial lorsque les instances de l'application sont engendrées.  Pour transmettre une variable provenant de l'environnement Apache, n'indiquez pas le signe "=" (si la variable ne se trouve pas réellement dans l'environnement, elle sera définie sans valeur).  Pour définir une variable sans valeur, indiquez le signe "=" sans le faire suivre d'aucune valeur. Cette option peut être utilisée de manière répétée pour transmettre plusieurs valeurs.
init-start-delay n (1 seconde)
Délai minimum, en secondes, à respecter entre les démarrages successifs de plusieurs instances d'une même application. Ce délai permet d'étaler les demandes dans le temps et d'éviter ainsi une charge trop importante à l'initialisation du serveur.
killInterval n (300 secondes)
Cet intervalle détermine la périodicité d'appel, dans le gestionnaire de processus, de la routine d'élimination des instances d'application dynamiques. Plus il est faible, plus la routine est appelée fréquemment, et inversement.
listen-queue-depth n (100)
Profondeur de la file d'attente de connexion (listen()) partagée par toutes les instances de cette application.  Plus la file est profonde, plus le serveur est à même de gérer les fluctuations de charge transitoires sans avoir à rejeter les demandes. A noter cependant que la profondeur de la file d'attente est sans effet sur le débit. L'ajout d'instances supplémentaires de l'application peut accroître le débit et les performances, selon l'application et l'hôte.
maxClassProcesses n (10)
Nombre maximal d'instances dynamiques d'une application FastCGI autorisées à s'exécuter simultanément.
maxProcesses n (50)
Nombre maximal d'instances dynamiques d'application FastCGI, toutes applications confondues, qui peuvent s'exécuter simultanément.
minProcesses n (5)
Nombre minimal d'instances dynamiques d'application FastCGI, toutes applications confondues, qui peuvent s'exécuter simultanément sans être éliminées par le gestionnaire de processus (en raison du manque de demande).
multiThreshhold n (50)
Entier compris entre 0 et 100, utilisé pour déterminer si une instance quelconque d'application FastCGI doit être arrêtée.  Si plusieurs instances de l'application sont en cours d'exécution, cet attribut est utilisé pour décider si l'une d'elles doit être arrêtée.  S'il n'en reste qu'une seule, son arrêt est conditionné par le seuil singleThreshhold.
pass-header en-tête aucune
Nom d'un en-tête de demande HTTP à transmettre dans l'environnement de la demande.  Cette option permet de transmettre à un environnement CGI le contenu d'en-têtes (par exemple, l'autorisation) dont il ne dispose pas habituellement.
priority n (0)
Priorité de traitement à attribuer aux instances d'application (à l'aide de setpriority()).
processSlack n (5 secondes)
Si la somme de toutes les applications FastCGI dynamiques en cours d'exécution dépasse la valeur de maxProcesses moins celle de processSlack, le gestionnaire de processus appelle la routine d'élimination. Ce procédé, qui a pour but d'améliorer les performances à charge élevée, élimine certaines des instances d'application les moins actives avant que la limite définie par maxProcesses ne soit atteinte.
restart aucune
Avec cette option, le gestionnaire de processus redémarre les applications dynamiques lorsqu'elles échouent (même procédé que pour les applications statiques).
restart-delay n (5 secondes)
Délai minimal, en secondes, à respecter entre les redémarrages des instances de cette application qui ont échoué.  Ce délai a pour but d'étaler les redémarrages dans le temps afin d'éviter la surcharge du système.
singleThreshhold n (0)
Entier compris entre 0 et 100, utilisé pour déterminer si la dernière instance d'une application FastCGI peut être arrêtée.  Si le facteur de charge de l'application calculé par le gestionnaire de processus est inférieur au seuil spécifié ici, la dernière instance de cette application est arrêtée.   Si vous voulez que vos exécutables puissent rester en "veille" pendant longtemps, vous devez spécifier une valeur proche de 1. Cependant, si vous accordez plus d'importance à la consommation de mémoire et de temps processeur, il est prudent d'adopter un seuil plus proche de 100.  Une valeur égale à 0 empêche l'arrêt de la dernière instance de l'application. Il s'agit de la valeur par défaut et il est déconseillé d'en changer (en particulier si le délai -appConnTimeout est défini explicitement).
startDelay n (3 secondes)
Durée, en secondes, pendant laquelle le serveur Web attend que la tentative de connexion à une application FastCGI dynamique aboutisse.  Si cette durée arrive à expiration, le gestionnaire de processus en est informé et il tente alors de démarrer une autre instance de l'application.  Pour être efficace, startDelay doit être inférieur à appConnTimeout.
updateInterval n  (300 secondes)
updateInterval détermine la périodicité des analyses statistiques visant à décider du sort des applications FastCGI dynamiques.

FastCgiExternalServer

appConnTimeout n (0 seconde)
Délai, en secondes, imparti à une connexion établie avec l'application FastCGI. La valeur 0 indique qu'une méthode connect() bloquante doit être utilisée.  En cas d'expiration de ce délai, une erreur SERVER_ERROR est émise. Toute valeur non nulle spécifie le temps accordé à une méthode select() pour écrire dans le descripteur de fichier renvoyé par une méthode connect() non bloquante.  L'emploi de méthodes connect() non bloquantes entraîne des difficultés sur de nombreuses plateformes. Utilisez plutôt l'option -idle-timeout, qui produit des résultats similaires tout en offrant une meilleure portabilité.
idle-timeout n (30 secondes)
Durée d'inactivité, en secondes, pendant laquelle une application FastCGI peut rester inactive avant que la demande ne soit abandonnée et que l'événement ne soit consigné (au niveau LogLevel error). Le décompte de cette durée a lieu uniquement lorsqu'une connexion avec l'application FastCGI est en suspens.  Si une demande est en attente de traitement par l'application mais que celle-ci ne répond pas (en écrivant et en vidant les données) dans le délai imparti, la demande est abandonnée.  Si la communication avec l'application est terminée, mais que celle avec le client ne l'est pas encore (la réponse étant stockée en mémoire tampon), ce délai ne s'applique pas.
flush aucune
Force l'écriture des données sur le client à mesure qu'elles sont reçues de l'application.  Par défaut, mod_fastcgi stocke les données en mémoire tampon afin de libérer l'application aussi vite que possible.
host nomhôte:port aucune
Nom d'hôte ou adresse IP et numéro de port TCP (1 à 65535) que l'application utilise pour communiquer avec le serveur Web. Les options -socket et -host s'excluent mutuellement.
Pass-header en-tête aucune
Nom d'un en-tête de demande HTTP à transmettre dans l'environnement de la demande.  Cette option permet de transmettre à un environnement CGI le contenu d'en-têtes (par exemple, l'autorisation) dont il ne dispose pas habituellement.
socket nomfichier aucune
UNIX : Nom de fichier de la socket de domaine UNIX que l'application utilise pour communiquer avec le serveur Web.  L'emplacement de ce fichier est relatif au répertoire désigné par FastCgiIpcDir.  Les options -socket et -port s'excluent mutuellement.
Windows NT :  Nom du tube nommé (named pipe) que l'application utilise pour communiquer avec le serveur Web. Ce nom est relatif au répertoire désigné par FastCgiIpcDir.  Les options -socket et -port s'excluent mutuellement.

FastCgiIpcDir

UNIX : La directive FastCgiIpcDir spécifie le répertoire où stocker (et rechercher, dans le cas d'applications FastCGI externes) les fichiers socket UNIX servant à la communication entre les applications et le serveur Web. Si le répertoire indiqué ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot). Si le répertoire n'existe pas, le système tente de le créer avec les droits appropriés. N'indiquez pas de répertoire qui ne se trouve pas dans un système de fichiers local. L'utilisation du répertoire par défaut (ou d'un sous-répertoire de /tmp) provoquera l'échec de mod_fastcgi si votre système supprime périodiquement les fichiers de /tmp.

Windows NT : La directive FastCgiIpcDir spécifie le nom du répertoire racine de stockage des tubes nommés (named pipes) servant à la communication entre l'application et le serveur Web. Ce nom doit être de la forme \\.\pipe\nomtube. La partie nomtube peut contenir n'importe quel caractère, mais pas de barre oblique inversée.

La directive FastCgiIpcDir doit précéder toute directive FastCgiServer ou FastCgiExternalServer (celles-ci utilisant des sockets UNIX). Le serveur Web doit être le seul à pouvoir accéder au répertoire désigné par cette directive. Il doit bénéficier d'un accès en lecture, en écriture et en exécution (recherche).

FastCgiServer

La directive FastCgiServer désigne nomfichier comme application FastCGI statique. Si le nom de fichier ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot).

Par défaut, le gestionnaire de processus démarre une instance unique de l'application avec les valeurs de configuration par défaut indiquées ci-après entre parenthèses. Si une instance d'application statique s'arrête pour une raison quelconque, mod_fastcgi en engendre une autre pour la remplacer et consigne l'événement (au niveau LogLevel warn).

Dans la syntaxe ci-dessus, option représente l'une des options suivantes (la casse des caractères doit être respectée) :

appConnTimeoutn (0 seconde)
Délai, en secondes, imparti à une connexion établie avec l'application FastCGI. La valeur 0 indique qu'une méthode connect() bloquante doit être utilisée.  En cas d'expiration de ce délai, une erreur SERVER_ERROR est émise. Toute valeur non nulle spécifie le temps accordé à une méthode select() pour écrire dans le descripteur de fichier renvoyé par une méthode connect() non bloquante.  L'emploi de méthodes connect() non bloquantes entraîne des difficultés sur de nombreuses plateformes. Utilisez plutôt l'option -idle-timeout, qui produit des résultats similaires tout en offrant une meilleure portabilité.
idle-timeout n (30 secondes)
Durée d'inactivité, en secondes, pendant laquelle une application FastCGI peut rester inactive avant que la demande ne soit abandonnée et que l'événement ne soit consigné (au niveau LogLevel error). Le décompte de cette durée a lieu uniquement lorsqu'une connexion avec l'application FastCGI est en suspens.  Si une demande est en attente de traitement par l'application mais que celle-ci ne répond pas (en écrivant et en vidant les données) dans le délai imparti, la demande est abandonnée.  Si la communication avec l'application est terminée, mais que celle avec le client ne l'est pas encore (la réponse étant stockée en mémoire tampon), ce délai ne s'applique pas.
initial-env nom[=valeur] aucune] aucune
Paire nom-valeur à transmettre dans l'environnement initial de l'application FastCGI.  Pour transmettre une variable provenant de l'environnement Apache, n'indiquez pas le signe "=" (si la variable ne se trouve pas réellement dans l'environnement, elle sera définie sans valeur).  Pour définir une variable sans valeur, indiquez le signe "=" sans le faire suivre d'aucune valeur. Cette option peut être utilisée de manière répétée pour transmettre plusieurs valeurs.
init-start-delay n(1 seconde)
Délai minimum, en secondes, à respecter entre les démarrages successifs de plusieurs instances d'une même application. Ce délai permet d'étaler les demandes dans le temps et d'éviter ainsi une charge trop importante à l'initialisation du serveur.
Flush aucune
Force l'écriture des données sur le client à mesure qu'elles sont reçues de l'application.  Par défaut, mod_fastcgi stocke les données en mémoire tampon afin de libérer l'application aussi vite que possible.
Listen-queue-depth n (100)
Profondeur de la file d'attente de connexion (listen()) partagée par toutes les instances de cette application.  Plus la file est profonde, plus le serveur est à même de gérer les fluctuations de charge transitoires sans avoir à rejeter les demandes. A noter cependant que la profondeur de la file d'attente est sans effet sur le débit. L'ajout d'instances supplémentaires de l'application peut accroître le débit et les performances, selon l'application et l'hôte.
Pass-header en-tête aucune
Nom d'un en-tête de demande HTTP à transmettre dans l'environnement de la demande.  Cette option permet de transmettre à un environnement CGI le contenu d'en-têtes (par exemple, l'autorisation) dont il ne dispose pas habituellement.
processes n (1)
Nombre d'instances de l'application à engendrer lors de l'initialisation du serveur.
Priority n (0)
Priorité de traitement à attribuer aux instances d'application (à l'aide de setpriority()).
port n aucune
Numéro de port TCP (1 à 65535) que l'application utilisera pour communiquer avec le serveur Web.  Cette option permet de rendre l'application accessible à partir d'autres machines du réseau (ainsi qu'à partir de la présente machine).  Les options -socket et -port s'excluent mutuellement.
Restart-delay n (5 secondes)
Délai minimal, en secondes, à respecter entre les redémarrages des instances de cette application qui ont échoué.  Ce délai a pour but d'étaler les redémarrages dans le temps afin d'éviter la surcharge du système.
Socket nomfichier (gen'd)
UNIX : Nom de fichier de la socket de domaine UNIX que l'application utilisera pour communiquer avec le serveur Web.  Le module crée cette socket dans le répertoire spécifié par la directive FastCgiIpcDir.  Cette option rend l'application accessible à d'autres applications (par exemple, cgi-fcgi) sur la même machine ou via une définition d'application FastCGI externe (FastCgiExternalServer).  Si aucune des options -socket et -port n'est indiquée, le module génère lui-même un nom de fichier de socket de domaine UNIX.  Les options -socket et -port s'excluent mutuellement.
Windows NT : Nom du tube nommé (named pipe) que l'application utilisera pour communiquer avec le serveur Web.  Le module crée ce tube dans l'emplacement racine spécifié par la directive FastCgiIpcDir.  Cette option rend l'application accessible à d'autres applications (par exemple, cgi-fcgi) sur la même machine ou via une définition d'application FastCGI externe (FastCgiExternalServer).  Si aucune des options -socket et -port n'est indiquée, le module génère lui-même un nom de tube nommé.  Les options -socket et -port s'excluent mutuellement.

 

FastCgiSuexec

La directive FastCgiSuexec sert à activer le support d'un encapsuleur (wrapper) suexec.  FastCgiSuexec exige l'activation de suexec dans Apache (pour CGI).  Pour utiliser le même encapsuleur que celui d'Apache, attribuez la valeur On à la directive FastCgiSuexec Pour utiliser un encapsuleur différent, indiquez son nom de fichier.  Si ce nom de fichier ne commence pas par une barre oblique (/), il est supposé être relatif à la racine du serveur (ServerRoot).

Dès lors que FastCgiSuexec est activé, l'emplacement des définitions des applications FastCGI statiques ou externes devient très important.  Ces applications héritent en effet de l'ID utilisateur et du groupe spécifiés dans les directives User et Group de l'hôte virtuel dans lequel elles ont été définies.  Les directives User et Group doivent précéder les définitions d'application FastCGI.   Notez qu'une application FastCGI n'est pas pour autant limitée à l'hôte virtuel dans lequel elle a été définie. Elle est autorisée à répondre aux demandes à partir de n'importe quel hôte virtuel s'exécutant avec le même ID utilisateur et le même groupe.  Si une application FastCGI reçoit une demande et qu'il n'existe aucune définition de cette application avec l'ID utilisateur et le groupe demandés, une instance dynamique de l'application est lancée sous l'ID utilisateur et le groupe corrects.   Cela peut conduire à l'existence simultanée de plusieurs exemplaires de l'application s'exécutant chacun sous une combinaison ID utilisateur/groupe différente.  Si cela vous gêne, faites en sorte que la navigation vers l'application soit impossible à partir des autres hôtes virtuels ou configurez ces derniers pour qu'ils s'exécutent sous le même ID utilisateur et le même groupe.

Pour plus de détails sur suexec, consultez la documentation Apache (veillez notamment à bien comprendre les implications en matière de sécurité).

Informations connexes