FastCGI-Anweisungen

Die folgenden Konfigurationsparameter steuern das FastCGI-Feature in IBM® HTTP Server.

Anweisung FastCGIAccessChecker

Die Anweisung FastCGIAccessChecker definiert eine FastCGI-Anwendung als verzeichnisspezifischen Zugriffsvalidator.

Anweisung Beschreibung
Syntax FastCGIAccessChecker Dateiname [-compat]
Geltungsbereich Verzeichnis, Position
Standardeinstellung Verzeichnis
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Dateiname

Der Apache-Zugriffsphase geht die Benutzerauthentifizierung voraus. Die HTTP-Header, die mit der Anforderung übergeben werden, bestimmen, ob der Zugriff auf die angeforderte Ressource erteilt wird. Verwenden Sie FastCGI-basierte Berechtigungsprogramme, wenn eine dynamische Komponente an der Zugriffsvalidierung beteiligt ist, wie z. B. die Zeit oder der Status eines Domänenkontos.

Sollte es zu dem Namen der FastCGI-Anwendungsdatei keine passende statische oder externe Serverdefinition geben, wird die Anwendung als dynamische FastCGI-Anwendung gestartet. Falls der Dateiname nicht mit einem Schrägstrich (/) beginnt, interpretiert die Anwendung den Dateinamen relativ zum Serverstammverzeichnis (ServerRoot).

Verwenden Sie die Anweisung FastCgiAccessChecker in den Containern Directory und Location. Beispiel:
<Directory htdocs/protected>
FastCgiAccessChecker fcgi-bin/access-checker
</Directory>

Die Anweisung Mod_fastcgi sendet fast alle Standardumgebungsvariablen, die in der Regel verfügbar sind, an CGI- und FastCGI-Anforderungs-Handler. Alle von einer FastCGI-Anwendung für Zugriffsprüfung in einer Erfolgsantwort (Status: 200) zurückgegebenen Header werden als Umgebungsvariablen an Unterprozesse oder CGI- und FastCGI-Aufrufe übergeben. Alle in einer Misserfolgsantwort zurückgegebenen Header werden an den Client übergeben. Ein FastCGI-konformes Verhalten lässt sich mit der Option -compat einstellen.

Die Anweisung Mod_fastcgi setzt die Umgebungsvariable FCGI_APACHE_ROLE auf ACCESS_CHECKER und gibt damit an, dass die Apache-spezifische Berechtigungsphase durchgeführt wird.

HTTP Server unterstützt keine angepassten Fehlerantworten von FastCGI-Berechtigungsanwendungen. Ausweichmaßnahmen können Sie der Beschreibung der Anwendung ErrorDocument entnehmen. Eine FastCGI-Anwendung kann das Dokument bereitstellen.

Anweisung FastCGIAccessCheckerAuthoritatve

Die Anweisung "FastCGIAccessCheckerAuthoritatve" unterstützt die Weitergabe der Zugriffsprüfung an untergeordnete Module.

Anweisung Beschreibung
Syntax FastCGIAccessCheckerAuthoritative On | Off
Geltungsbereich Verzeichnis, Position
Standardeinstellung FastCGIAccessCheckerAuthoritative On
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte On oder Off

Wenn Sie die Anweisung "FastCgiAccessCheckerAuthoritative" auf Off setzen, wird die Weitergabe der Zugriffsprüfung an untergeordnete Module, die in den Konfigurationsdateien und Dateien modules.c definiert sind, unterstützt, falls die FastCGI-Anwendung den Zugriff nicht aktivieren kann.

Standardmäßig wird die Steuerung nicht weitergegeben. Sollte die Zugriffsprüfung fehlschlagen, wird eine Antwort vom Typ "Nicht zulässig" zurückgegeben. Bevor Sie die Standardeinstellung außer Kraft setzen, müssen Sie sich sorgfältig mit den möglichen Auswirkungen auseinandersetzen.

Anweisung FastCGIAuthenticator

Die Anweisung FastCGIAuthenticator definiert eine FastCGI-Anwendung als Authentifikator für ein bestimmtes Verzeichnis.

Anweisung Beschreibung
Syntax FastCGIAuthenticator Dateiname [-compat]
Geltungsbereich Verzeichnis
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Dateiname

Authentifikatoren überprüfen den Anfordernden durch Abgleich der angegebenen Benutzername/Kennwort-Kombination mit einer Liste oder Datenbank bekannter Benutzer und Kennwörter. Verwenden Sie FastCGI-basierte Authentifikatoren, wenn die Benutzerdatenbank in einem vorhandenen, unabhängigen Programm verwaltet wird oder auf einer anderen Maschine als der Web-Server gespeichert ist.

Sollte es zu dem Namen der FastCGI-Anwendungsdatei keine passende statische oder externe Serverdefinition geben, wird die Anwendung als dynamische FastCGI-Anwendung gestartet. Falls der Dateiname nicht mit einem Schrägstrich (/) beginnt, wird der Dateiname relativ zum Serverstammverzeichnis (ServerRoot) interpretiert.

Verwenden Sie die Anweisung FastCgiAuthenticator in Containern des Typs Directory oder Location zusammen mit den Anweisungen AuthType und AuthName. Diese Anweisung unterstützt nur die Basisauthentifizierung. Für diesen Authentifizierungstyp ist eine Anweisung require oder FastCgiAuthorizer erforderlich.

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

Die Anweisung Mod_fastcgi sendet fast alle Standardumgebungsvariablen, die in der Regel verfügbar sind, an CGI- und FastCGI-Anforderungs-Handler. Alle von einer FastCGI-Authentifizierungsanwendung in einer Erfolgsantwort (Status: 200) zurückgegebenen Header werden als Umgebungsvariablen an Unterprozesse oder CGI- und FastCGI-Aufrufe übergeben. Alle in einer Misserfolgsantwort zurückgegebenen Header werden an den Client übergeben. Ein FastCGI-konformes Verhalten lässt sich mit der Option -compat einstellen.

Die Anweisung Mod_fastcgi setzt die Umgebungsvariable FCGI_APACHE_ROLE auf AUTHENTICATOR und gibt damit an, dass die Apache-spezifische Berechtigungsphase durchgeführt wird.

Diese Anweisung unterstützt keine angepassten Fehlerantworten von FastCGI-Berechtigungsanwendungen. Ausweichmaßnahmen können Sie der Beschreibung der Anwendung ErrorDocument entnehmen. Eine FastCGI-Anwendung kann das Dokument bereitstellen.

Anweisung FastCGIAuthenticatorAuthoritative

Wenn Sie die Anweisung FastCGIAuthenticatorAuthoritative auf Off setzen und die FastCGI-Anwendung den Benutzer nicht authentifizieren kann, kann die Authentifizierung an untergeordnete Module weitergegeben werden, die in den Konfigurationsdateien und Dateien modules.c definiert sind.

Anweisung Beschreibung
Syntax FastCGIAuthenticatorAuthoritative On | Off
Geltungsbereich Verzeichnis
Standardeinstellung FastCgiAuthenticatorAuthoritative On
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte On oder Off

Verwenden Sie diese Anweisung zusammen mit einer sorgfältig geschützten Anweisung "AuthUserFile", die einige wenige Administratorbenutzer enthält.

Standardmäßig wird die Steuerung nicht weitergegeben. Wenn ein Benutzer unbekannt ist, wird eine Antwort vom Typ "Berechtigung erforderlich" zurückgegeben. Bevor Sie die Standardeinstellung außer Kraft setzen, müssen Sie sich sorgfältig mit den möglichen Auswirkungen auseinandersetzen.

Anweisung FastCGIAuthorizer

Die Anweisung FastCGIAuthorizer definiert eine FastCGI-Anwendung als Authentifikator für ein bestimmtes Verzeichnis.

Anweisung Beschreibung
Syntax FastCgiAuthorizer Dateiname [-compat]
Geltungsbereich Verzeichnis
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Dateiname

Berechtigungsprogramme prüfen, ob ein authentifizierter Benutzer auf eine angeforderte Ressource zugreifen darf. Verwenden Sie FastCGI-basierte Berechtigungsprogramme, wenn eine dynamische Komponente an der Berechtigungsentscheidung beteiligt ist, wie z. B. die Zeit oder die Währung der Rechnungen des Benutzers.

Sollte es zu dem Namen der FastCGI-Anwendungsdatei keine passende statische oder externe Serverdefinition geben, wird die Anwendung als dynamische FastCGI-Anwendung gestartet. Falls der Dateiname nicht mit einem Schrägstrich (/) beginnt, wird der Dateiname relativ zum Serverstammverzeichnis (ServerRoot) interpretiert.

Verwenden Sie FastCgiAuthorizer in Containern des Typs Directory oder Location zusammen mit den Anweisungen AuthType und AuthName. Diese Anweisung erfordert eine Authentifizierungsanweisung wie FastCgiAuthenticator, AuthUserFile, AuthDBUserFile oder AuthDBMUserFile.

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

Die Anweisung Mod_fastcgi sendet fast alle Standardumgebungsvariablen, die in der Regel verfügbar sind, an CGI- und FastCGI-Anforderungs-Handler. Alle von einer FastCGI-Authentifizierungsanwendung in einer Erfolgsantwort (Status: 200) zurückgegebenen Header werden als Umgebungsvariablen an Unterprozesse oder CGI- und FastCGI-Aufrufe übergeben. Alle in einer Misserfolgsantwort zurückgegebenen Header werden an den Client übergeben. Ein FastCGI-konformes Verhalten lässt sich mit der Option -compat einstellen.

Die Anweisung Mod_fastcgi setzt die Umgebungsvariable FCGI_APACHE_ROLE auf AUTHORIZER und gibt damit an, dass die Apache-spezifische Berechtigungsphase durchgeführt wird.

Diese Anweisung unterstützt keine angepassten Fehlerantworten von FastCGI-Berechtigungsanwendungen. Ausweichmaßnahmen können Sie der Beschreibung der Anwendung ErrorDocument entnehmen. Eine FastCGI-Anwendung kann das Dokument bereitstellen.

Anweisung FastCGIAuthorizerAuthoritative

Wenn Sie diese Anweisung auf Off setzen, kann die Authentifizierung an untergeordnete Module weitergegeben werden, die in den Konfigurationsdateien und Dateien modules.c definiert sind, falls die FastCGI-Anwendung den Benutzer nicht authentifizieren kann.

Anweisung Beschreibung
Syntax FastCgiAuthorizerAuthoritative Dateiname On | Off
Geltungsbereich Verzeichnis
Standardeinstellung FastCgiAuthorizerAuthoritative Dateiname On
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte On oder Off

Verwenden Sie diese Anweisung zusammen mit einer sorgfältig geschützten Anweisung "AuthUserFile", die einige wenige Administratorbenutzer enthält.

Standardmäßig wird die Steuerung nicht weitergegeben. Wenn ein Benutzer unbekannt ist, wird eine Antwort vom Typ "Berechtigung erforderlich" zurückgegeben. Bevor Sie die Standardeinstellung außer Kraft setzen, müssen Sie sich sorgfältig mit den möglichen Auswirkungen auseinandersetzen.

Anweisung FastCGIConfig

Die Anweisung FastCGIConfig definiert die Standardparameter für alle dynamischen FastCGI-Anwendungen.

Anweisung Beschreibung
Syntax FastCgiConfig Option Option...

Die Anweisung FastCgiConfig hat keinen Einfluss auf statische oder externe Anwendungen.

Geltungsbereich Verzeichnis
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Dynamische Anwendungen werden bei Bedarf gestartet. Bei Spitzenbelastungen werden zusätzliche Anwendungsinstanzen gestartet. Geht der Bedarf zurück, wird die Anzahl der Anwendungsinstanzen verringert. Dieser Prozess wird durch zahlreiche der Optionen bestimmt.
Für Option kann eine der folgenden Angaben (unter Beachtung der Groß-/Kleinschreibung) stehen:
  • appConnTimeout n (0 Sekunden). Die Zeit in Sekunden, die auf das Herstellen einer Verbindung zur FastCGI-Anwendung gewartet werden soll, oder 0 zur Angabe eines blockierenden connect(). Bei Überschreitung des Zeitlimits kommt es zu einem SERVER_ERROR. Bei Werten ungleich null wird die Zeitspanne in einem select() für das Schreiben in den von einem nicht blockierenden connect() zurückgegebenen Dateideskriptor verwendet. Nicht blockierende connect() sind auf vielen Plattformen mit Schwierigkeiten verbunden. Lesen Sie hierzu auch die Informationen zu -idle-timeout. Diese Option erzeugt ähnliche Ergebnisse.
  • idle-timeout n (30 Sekunden). Die zulässige Zeit der Inaktivität (in Sekunden) für die Anwendung FastCGI, nach der die Anforderung abgebrochen wird und das Ereignis mit dem LogLevel "error" protokolliert wird. Der Inaktivitätszeitgeber wird nur auf eine anstehende Verbindung mit der FastCGI-Anwendung angewendet. Antwortet eine Anwendung nicht innerhalb dieser Zeitspanne auf eine Anforderung in der Warteschlange, wird die Anforderung abgebrochen. Falls die Kommunikation mit der Anwendung abgeschlossen ist, jedoch nicht mit dem Client (gepufferte Antwort), findet das Zeitlimit keine Anwendung.
  • autoUpdate none. Diese Option bewirkt, dass das Modul mod_fastcgi vor der Verarbeitung von Anforderungen das Alter der Anwendung auf Platte überprüft. Bei neuen Anwendungen benachrichtigt diese Funktion den Process Manager und stoppt alle aktiven Instanzen der Anwendung. Integrieren Sie diese Art von Funktionalität in die Anwendung. Ein Problem kann sich ergeben, wenn Sie diese Option mit -restart verwenden.
  • gainValue n (0.5). Ein Gleitkommawert zwischen 0 und 1, der als Exponent für die Berechnung der exponentiell abnehmenden Verbindungszeiten als Auslastungsfaktor der derzeit aktiven dynamischen FastCGI-Anwendungen verwendet wird. Alte Werte werden um den Faktor (1 - gainValue) skaliert. Je kleiner der Wert ist, desto stärker wird er verglichen mit dem aktuellen Wert, der um den Faktor gainValue skaliert wird, gewichtet.
  • initial-env name[=value] none. Ein Name-Wert-Paar, das beim Start von Anwendungsinstanzen in der Startumgebung übergeben wird. Wenn Sie eine Variable aus der Apache-Umgebung übergeben möchten, geben Sie nicht das Gleichheitszeichen an. (Wenn die Variable nicht in der Umgebung enthalten ist, wird sie ohne Wert definiert.) Geben Sie zum Definieren einer Variablen ohne einen Wert das Gleichheitszeichen ohne einen Wert an. Diese Option kann mehrfach verwendet werden.
  • init-start-delay n (1 Sekunde). Die Mindestzeit in Sekunden zwischen dem Start von Instanzen dieser Anwendung. Diese Verzögerung verringert die Anforderungen an das System bei der Serverinitialisierung.
  • killInterval n (300 Sekunden). Das killInterval legt fest, wie oft die Richtlinie für das Beenden von Prozessen der dynamischen Anwendungsinstanz innerhalb des Process Managers implementiert wird. Niedrigere Zahlen führen zu einer strikteren Richtlinie, höhere Zahlen dagegen zu einer weniger strikten Richtlinie.
  • listen-queue-depth n (100). Die Tiefe der Warteschlange listen(), die auch als Backlog bezeichnet und von allen Instanzen dieser Anwendung gemeinsam benutzt wird. Bei einer tieferen Warteschlange für eingehende Verbindungen kann der Server sich besser auf Auslastungsschwankungen einstellen, ohne Anforderungen zurückweisen zu müssen. Der Durchsatz wird dadurch nicht erhöht. Das Hinzufügen weiterer Anwendungsinstanzen kann je nach Anwendung und Host den Durchsatz und die Leistung verbessern.
  • maxClassProcesses n (10). Die für eine FastCGI-Anwendung zulässige Höchstzahl aktiver dynamischer Anwendungsinstanzen
  • maxProcesses n (50). Die insgesamt zulässige Höchstzahl aktiver dynamischer FastCGI-Anwendungsinstanzen
  • minProcesses n (5). Die Mindestanzahl dynamischer FastCGI-Anwendungsinstanzen, deren Ausführung der Process Manager immer zulässt und die auch bei mangelndem Bedarf nicht beendet werden.
  • multiThreshhold n (50). Eine ganze Zahl zwischen 0 und 100, die bestimmt, ob eine Instanz einer FastCGI-Anwendung beendet werden soll. Falls momentan mehrere Anwendungsinstanzen aktiv sind, hilft dieses Attribut bei der Entscheidung, ob eine der Instanzen beendet werden soll. Falls nur eine Instanz übrig bleibt, wird stattdessen singleThreshhold verwendet.
  • pass-header header none. Der Name eines in der Anforderungsumgebung übergebenen HTTP-Anforderungsheader. Diese Option macht den Inhalt von Headern für eine CGI-Umgebung verfügbar.
  • priority n (0). Die den Anwendungsinstanzen mit setpriority() zugeordnete Prozesspriorität
  • processSlack n (5 Sekunden). Überschreitet die Summe aller derzeit aktiven dynamischen FastCGI-Anwendungen den Wert von maxProcesses - processSlack, ruft der Process Manager die Richtlinie für die Beendigung von Prozessen auf. Diese Aktion verbessert bei hoher Auslastung den Durchsatz, da einige der meist inaktiven Anwendungsinstanzen vor dem Erreichen des Werts von maxProcesses beendet werden.
  • restart none. Diese Option bewirkt, dass der Process Manager dynamische Anwendungen bei einem Ausfall ähnlich wie statische Anwendungen neu startet.
  • Restart-delay n (5 Sekunden). Die Mindestzeit in Sekunden zwischen dem Neustart ausgefallener Instanzen dieser Anwendung. Diese Verzögerung verhindert, dass eine unterbrochene Anwendung zu viele Systemressourcen bindet.
  • singleThreshhold n (0). Eine ganze Zahl zwischen 0 und 100, die bestimmt, ob die letzte Instanz einer FastCGI-Anwendung beendet werden kann. Wenn der vom Process Manager für die Anwendung berechnete Auslastungsfaktor unter dem angegebenen Schwellenwert liegt, wird die letzte Instanz beendet. Geben Sie einen Wert von etwa 1 an, wenn Sie möchten, dass Ihre ausführbaren Dateien lange Zeit im Leerlaufmodus verbleiben können. Falls der Speicher oder die CPU-Zeit zu einem Problem werden könnte, ist ein Wert um die 100 eher geeignet. Der Wert 0 verhindert, dass die letzte Instanz einer Anwendung beendet wird, und ist gleichzeitig der Standardwert. Es wird nicht empfohlen, diesen Standardwert zu ändern. Dies gilt insbesondere, wenn Sie die Option -appConnTimeout gesetzt haben.
  • startDelay n (3 Sekunden). Die Zeit in Sekunden, die der Web-Server beim Verbindungsversuch zu einer dynamischen FastCGI-Anwendung wartet. Läuft das Intervall ab, wird der Process Manager benachrichtigt, damit eine andere Instanz der Anwendung gestartet werden kann. Wählen Sie für eine wirksame Verzögerung für startDelay einen Wert, der niedriger als der Wert von appConnTimeout ist.
  • updateInterval n (300 Sekunden). Das updateInterval entscheidet darüber, wie oft eine statistische Analyse durchgeführt wird, um festzulegen, was mit dynamischen FastCGI-Anwendungen geschehen soll.

Anweisung FastCGIExternalServer

Die Anweisung FastCGIExternalServer definiert einen Dateinamen als externe FastCGI-Anwendung.

Abgesehen davon, dass die CGI-Anwendung in einem anderen Prozess außerhalb des Web-Servers ausgeführt wird, funktioniert diese Anweisung wie die Anweisung Fastcgiserver.

Anweisung Beschreibung
Syntax FastCgiExternalServer Dateiname -host hostnameport [-appConnTimeout n] FastCgiExternalServer Dateiname -socket Dateiname [-appConnTimeout n]
Geltungsbereich Serverkonfiguration
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte
  • appConnTimeout n (0 Sekunden). Die Zeit in Sekunden, die auf das Herstellen einer Verbindung zur FastCGI-Anwendung gewartet werden soll, oder 0 zur Angabe einer blockierenden connect()-Methode. Bei Überschreitung des Zeitlimits kommt es zu einem SERVER_ERROR. Bei Werten ungleich null wird die Zeitspanne in einer select()-Methode für das Schreiben in den von einer nicht blockierenden connect()-Methode zurückgegebenen Dateideskriptor verwendet. Nicht blockierende connect()-Methoden sind auf vielen Plattformen mit Schwierigkeiten verbunden. Lesen Sie hierzu auch die Informationen zu -idle-timeout. Diese Option erzeugt ähnliche Ergebnisse.
  • Idle-timeout n (30 Sekunden). Die zulässige Zeit der Inaktivität (in Sekunden) für die FastCGI-Anwendung, nach der die Anforderung abgebrochen wird und das Ereignis mit dem LogLevel-Wert "error" protokolliert wird. Der Inaktivitätszeitgeber wird nur auf eine anstehende Verbindung mit der FastCGI-Anwendung angewendet. Falls eine Anforderung für eine Anwendung in eine Warteschlange gestellt wird, aber die Anwendung innerhalb dieses Zeitraums nicht mit einer Schreib- oder Flush-Operation antwortet, wird die Anforderung abgebrochen. Falls die Kommunikation mit der Anwendung abgeschlossen ist, jedoch nicht mit dem Client (gepufferte Antwort), findet das Zeitlimit keine Anwendung.
  • flush none. Es wird eine Schreiboperation an den Client erzwungen, wenn Daten von der Anwendung empfangen werden. Standardmäßig puffert die Option mod_fastcgi Daten, um die Anwendung so schnell wie möglich zu entlasten.
  • host hostname:port none. Der Hostname oder die IP-Adresse und die Nummer des TCP-Port (1-65535), die die Anwendung für die Kommunikation mit dem Web-Server verwendet. Die Optionen -socket und -host schließen sich gegenseitig aus.
  • Pass-header header none. Der Name eines in der Anforderungsumgebung übergebenen HTTP-Anforderungsheader. Diese Option macht den Inhalt von Headern für eine CGI-Umgebung verfügbar.
  • socket file name none.
    • Auf UNIX-Betriebssystemen. Der Dateiname des UNIX-Domänen-Socket, den die Anwendung für die Kommunikation mit dem Web-Server verwendet. Der Dateiname ist relativ zur Option FastCgiIpcDir. Die Optionen -socket und -port schließen sich gegenseitig aus.
    • Auf Windows-Betriebssystemen. Der Name der Pipe, die die Anwendung für die Kommunikation mit dem Web-Server verwendet. Der Name ist relativ zur Option FastCgiIpcDir. Die Optionen -socket und -port schließen sich gegenseitig aus.

Anweisung FastCGIIpcDir

Die Anweisung FastCGIIpcDir gibt das Verzeichnis an, in dem die UNIX-Socket-Dateien für die Kommunikation zwischen den Anwendungen und dem Web-Server gespeichert werden.

Anweisung Beschreibung
Syntax
  • Auf UNIX-Plattformen: FastCgiIpcDir Verzeichnis
  • Auf Windows-Betriebssystemen: FastCgiIpcDir Name
Geltungsbereich Serverkonfiguration
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Verzeichnis oder Name

[AIX][HP-UX][Linux][Solaris] Die Anweisung FastCgiIpcDir gibt das Verzeichnis an, in dem die UNIX-Socket-Dateien für externe FastCGI-Anwendungen gespeichert werden, die für die Kommunikation zwischen den Anwendungen und dem Web-Server verwendet werden. Sollte das Verzeichnis nicht mit einem Schrägstrich (/) beginnen, wird es relativ zum Serverstammverzeichnis (ServerRoot) interpretiert. Falls das Verzeichnis nicht vorhanden ist, versucht die Funktion die Anweisung mit den erforderlichen Berechtigungen zu erstellen. Geben Sie ein Verzeichnis in einem lokalen Dateisystem an. Wenn Sie das Standardverzeichnis oder ein anderes Verzeichnis in /tmp verwenden, schlägt mod_fastcgi fehl, wenn Ihr System die Dateien in regelmäßigen Abständen aus dem Verzeichnis /tmp löscht.

[Windows] Die Anweisung FastCgiIpcDir legt Name als Stammverzeichnis für die benannten Pipes an, die für die Kommunikation zwischen der Anwendung und dem Web-Server verwendet werden. Definieren Sie den Namen im Format >\\.\pipe\pipename. Die Syntax für den Pipe-Namen kann jedes Zeichen mit Ausnahme des Backslash enthalten.

Die Anweisung FastCgiIpcDir muss allen Anweisungen FastCgiServer oder FastCgiExternalServer vorangestellt werden, die UNIX-Sockets verwenden. Verwenden Sie ein lesbares, beschreibbares und ausführbares Verzeichnis für den Web-Server. Keine anderen Personen sollten Zugriff auf dieses Verzeichnis haben.

Anweisung FastCGIServer

Die Anweisung FastCGIServer definiert Dateinamen als statische FastCGI-Anwendungen.

Der Prozessmanager startet eine Instanz der Anwendung mit der Standardkonfiguration, die im Folgenden in runden Klammern angegeben ist. Falls eine statische Anwendung aus irgendeinem Grund abstürzt, erzeugt das Modul mod_fastcgi eine Ersatzinstanz und protokolliert das Ereignis mit der Protokollstufe (LogLevel) Warnung (warn).

Anweisung Beschreibung
Syntax FastCgiServer Dateiname [Optionen]
Geltungsbereich Serverkonfiguration
Standardeinstellung Ohne
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Verzeichnis oder Name
Sie können eine der folgenden Optionen auswählen. Es wird nicht zwischen Groß-/Kleinschreibung unterschieden:
  • appConnTimeout n (0 Sekunden). Die Zeit in Sekunden, die auf das Herstellen einer Verbindung zur FastCGI-Anwendung gewartet werden soll, oder 0 zur Angabe eines blockierenden connect(). Bei Überschreitung des Zeitlimits kommt es zu einem SERVER_ERROR. Bei Werten ungleich null wird die Zeitspanne in einem select() für das Schreiben in den von einem nicht blockierenden connect() zurückgegebenen Dateideskriptor verwendet. Nicht blockierende connect() sind auf vielen Plattformen mit Schwierigkeiten verbunden. Lesen Sie hierzu auch die Informationen zu -idle-timeout. Diese Option erzeugt ähnliche Ergebnisse.
  • Idle-timeout n (30 Sekunden). Die zulässige Zeit der Inaktivität (in Sekunden) für die Anwendung FastCGI, nach der die Anforderung abgebrochen wird und das Ereignis mit dem LogLevel "error" protokolliert wird. Der Inaktivitätszeitgeber wird nur auf eine anstehende Verbindung mit der FastCGI-Anwendung angewendet. Antwortet eine Anwendung nicht innerhalb dieser Zeitspanne auf eine Anforderung in der Warteschlange, wird die Anforderung abgebrochen. Falls die Kommunikation mit der Anwendung abgeschlossen ist, jedoch nicht mit dem Client (gepufferte Antwort), findet das Zeitlimit keine Anwendung.
  • initial-env Name [=Wert] none]none. Ein Name/Wert-Paar, das an die Startumgebung der FastCGI-Anwendung übergeben wird. Wenn Sie eine Variable aus der Apache-Umgebung übergeben möchten, geben Sie nicht das Gleichheitszeichen an. (Wenn die Variable nicht in der Umgebung enthalten ist, wird sie ohne Wert definiert.) Geben Sie zum Definieren einer Variablen ohne einen Wert das Gleichheitszeichen ohne einen Wert an. Sie können diese Option mehrfach angeben.
  • init-start-delay n (1 Sekunde). Die Mindestzeit in Sekunden zwischen dem Start von Instanzen dieser Anwendung. Diese Verzögerung verringert die Anforderungen an das System bei der Serverinitialisierung.
  • Flush none. Es wird eine Schreiboperation an den Client erzwungen, wenn Daten von der Anwendung empfangen werden. Standardmäßig puffert mod_fastcgi Daten, um die Anwendung so schnell wie möglich zu entlasten.
  • Listen-queue-depth n (100). Die Tiefe der Warteschlange listen(), die auch als Backlog bezeichnet und von allen Instanzen dieser Anwendung gemeinsam benutzt wird. Bei einer tieferen Warteschlange für eingehende Verbindungen kann der Server sich besser auf Auslastungsschwankungen einstellen, ohne Anforderungen zurückweisen zu müssen. Der Durchsatz wird dadurch nicht erhöht. Das Hinzufügen weiterer Anwendungsinstanzen kann je nach Anwendung und Host den Durchsatz und die Leistung verbessern.
  • Pass-header header none. Der Name eines in der Anforderungsumgebung übergebenen HTTP-Anforderungsheader. Diese Option macht den Inhalt von Headern für eine CGI-Umgebung verfügbar.
  • processes n (1). Die Anzahl der Anwendungsinstanzen, die bei der Serverinitialisierung erzeugt werden sollen.
  • Priority n (0). Die den Anwendungsinstanzen mit setpriority() zugeordnete Prozesspriorität
  • port n none. Die Nummer des TCP-Port (1-65535), die die Anwendung für die Kommunikation mit dem Web-Server verwendet. Diese Option macht die Anwendung für anderen Maschinen im Netz zugänglich. Die Optionen -socket und -port schließen sich gegenseitig aus.
  • Restart-delay n (5 Sekunden). Die Mindestzeit in Sekunden zwischen dem Neustart ausgefallener Instanzen dieser Anwendung. Diese Verzögerung verhindert, dass eine unterbrochene Anwendung zu viele Systemressourcen bindet.
  • Name der Socket-Datei:
    • Auf UNIX-Plattformen: Der Dateiname des UNIX-Domänen-Socket, den die Anwendung für die Kommunikation mit dem Web-Server verwendet. Das Modul erstellt den Socket in dem mit FastCgiIpcDir angegebenen Verzeichnis. Diese Option macht die Anwendung für andere Anwendungen zugänglich, z. B. cgi-fcgi auf derselben Maschine oder durch die Definition einer externen FastCGI-Anwendung, FastCgiExternalServer. Wenn Sie weder -socket noch -port angeben, generiert das Modul einen UNIX-Domänen-Socket. Die Optionen -socket und -port schließen sich gegenseitig aus.
    • Auf Windows-Betriebssystemen: Der Name der Pipe, die die Anwendung für die Kommunikation mit dem Web-Server verwenden soll. Das Modul erstellt die angegebene Pipe ausgehend von dem mit der Anweisung FastCgiIpcDir benannten Pipe-Stammverzeichnis. Diese Option macht die Anwendung für andere Anwendungen zugänglich, z. B. cgi-fcgi auf derselben Maschine oder durch die Definition einer externen FastCGI-Anwendung, FastCgiExternalServer. Wenn Sie weder -socket noch -port angeben, generiert das Modul einen Namen für die benannte Pipe. Die Optionen -socket und -port schließen sich gegenseitig aus.Falls der Dateiname nicht mit einem Schrägstrich (/) beginnt, wird der Dateiname relativ zum Serverstammverzeichnis (ServerRoot) interpretiert.
[AIX Solaris HP-UX Linux Windows]

Anweisung FastCGIsuEXEC

Die Anweisung FastCGIsuEXEC unterstützt den suEXEC-wrapper.

Anweisung Beschreibung
Syntax FastCgiSuexec On | Off Dateiname
Geltungsbereich Serverkonfiguration
Standardeinstellung FastCgiSuexec Off
Modul mod_fastcgi
Mehrere Instanzen in der Konfigurationsdatei Ja
Werte Die Anweisung FastCgiSuexec setzt voraus, dass suEXEC in Apache für CGI aktiviert ist. Wenn Sie denselben suEXEC-wrapper wie in Apache verwenden möchten, setzen Sie FastCgiSuexec auf On. Wenn Sie einen anderen suEXEC-wrapper verwenden möchten, geben Sie den Dateinamen des suEXEC-wrapper an. Falls der Dateiname nicht mit einem Schrägstrich (/) beginnt, wird der Dateiname relativ zum Serverstammverzeichnis (ServerRoot) interpretiert.

Wenn Sie die Anweisung FastCgiSuexec aktivieren, ist die Position der Definitionen für statische und externe FastCGI-Anwendungen entscheidend. Diese Definitionen übernehmen Benutzer und Gruppe von den Anweisungen User und Group des virtuellen Servers, in dem sie definiert sind. Die Anweisungen User und Group müssen vor den Definitionen der FastCGI-Anwendungen stehen. Damit ist die FastCGI-Anwendung nicht auf den virtuellen Server beschränkt, in dem die Anwendung definiert wurde. Die Anwendung kann Anforderungen von jedem virtuellen Server mit derselben User- und Group-Einstellung verarbeiten. Wenn eine Anforderung für eine FastCGI-Anwendung empfangen wird und keine übereinstimmende Definition mit dem richtigen Benutzer und der richtigen Gruppe vorhanden ist, wird eine dynamische Instanz der Anwendung mit dem richtigen Benutzer und der richtigen Gruppe gestartet. Diese Aktion kann dazu führen, dass mehrere Kopien derselben Anwendung mit unterschiedlichen Benutzern und Gruppen ausgeführt werden. Sollte dies ein Problem verursachen, verhindern Sie den Aufruf der Anwendung durch andere virtuelle Server, oder konfigurieren Sie die virtuellen Server mit derselben User- und Group-Einstellung.

Nähere Informationen zu suEXEC und den Auswirkungen auf die Sicherheit finden Sie in der Apache-Dokumentation.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=rihs_fcgidirs
Dateiname:rihs_fcgidirs.html