Annexe A. Utilisation de commandes de Caching Proxy

Cette rubrique est la liste de référence des commandes de serveur proxy.

cgiparse, commande

Objet

La commande cgiparse analyse la variable d'environnement QUERY_STRING des scripts CGI. Si cette variable n'est pas définie, la commande lit les caractères CONTENT_LENGTH dans l'entrée standard. Toutes les sorties renvoyées sont enregistrées dans la sortie standard.

Syntaxe

   cgiparse -Indicateurs [Modificateur]

Paramètres

Les indicateurs et leurs équivalents sous forme de caractère unique, (-k -f -v -r -i -s -p -c -q -P) sont présentés ci-dessous, ainsi que leur fonction :

-keywords | -k
Recherche les mots clés dans la variable QUERY_STRING. Les mots clés sont décodés et enregistrés dans la sortie standard, sur des lignes distinctes.
-form | -f
Analyse QUERY_STRING en tant que demande de formulaire. Renvoie une chaîne qui, une fois évaluée par le shell, définit des variables de shell composées du préfixe FORM_ et d'un nom de zone. Les valeurs des zones correspondent au contenu des variables.
-value nom-zone | -v nom-zone
Analyse QUERY_STRING en tant que demande de formulaire. Renvoie uniquement la valeur de nom-zone.
-read | -r
Lit les caractères de la variable CONTENT_LENGTH dans l'entrée standard et les enregistre dans la sortie standard.
-init | -i
Si la variable QUERY_STRING n'est pas définie, la commande lit la valeur de l'entrée standard et renvoie une instruction SET qui affecte cette valeur à la variable QUERY_STRING. Cette commande peut être utilisée avec les méthodes GET et POST. L'utilisation type de cette commande est la suivante :
eval 'cgiparse -init'

Cette commande définit la variable d'environnement QUERY_STRING, quelle que soit la méthode employée (GET ou POST).

cgiparse peut être appelée plusieurs fois dans un même script quand la méthode GET est utilisée ; avec la méthode POST, cette commande ne peut être appelée qu'une fois. Lorsque la méthode POST est utilisée après la lecture de l'entrée standard, la commande cgiparse suivante trouve l'entrée standard et se bloque (elle attend indéfiniment).

-sep séparateur | -s séparateur
Indique la chaîne utilisée pour séparer les valeurs. Si vous utilisez l'indicateur -value, le séparateur par défaut est une nouvelle ligne. Si vous utilisez l'indicateur -form, le séparateur par défaut est une virgule (,).
-prefix préfixe | -p préfixe
Utilisée avec -POST et -form, indique le préfixe à indiquer pour créer les noms de variables d'environnement. Le préfixe par défaut est "FORM_".
-count | -c
Utilisée avec -keywords, -form, et -value, renvoie le nombre d'éléments liés à ces indicateurs.
-keywords | -k
Renvoie le nombre de mots clés.
-form | -f
Renvoie le nombre de zones uniques (les valeurs multiples comptent pour une unité).
-value nom-zone | -v nom-zone
Renvoie le nombre de valeurs pour nom-zone (s'il n'existe aucune zone appelée nom-zone, la valeur 0 est renvoyée).
-numéro
Utilisée avec -keywords, -form et -value, renvoie l'occurrence spécifiée en fonction de ces indicateurs.
-keywords
Renvoie le nième mot clé. (Par exemple -2 -keywords renvoie le deuxième mot clé.)
-form
Renvoie toutes les valeurs de la nième zone. (Par exemple -2 -form renvoie toutes les valeurs de la deuxième zone.)
-value nom-zone
Renvoie la nième valeur de la zone nom-zone. (Par exemple -2 -value -whatsit renvoie la deuxième valeur de la zone whatsit).
-quiet | -q
Supprime tous les messages d'erreur. (Un état de sortie non nul indique encore une erreur.)
-POST | -P
Les informations contenues dans l'entrée standard (ou si un nom de fichier est attendu, le fichier stdin) sont directement décodées et analysées dans les variables du shell, sans que la variable QUERY_STRING soit utilisée. -POST équivaut à l'utilisation consécutive des options -init et -form.

Exemples

Les exemples suivants ne tiennent pas compte du fait que la variable QUERY_STRING est en réalité déjà définie par le serveur. Dans les exemples suivants, $ est l'invite du shell Bourne.

Résultats

0
Succès
1
Ligne de commande incorrecte
2
Variables d'environnement définies de manière incorrecte
3
Les informations demandées n'ont pas été extraites (par exemple, aucune zone ou variable QUERY_STRING du type indiqué ne contient de mot clé lors d'une demande portant sur les valeurs de zone d'un formulaire)
Remarque :
Lorsque l'un de ces codes d'erreur s'affiche, vous pouvez également recevoir des messages explicatifs. Leur contenu varie en fonction de la commande lancée.

cgiutils, commande

Objet

Utilisez la commande cgiutils dans les programmes nph (no-parse header) pour générer une réponse HTTP 1.0 complète.

Remarque :
Si vous voulez fournir vos propres programmes nph pour que des valeurs personnelles soient renvoyées, le nom du programme doit commencer par nph-. L'en-tête du serveur ne remplace pas votre valeur personnelle par la valeur de retour standard du serveur.

Syntaxe

cgiutils -Indicateur [Modificateur]

Si Modificateur contient des espaces, mettez-le entre guillemets ("").

Paramètres

-version
Renvoie les informations de version.
-nodate
Ne renvoie pas l'en-tête Date:.
-noel
Ne renvoie pas une ligne vide après les en-têtes. Cet indicateur permet d'insérer d'autres en-têtes MIME après la ligne d'en-tête initiale.
-status nnn
Renvoie une réponse HTTP complète avec le code d'état nnn au lieu d'un ensemble d'en-têtes HTTP. N'utilisez pas cet indicateur si vous voulez uniquement l'en-tête Expires:.
-reason explication
Indique la ligne d'explication de la réponse HTTP. Vous pouvez également utiliser cet indicateur avec l'indicateur -status nnn.
-ct [type/sous-type]
Indique l'en-tête MIME Content-Type. Cet exemple présente un type de contenu MIME texte/html :
   cgiutils -ct text/html

Si vous n'indiquez pas le type/sous-type, le type de contenu MIME devient text/plain par défaut. Cet exemple définit un type de contenu MIME text/plain.

   cgiutils -ct
-ce codage
Indique l'en-tête MIME Content-Encoding. Par exemple :
   cgiutils -ce  x-compress
-cl code-langue
Indique l'en-tête MIME Content-Language. Par exemple :
   cgiutils -cl en_UK
-length nnn
Indique l'en-tête MIME Content-Length.
-expires Durée
Indique l'en-tête MIME Expires:. Cet indicateur définit la durée de vie (date d'expiration) d'un document en utilisant une combinaison de jours, de minutes et de secondes. Il correspond à la durée de validité d'un document. Par exemple :
   cgiutils
-expires 2 jours 12 heures

La commande cgiutils ajoute la durée indiquée à l'heure GMT (Greenwich Mean Time) en cours pour déterminer la date d'expiration. Cette dernière est ajoutée dans l'en-tête Expires: au format HTTP.

-expires now
Génère un en-tête Expires: correspondant à l'en-tête Date:.
-uri URI
Indique l'URI (Universal Resource Identifier) du document renvoyé. Un URI peut être assimilé à une URL.
-extra xxx: yyy
Indique un en-tête supplémentaire qu'il serait impossible de définir autrement avec la commande cgiutils.

Exemples

htadm, commande

Objet

La commande htadm permet de contrôler les fichiers de mots de passe du serveur. Ce dernier utilise des fichiers de mots de passe pour contrôler les accès aux fichiers. Vous pouvez ajouter un nom d'utilisateur dans un fichier de mots de passe, supprimer un utilisateur, vérifier le mot de passe d'un utilisateur et créer un fichier de mots de passe vide. Vous pouvez également modifier le mot de passe d'un utilisateur en supprimant le mot de passe avant d'en créer un autre.

Remarque :
Pour ajouter un utilisateur et modifier ou vérifier un mot de passe à l'aide de la commande htadm, vous devez entrer le mot de passe sur la ligne de commande. Du fait que la commande détruit rapidement le mot de passe saisi à la ligne de commande, il est très improbable que vous puissiez connaître cette information en examinant le processus en cours d'exécution (à l'aide de la commande ps, par exemple).

Syntaxe

htadm -Indicateur  [Modificateur]

Paramètres

-adduser fichier-mots-de-passe nom-utilisateur [mot de passe [ nom]]
Ajoute un utilisateur et un mot de passe dans le fichier de mots de passe. Si vous entrez la commande en spécifiant uniquement le paramètre fichier-mots-de-passe, le système vous invite à fournir les autres paramètres.
fichier-mots-de-passe
Chemin et nom du fichier de mots de passe dans lequel vous voulez ajouter l'utilisateur.
nom-utilisateur
Nom de l'utilisateur à ajouter.

Utilisez des caractères alphanumériques et aucun caractère spécial.

La commande échoue s'il existe un utilisateur du même nom dans le fichier de mots de passe.

mot de passe
Mot de passe que vous voulez définir pour le nom d'utilisateur.

Les mots de passe peuvent comporter jusqu'à 32 ;caractères. Utilisez des caractères alphanumériques et aucun caractère spécial.

Remarques :
  1. Certains navigateurs ne peuvent pas lire ni envoyer des mots de passe de plus de huit caractères. Lorsque le mot de passe comporte plus de huit caractères, le serveur peut reconnaître le mot de passe tout entier ou les huit premiers caractères uniquement.
  2. Les majuscules sont différenciées des minuscules dans le nom d'utilisateur de l'administrateur et son mot de passe même si elles ne sont pas différenciées dans le système d'exploitation. Veillez à saisir le nom d'utilisateur et le mot de passe exacts lorsque vous utilisez la commande htadm pour accéder aux formulaires.
nom-réel
Commentaire ou nom à utiliser pour identifier le nom d'utilisateur que vous ajoutez. Toutes les données entrées sont enregistrées dans le fichier de mots de passe.
-deluser password-file [user-name]
Supprime un utilisateur dans le fichier de mots de passe. Si vous entrez la commande en spécifiant uniquement le paramètre fichier-mots-de-passe, le système vous invite à fournir le nom-utilisateur.
fichier-mots-de-passe
Chemin et nom du fichier de mots de passe dans lequel vous voulez supprimer un utilisateur.
nom-utilisateur
Nom de l'utilisateur à supprimer. La commande échoue si le nom d'utilisateur indiqué n'existe pas dans le fichier de mots de passe.
-passwd fichier-mots-de-passe [nom-utilisateur [ mot-de-passe]]
Modifie le mot de passe pour un nom d'utilisateur déjà défini dans le fichier de mots de passe. Si vous entrez la commande en spécifiant uniquement le paramètre fichier-mots-de-passe, le système vous invite à fournir les autres paramètres.
fichier-mots-de-passe
Chemin et nom du fichier de mots de passe contenant le nom d'utilisateur pour lequel vous voulez modifier le mot de passe.
nom-utilisateur
Nom de l'utilisateur pour lequel vous voulez modifier le mot de passe. La commande échoue si le nom d'utilisateur indiqué n'existe pas dans le fichier de mots de passe.
mot de passe
Nouveau mot de passe que vous voulez définir pour le nom d'utilisateur.

Les mots de passe peuvent comporter jusqu'à 32 ;caractères. Utilisez des caractères alphanumériques et aucun caractère spécial.

Remarques :
  1. Certains navigateurs ne peuvent pas lire ni envoyer des mots de passe de plus de huit caractères. Lorsque le mot de passe comporte plus de huit caractères, le serveur peut reconnaître le mot de passe tout entier ou les huit premiers caractères uniquement.
  2. Les majuscules sont différenciées des minuscules dans le nom d'utilisateur de l'administrateur et son mot de passe même si elles ne sont pas différenciées dans le système d'exploitation. Veillez à saisir le nom d'utilisateur et le mot de passe exacts lorsque vous utilisez la commande htadm pour accéder aux formulaires.
-check fichier-mots-de-passe [nom-utilisateur [ mot-de-passe]]
Vérifie le mot de passe correspondant à un nom d'utilisateur déjà défini dans le fichier de mots de passe et vous indique s'il est correct ou non. Si vous entrez la commande en spécifiant uniquement le paramètre fichier-mots-de-passe, le système vous invite à fournir les autres paramètres.
fichier-mots-de-passe
Chemin et nom du fichier de mots de passe contenant le nom d'utilisateur pour lequel vous voulez vérifier le mot de passe.
nom-utilisateur
Nom de l'utilisateur pour lequel vous voulez vérifier le mot de passe. La commande échoue si le nom d'utilisateur indiqué n'existe pas dans le fichier de mots de passe.
mot de passe
Mot de passe que vous voulez vérifier. Si le mot de passe que vous entrez correspond à celui que vous avez défini pour le nom d'utilisateur, la commande enregistre Correct dans la sortie standard et ajoute le code retour 0. Si tel n'est pas le cas, la commande enregistre Incorrect dans la sortie standard.
-create fichier-mots-de-passe
Crée un fichier de mots de passe vide.
fichier-mots-de-passe
Chemin et nom du fichier de mots de passe que vous voulez créer.

Exemples

htcformat, commande

Objet

La commande htcformat permet de préparer une unité en mode brut ou un fichier pour y stocker la mémoire cache du proxy. Cette commande de formatage doit être lancée avant que l'unité soit configurée à cette fin.

Le chemin de l'unité doit indiquer l'unité en mode brut. Pour plus de détails sur la méthode d'accès aux unités en mode brut, consultez la documentation de votre système de fichiers. Vous trouverez également des exemples dans la Configuration de fonction de mise en cache du serveur proxy.

Remarque :
Les noyaux Linux 2.2 ne prennent pas en charge la mise en mémoire cache sur des unités en mode brut. Sur les plateformes Linux, seuls les fichiers et la mémoire peuvent être utilisés pour une mise en mémoire cache.

La taille minimale d'une mémoire cache Caching Proxy est de 16392 ko, soit 2049 blocs.

Syntaxe

htcformat unité [-blocksize <taille bloc>] [-blocks nombre de blocs>]
htcformat -file chemin du fichier [-blocksize taille bloc] -blocks nombre de blocs

Paramètres

-blocksize
Définit la taille des blocs sur l'unité de mémoire cache. La taille des blocs est indiquée en octets. La valeur par défaut est 8192 et doit être utilisée dans toutes les situations.
-blocks
Nombre de blocs à créer sur l'unité ou dans le fichier. Lors du formatage d'un fichier, cet argument est requis pour indiquer la taille du fichier. Cet argument permet également de limiter la quantité réservée à la mémoire cache sur une unité ou dans une partition donnée. Si aucun argument blocks n'est indiqué, le nombre de blocs créés dépend de la capacité de la partition.
-file
Formate un fichier et non une unité de stockage.

Utilisation

Le système de mise en mémoire cache classe les fichiers ou les unités dans des conteneurs pour l'indexation et la récupération de place. La taille des conteneurs est fixée à un certain nombre de blocs et ne peut être configurée. Pour que la récupération de place fonctionne, deux conteneurs au minimum sont requis ; la taille minimale de la mémoire cache est de 16392 ko.

La commande htcformat n'accepte pas une demande de formatage faisant appel à une unité de mise en mémoire cache comportant moins de deux conteneurs.

Exemples

L'exemple suivant formate une partition de disque appelée c0t0d0s0 sous Solaris.

htcformat /dev/rdsk/c0t0d0s0 

L'exemple suivant formate une partition de disque appelée lv02 sous AIX.

htcformat /dev/rlv02

L'exemple suivant formate une partition de disque appelé d: sous Windows.

htcformat \\.\d:

L'exemple suivant formate un fichier appelé filecache de manière à ce que sa taille représente environ 1 Go.

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

ibmproxy, commande

Objet

La commande ibmproxy permet de démarrer le serveur.

Vous pouvez définir tous ces indicateurs (à l'exception de -r) en utilisant les directives dans le fichier de configuration du serveur.

Il est d'usage de créer un fichier README qui contient des instructions ou des remarques que doit lire tout nouvel utilisateur du répertoire. Par défaut, ibmproxy intègre le fichier README dans la version hypertexte d'un répertoire. Les instructions du fichier README peuvent également être définies à l'aide de la directive de configuration DirReadme.

Syntaxe

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

Paramètres

-nobg
Exécute le serveur en tant que processus d'avant-plan et non d'arrière-plan. Par défaut, le serveur est exécuté en tant que processus d'arrière-plan.
-nosnmp
Désactive la prise en charge de SNMP.
-p numéro-port
Etablit une connexion à ce numéro de port. Le numéro de port par défaut est 80. Cet indicateur supplante la directive Port indiquée dans le fichier de configuration. Pour utiliser la valeur par défaut ou la valeur indiquée dans le fichier de configuration, ne spécifiez pas cet indicateur.
-r fichier-configuration
Indique le fichier à utiliser en tant que fichier de configuration. Vous devez utiliser cet indicateur pour démarrer le serveur avec un fichier de configuration autre que celui défini par défaut. Vous pouvez ainsi utiliser plusieurs fichiers de configuration.
-restart
Redémarre le serveur en cours d'exécution. La commande ibmproxy extrait le numéro de processus du serveur en cours d'exécution dans le fichier PidFile et envoie celui-ci au signal HangUP (HUP). Elle recharge ensuite les fichiers de configuration et ouvre à nouveau les fichiers journaux. Pour éviter tout risque d'altération, évitez d'exécuter simultanément deux instances du serveur ayant les mêmes fichiers PidFile, fichiers journaux et mémoire cache du proxy.

Etant donné que le démon http doit lire le fichier de configuration utilisé par le serveur pour accéder au fichier PidFile, vous devez indiquer le même fichier de configuration lors du redémarrage. Si vous avez utilisé l'indicateur -r et un fichier de configuration donné lors du démarrage du serveur, vous devez spécifier cet indicateur et ce même fichier avec -restart.

-snmp
Active la prise en charge de SNMP.
-unload
Sous Linux, cette commande supprime les règles de pare-feu associées.

Les options de traitement des signaux existent également sur les plateformes Linux et UNIX. Sur les plateformes Linux et UNIX, les options suivantes sont disponibles.

SIGTERM
La commande ibmproxy s'arrête et se ferme une fois le processus terminé. Vous pouvez utiliser SIGKILL ou CANCEL pour arrêter le processus immédiatement.
SIGHUP
S'il est actif, relance ibmproxy, recharge le fichier de configuration et continue le traitement.

Exemples