Anhang A. Caching-Proxy-Befehle verwenden

Dieser Abschnitt enthält eine Referenz für die Caching-Proxy-Befehle.

Befehl cgiparse

Zweck

Verwenden Sie den Befehl cgiparse, um die Umgebungsvariable QUERY_STRING für CGI-Scripts syntaktisch zu analysieren (Parsing). Wenn die Umgebungsvariable QUERY_STRING nicht definiert ist, liest der Befehl die CONTENT_LENGTH-Zeichen aus der Standardeingabe. Die gesamte zurückgegebene Ausgabe wird in die Standardausgabe geschrieben.

Format

   cgiparse -Flag [Wert]

Parameter

Im Folgenden sind die gültigen Flags, die zugehörigen Optionen (-k -f -v -r -i -s -p -c -q -P) und ihre Funktionen aufgeführt:

-keywords | -k
Führt eine syntaktische Analyse von QUERY_STRING nach Schlüsselwörtern durch. Schlüsselwörter werden entschlüsselt und in die Standardausgabe geschrieben - ein Schlüsselwort pro Zeile.
-form | -f
Führt eine syntaktische Analyse von QUERY_STRING als Formularanforderung durch. Gibt eine Zeichenfolge zurück, die bei der Auswertung durch die Shell Shell-Variablen mit dem Präfix FORM_, gefolgt von einem Feldnamen, definiert. Feldwerte sind der Inhalt der Variablen.
-value Feldname | -v Feldname
Führt eine syntaktische Analyse von QUERY_STRING als Formularanforderung durch. Gibt nur den Wert von Feldname zurück.
-read | -r
Liest die CONTENT_LENGTH-Zeichen aus der Standardeingabe und schreibt diese in die Standardausgabe.
-init | -i
Falls QUERY_STRING nicht definiert ist, wird der Wert aus der Standardeingabe gelesen und eine Anweisung SET zurückgegeben, die QUERY_STRING auf diesen Wert setzt. Kann mit den Methoden GET und POST verwendet werden. Eine typische Verwendung ist:
eval 'cgiparse -init'

Dieser Befehl setzt die Umgebungsvariable QUERY_STRING, unabhängig davon, ob die Methode GET oder POST verwendet wurde.

Bei Verwendung der Methode GET kann cgiparse in einem Script mehrfach aufgerufen werden. cgiparse darf bei Verwendung der Methode POST nur einmal angegeben werden. Wenn die Methode POST verwendet wird und die Standardeingabe gelesen wurde, findet der nächste Befehl cgiparse die Standardeingabe leer vor und wartet unbegrenzt.

-sep Trennzeichen | -s Trennzeichen
Gibt die Zeichenfolge an, die zum Trennen mehrerer Werte verwendet wird. Wenn Sie das Flag -value verwenden, ist das Standardtrennzeichen ein Zeilenvorschubzeichen. Wenn Sie das Flag -form verwenden, ist das Standardtrennzeichen ein Komma (,).
-prefix Präfix | -p Präfix
Wenn dieses Flag zusammen mit den Flags -POST und -form verwendet wird, gibt es das Präfix an, das zum Erstellen von Namen für Umgebungsvariablen verwendet werden soll. Der Standardwert ist "FORM_".
-count | -c
Wenn dieses Flag zusammen mit den Flags -keywords, -form und -value verwendet wird, gibt es die Anzahl der Elemente zurück, die sich auf diese Flags beziehen.
-keywords | -k
Gibt die Anzahl Schlüsselwörter zurück.
-form | -f
Gibt die Anzahl der eindeutigen Felder zurück (mehrere Werte werden als ein Feld gezählt).
-value Feldname | -v Feldname
Gibt die Anzahl der Werte für Feldname zurück (wenn es kein Feld mit dem Namen Feldname gibt, ist die Ausgabe 0).
-Zahl
Wird zusammen mit -keywords, -form und -value verwendet und gibt die angegebene Anzahl von Vorkommen in Bezug auf diese Flags zurück.
-keywords
Gibt das nte Schlüsselwort zurück. (Zum Beispiel wird bei der Angabe -2 -keywords das zweite Schlüsselwort zurückgegeben.)
-form
Gibt alle Werte des nten Felds zurück. (Zum Beispiel werden bei der Angabe -2 -form alle Werte des zweiten Felds zurückgegeben.)
-value Feldname
Gibt den nten der Werte von Feld Feldname zurück. (Zum Beispiel wird bei der Angabe -2 -value -whatsit der zweite Wert des Felds whatsit als Ausgabe ausgegeben).
-quiet | -q
Unterdrückt alle Fehlernachrichten. (Ein Exit-Status ungleich Null weist auf einen Fehler hin.)
-POST | -P
Informationen aus der Standardeingabe (oder, falls ein Dateiname verwendet werden soll, die Datei stdin) werden direkt entschlüsselt und in Shell-Variablen aufgelöst. QUERY_STRING wird nicht verwendet. Die Verwendung von -POST entspricht der Verwendung der Optionen -init und -form nacheinander.

Beispiele

In den folgenden Beispielen wird die Tatsache ignoriert, dass QUERY_STRING bereits vom Server definiert wurde. $ steht in den folgenden Beispielen für die Eingabeaufforderung der Bourne-Shell.

Ergebnisse

0
Erfolgreich
1
Ungültige Befehlszeile
2
Umgebungsvariablen nicht korrekt definiert
3
Die angeforderten Informationen konnten nicht abgerufen werden (beispielsweise ist kein solches Feld vorhanden, oder QUERY_STRING enthält Schlüsselwörter, wenn Werte für das Formularfeld angefordert werden.)
Anmerkung:
Wenn einer dieser Fehlercodes angezeigt wird, werden möglicherweise noch weitere Informationsnachrichten ausgegeben. Die Nachricht hängt vom ausgeführten Befehl ab.

Befehl cgiutils

Zweck

Verwenden Sie den Befehl cgiutils in NPH-Programmen (No-Parse Header), um eine vollständige HTTP-1.0-Anwort zu generieren.

Anmerkung:
Wenn Sie Ihre eigenen NPH-Programme zur Verfügung stellen möchten, damit eigene Rückgabewerte zurückgegeben werden, muss der Name des Programms mit nph- beginnen. Auf diese Weise wird verhindert, dass der Server-Header Ihren Rückgabewert mit dem Standardrückgabewert des Servers überschreibt

Format

cgiutils -Flag [Wert]

Wenn der Wert Leerzeichen enthält, setzen Sie ihn in Anführungszeichen ("").

Parameter

-version
Gibt die Versionsnummer zurück.
-nodate
Gibt den Header Date: nicht zurück.
-noel
Gibt nach Headern keine Leerzeile zurück. Dies ist nützlich, wenn den ersten Header-Zeilen weitere MIME-Header folgen sollen.
-status nnn
Gibt die vollständige HTTP-Antwort mit dem Statuscode nnn anstelle einer Teilmenge der HTTP-Header zurück. Verwenden Sie dieses Flag nicht, wenn Sie nur den Header Expires: anzeigen möchten.
-reason Erklärung
Gibt die Ursachenzeile für die HTTP-Antwort an. Sie können dieses Flag nur zusammen mit dem Flag -status nnn verwenden.
-ct [Typ/Subtyp]
Gibt den MIME-Header für den Inhaltstyp an. In diesem Beispiel wird der MIME-Inhaltstyp text/html definiert:
   cgiutils -ct text/html

Wenn Sie den Typ/Subtyp weglassen, wird der MIME-Inhaltstyp auf den Standardwert text/plain festgelegt. In diesem Beispiel wird der MIME-Inhaltstyp auf text/plain festgelegt.

   cgiutils -ct
-ce Codierung
Gibt den MIME-Header für die Inhaltscodierung an. Beispiel:
   cgiutils -ce  x-compress
-cl Sprachencode
Gibt den MIME-Header für die Inhaltssprache an. Beispiel:
   cgiutils -cl en_UK
-length nnn
Gibt den MIME-Header für die Inhaltslänge an.
-expires Zeitangabe
Gibt den MIME-Header für die Verfallszeit (Expires:) an. Dieses Flag gibt die Lebensdauer (das Verfallsdatum eines Dokuments) in einer beliebigen Kombination von Tagen, Stunden, Minuten und Sekunden an. Dies ist die Zeitdauer, die ein Dokument als gültig angesehen wird. Beispiel:
   cgiutils -expires 2 days 12 hours

Mit dem Befehl cgiutils wird die Zeitspanne, die Sie angeben, zur aktuellen Westeuropäischen Zeit addiert, um das Verfallsdatum zu errechnen. Das Verfallsdatum wird im HTTP-Format in den Header Expires: gestellt.

-expires now
Generiert den Header Expires:, der mit dem Header Date: übereinstimmt.
-uri URI
Gibt den URI (Universal Resource Identifier) für das zurückgegebene Dokument an. URI ist synonym mit URL zu verstehen.
-extra xxx: yyy
Gibt einen zusätzlichen Header an, der für den Befehl cgiutils nicht anders angegeben werden kann.

Beispiele

Befehl htadm

Zweck

Verwenden Sie den Befehl htadm, um die Kennwortdateien des Servers zu verwalten. Der Server verwendet Kennwortdateien, um den Zugriff auf Ihre Dateien zu steuern. Mit diesem Befehl können Sie einer Kennwortdatei einen Benutzernamen hinzufügen, einen Benutzer aus einer Kennwortdatei löschen, das Kennwort eines Benutzers überprüfen und eine leere Kennwortdatei erstellen. Außerdem können Sie das Kennwort eines Benutzers ändern, indem Sie zuerst das Kennwort des Benutzers löschen und anschließend ein neues Kennwort erstellen.

Anmerkung:
Wenn Sie den Befehl htadm verwenden, um einen Benutzer hinzuzufügen, ein Kennwort zu ändern oder zu überprüfen, müssen Sie das Kennwort in der Befehlszeile eingeben. Da der Befehl das Kennwort in der Befehlszeile so schnell wie möglich löscht, ist es sehr unwahrscheinlich, dass Sie ein Kennwort eines Benutzer sehen können, indem Sie die Prozessliste auf der Maschine anzeigen (z. B. mit dem Befehl ps).

Format

htadm -Flag  [Wert]

Parameter

-adduser Kennwortdatei Benutzername [Kennwort [echter Name]]
Fügt der Kennwortdatei einen Benutzer und ein Kennwort hinzu. Wenn Sie den Befehl nur mit dem Parameter Kennwortdatei eingeben, werden Sie zur Eingabe der anderen Parameter aufgefordert.
Kennwortdatei
Pfad und Name der Kennwortdatei, die dem Benutzer hinzugefügt werden soll.
Benutzername
Der Name des Benutzers, der hinzugefügt werden soll.

Verwenden Sie nur alphabetische und numerische Zeichen für den Benutzernamen. Verwenden Sie keine Sonderzeichen.

Der Befehl schlägt fehl, wenn es bereits einen Benutzer mit demselben Namen in der Kennwortdatei gibt.

Kennwort
Das Kennwort, das Sie für den Benutzernamen definieren möchten.

Kennwörter können bis zu 32 Zeichen lang sein. Verwenden Sie nur alphabetische und numerische Zeichen für das Kennwort. Verwenden Sie keine Sonderzeichen.

Anmerkungen:
  1. Einige Browser können keine Kennwörter lesen und senden, die länger als acht Zeichen sind. Auf Grund dieser Begrenzung erkennt der Server, wenn Sie ein Kennwort definieren, das länger als acht Zeichen ist, entweder das vollständige Kennwort oder nur die ersten acht Zeichen des Kennworts als gültige Zeichen.
  2. Beim Benutzernamen und Kennwort des Administrators wird zwischen Groß- und Kleinschreibung auch dann unterschieden, wenn das Betriebssystem diese Unterscheidung nicht macht. Geben Sie Benutzernamen und Kennwort mit dem Befehl htadm exakt ein, wenn Sie auf die Konfigurations- und Verwaltungsformulare zugreifen.
echter Name
Ein Kommentar oder Name zur Identifizierung des Benutzernamens, den Sie hinzufügen. Die Eingabe wird in die Kennwortdatei geschrieben.
-deluser Kennwortdatei [Benutzername]
Löscht einen Benutzer aus der Kennwortdatei. Wenn Sie den Befehl nur mit dem Parameter Kennwortdatei eingeben, werden Sie zur Eingabe des Parameters Benutzername aufgefordert.
Kennwortdatei
Der Pfad und Name der Kennwortdatei, in der ein Benutzer gelöscht werden soll.
Benutzername
Der Name des Benutzers, der gelöscht werden soll. Der Befehl schlägt fehl, wenn der Benutzername, den Sie angeben, nicht in der Kennwortdatei vorhanden ist.
-passwd Kennwortdatei [Benutzername [Kennwort]]
Ändert das Kennwort für einen Benutzernamen, der bereits in der Kennwortdatei definiert ist. Wenn Sie den Befehl nur mit dem Parameter Kennwortdatei eingeben, werden Sie zur Eingabe der anderen Parameter aufgefordert.
Kennwortdatei
Pfad und Name der Kennwortdatei, die den Benutzernamen enthält, dessen Kennwort geändert werden soll.
Benutzername
Der Benutzername, dessen Kennwort geändert werden soll. Der Befehl schlägt fehl, wenn der Benutzername, den Sie angeben, nicht in der Kennwortdatei vorhanden ist.
Kennwort
Das neue Kennwort, das Sie für den Benutzernamen definieren möchten.

Kennwörter können bis zu 32 Zeichen lang sein. Verwenden Sie nur alphabetische und numerische Zeichen für das Kennwort. Verwenden Sie keine Sonderzeichen.

Anmerkungen:
  1. Einige Browser können keine Kennwörter lesen und senden, die länger als acht Zeichen sind. Auf Grund dieser Begrenzung erkennt der Server, wenn Sie ein Kennwort definieren, das länger als acht Zeichen ist, entweder das vollständige Kennwort oder nur die ersten acht Zeichen des Kennworts als gültige Zeichen.
  2. Beim Benutzernamen und Kennwort des Administrators wird zwischen Groß- und Kleinschreibung auch dann unterschieden, wenn das Betriebssystem diese Unterscheidung nicht macht. Geben Sie Benutzernamen und Kennwort mit dem Befehl htadm exakt ein, wenn Sie auf die Konfigurations- und Verwaltungsformulare zugreifen.
-check Kennwortdatei [Benutzername [Kennwort]]
Prüft das Kennwort für einen Benutzernamen, der bereits in der Kennwortdatei definiert ist, und gibt die Information aus, ob das Kennwort korrekt ist oder nicht. Wenn Sie den Befehl nur mit dem Parameter Kennwortdatei eingeben, werden Sie zur Eingabe der anderen Parameter aufgefordert.
Kennwortdatei
Pfad und Name der Kennwortdatei, die den Benutzernamen enthält, dessen Kennwort geprüft werden soll.
Benutzername
Der Benutzername, dessen Kennwort geprüft werden soll. Der Befehl schlägt fehl, wenn der Benutzername, den Sie angeben, nicht in der Kennwortdatei vorhanden ist.
Kennwort
Das Kennwort, das geprüft werden soll. Wenn das Kennwort, das Sie eingeben, das Kennwort ist, das für den Benutzernamen definiert ist, schreibt der Befehl Correct in die Standardausgabe und gibt am Ende der Prüfung den Rückkehrcode 0 aus. Wenn das Kennwort, das Sie eingeben, nicht das Kennwort ist, das für den Benutzernamen definiert ist, schreibt der Befehl Incorrect in die Standardausgabe.
-create Kennwortdatei
Erstellt eine leere Kennwortdatei.
Kennwortdatei
Pfad und Name der Kennwortdatei, die erstellt werden soll.

Beispiele

Befehl htcformat

Zweck

Verwenden Sie den Befehl htcformat, um eine unformatierte Einheit oder eine Datei für die Speicherung des Proxy-Server-Cache vorzubereiten. Dieser Formatierungsbefehl muss verwendet werden, bevor die Einheit für den Proxy-Server-Cache angegeben wird.

Im Einheitenpfad muss die unformatierte Einheit angegeben sein. Nähere Informationen zum Zugriff auf unformatierte Einheiten finden Sie in der Dokumentation zu Ihrem Dateisystem. Beispiele sind in Proxy-Server-Caching konfigurieren enthalten.

Anmerkung:
Linux-2.2-Kernel unterstützen kein Caching auf unformatierten Einheiten. Auf Linux-Plattformen können nur Dateien und Hauptspeicher für den Cache verwendet werden.

Die Mindestgröße für einen Caching-Proxy-Cache sind 16.392 KB. Dies entspricht 2.049 Blöcken.

Format

htcformat Einheit [-blocksize <Blockgröße>] [-blocks Anzahl Blöcke]
htcformat -file Dateipfad [-blocksize Blockgröße] -blocks Anzahl Blöcke

Parameter

-blocksize
Definiert die Blockgröße der Cache-Einheit. Die Blockgröße wird in Bytes angegeben. Der Standardwert ist 8.192 und sollte für alle Situationen verwendet werden.
-blocks
Anzahl der Blöcke, die auf der Einheit oder in der Datei erstellt werden sollen. Beim Formatieren einer Datei muss mit diesem Argument die Dateigröße angegeben werden. Dieses Argument kann auch verwendet werden, um die Größe einer bestimmten Einheit oder Partition einzuschränken, die für die Speicherung des Cache verwendet wird. Wenn das Argument -blocks nicht angegeben ist, werden so viele Blöcke erstellt, wie auf die Partition passen.
-file
Formatiert eine Datei anstelle einer Speichereinheit.

Verwendung

Das Caching-System teilt die Cachedateien oder -Einheiten zusätzlich in Container für Indexierung und Garbage-Collection auf. Für die Größe der Container wird eine bestimmte Anzahl von Blöcken festgelegt. Die Größe eines Containers kann nicht konfiguriert werden. Damit die Funktion Garbage-Collection ausgeführt werden kann, sind mindestens zwei Container erforderlich. Die Mindestgröße des Cache beträgt 16.392 KB.

Der Befehl htcformat weist Formatierungsanforderungen für Cache-Einheiten mit weniger als zwei Containern zurück.

Beispiele

Der folgende Beispielbefehl formatiert eine Plattenpartition mit dem Namen c0t0d0s0 unter Solaris.

htcformat /dev/rdsk/c0t0d0s0 

Der folgende Beispielbefehl formatiert eine Plattenpartition mit dem Namen lv02 unter AIX.

htcformat /dev/rlv02

Der folgende Beispielbefehl formiert eine Plattenpartition mit dem Namen d: unter Windows.

htcformat \\.\d:

Der folgende Beispielbefehl erstellt die Datei filecache mit einer Größe von ca. 1 GB.

htcformat -file /opt/ibm/edge/cp/filecache -blocks 131072

Befehl ibmproxy

Zweck

Verwenden Sie den Befehl ibmproxy, um den Server zu starten.

Sie können alle Flags (außer -r) mit den Anweisungen in der Konfigurationsdatei des Servers definieren.

Es ist üblich, eine Readme-Datei mit Anweisungen und Hinweisen zu erstellen, die von allen Benutzern, die anfangen, mit dem Verzeichnis arbeiten, gelesen werden sollte. Standardmäßig bettet der Befehl ibmproxy alle Readme-Dateien in die Hypertextversion eines Verzeichnisses ein. Die Anweisungen für die Readme-Datei können auch mit der Konfigurationsanweisung DirReadme definiert werden.

Format

ibmproxy [-Flag [-Flag [-Flag..]]]

Parameter

-nobg
Führt den Server als Vordergrundprozess und nicht als Hintergrundprozess aus. Standardmäßig wird der Prozess im Hintergrund ausgeführt.
-nosnmp
Inaktiviert die SNMP-Unterstützung.
-p Portnummer
Ist auf dieser Portnummer empfangsbereit. Die Standardportnummer ist 80. Mit diesem Flag wird die Anweisung Port außer Kraft gesetzt, die in der Konfigurationsdatei angegeben ist. Wenn der Standardwert oder der in der Konfigurationsdatei angegebene Wert verwendet werden soll, lassen Sie dieses Flag weg.
-r Konfigurationsdatei
Gibt die Datei an, die als Konfigurationsdatei verwendet werden soll. Sie müssen dieses Flag verwenden, wenn der Server mit einer anderen Konfigurationsdatei als der Standardkonfigurationsdatei gestartet werden soll. Das Flag ermöglicht die Verwendung mehrerer Konfigurationsdateien.
-restart
Startet einen Server erneut, der derzeit ausgeführt wird. Der Befehl ibmproxy ruft die Prozessnummer des aktiven Servers aus der PID-Datei ab und sendet dem Prozess ein HUP-Signal (HangUP). Anschließend werden die Konfigurationsdateien des Servers erneut geladen und die Protokolldateien erneut geöffnet. Es dürfen nicht zwei Instanzen des Servers zur selben Zeit dieselbe PID-Datei, dieselben Protokolldateien und denselben Proxy-Cache verwenden. Dies würde zu einer Beschädigung der Daten führen.

Da der http-Dämon die vom Server derzeit verwendete Konfigurationsdatei lesen muss, um auf die PID-Datei zuzugreifen, müssen Sie beim Neustart dieselbe Konfigurationsdatei angeben. Wenn Sie beim Start des Servers das Flag -r und eine bestimmte Konfigurationsdatei verwendet haben, müssen Sie dieses Flag und diese Datei mit -restart angeben.

-snmp
Aktiviert die SNMP-Unterstützung.
-unload
Unter Linux werden hiermit die zugehörigen Firewall-Regeln entfernt.

Optionen für die Signalverarbeitung sind ebenfalls nur auf Linux- und UNIX-Plattformen verfügbar. Auf Linux- und UNIX-Plattformen stehen folgende Optionen zur Verfügung.

SIGTERM
Der Befehl ibmproxy wird nach Abschluss der aktuellen Verarbeitung beendet. Mit SIGKILL oder CANCEL können Sie die Verarbeitung sofort beenden.
SIGHUP
Falls der Befehl ibmproxy gerade ausgeführt wird, wird er erneut gestartet, und die Konfigurationsdatei wird erneut geladen. Danach wird die Verarbeitung fortgesetzt.

Beispiele