Manuel utilisateur
Version 1.9 — Rev. 3

# Contexte CGI

#### Description

Un contexte CGI definit les scripts d'un repertoire donne comme scripts CGI. Ce repertoire peut se trouver dans la racine des documents ou en dehors. Lorsqu'un fichier de ce repertoire est demande, le serveur tente toujours de l'executer comme script CGI, qu'il soit executable ou non. Ainsi, le contenu des fichiers sous un contexte CGI reste protege et ne peut pas etre lu comme contenu statique. Il est recommande de placer tous les scripts CGI dans un repertoire et de configurer un contexte CGI pour y acceder.

### URI

#### Description

Indique l’URI de ce contexte.

#### Syntaxe

L’URI peut etre une URI simple (commencant par "/") ou une URI d’expression reguliere compatible Perl (commencant par "exp:"). Si une URI simple se termine par "/", ce contexte inclura toutes les sous-URI sous cette URI. Si le contexte est mappe vers un repertoire du systeme de fichiers, un "/" final doit etre ajoute.

#### Voir aussi

Emplacement

### Chemin

#### Description

Indique l’emplacement des scripts CGI.

#### Syntaxe

Le chemin peut etre un repertoire contenant un groupe de scripts CGI, comme $VH_ROOT/myapp/cgi-bin/. Dans ce cas, le contexte URI doit se terminer par "/", comme /app1/cgi/. Le Chemin peut aussi indiquer un seul script CGI, comme $VH_ROOT/myapp/myscript.pl. Ce script doit avoir le URI correspondant /myapp/myscript.pl.

### Operations d’en-tete

#### Description

Indique les en-tetes de reponse/requete supplementaires a ajouter. Plusieurs directives d’en-tete peuvent etre ajoutees, une directive par ligne. "NONE" peut desactiver l’heritage des en-tetes parents. Si aucune directive n’est fournie, 'Header' est supposee.

#### Syntaxe

[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]

#### Exemple

set Cache-control no-cache
append Cache-control no-store
Header set My-header cust_header_val
RequestHeader set My-req-header cust_req_header_val

#### Conseils

Information La syntaxe et l’utilisation sont similaires aux directives mod_headers d’Apache pour les operations prises en charge.
Information La directive 'Header' est facultative et peut etre exclue ou conservee lors de la copie de regles sans probleme.

### Autoriser Set UID

#### Description

Indique si le bit set UID est autorise pour les scripts CGI. Si le bit set UID est autorise et active pour un script CGI, l’ID utilisateur du processus CGI passera a l’ID utilisateur du proprietaire du script CGI, quel que soit l’utilisateur pour lequel le script a ete lance.
La valeur par defaut est "Off".

#### Syntaxe

Sélectionner avec les boutons radio

#### Conseils

Security N’autorisez pas les scripts CGI Set UID lorsque c’est possible, car c’est intrinsequement un risque de securite.

### Realm

#### Description

Indique le realm d’autorisation pour ce contexte. Lorsqu’il est indique, un nom d’utilisateur et un mot de passe valides doivent etre fournis pour acceder a ce contexte. Realms d'autorisation sont configures dans la section Hôte virtuel - Sécurité. Ce parametre utilise le Nom du realm de chaque realm.

#### Syntaxe

Sélectionner dans la liste déroulante

### Nom d’authentification

#### Description

Indique un nom alternatif pour le realm d’autorisation du contexte actuel. S’il n’est pas indique, le nom original du realm sera utilise. Le nom d’authentification est affiche dans la fenetre de login du navigateur.

### Require (utilisateurs/groupes autorises)

#### Description

Indique quels utilisateurs/groupes peuvent acceder a ce contexte. Cela permet d’utiliser une base de donnees utilisateur/groupe (indiquee dans Realm) sur plusieurs contextes, tout en n’autorisant que certains utilisateurs/groupes de cette base pour ce contexte.

#### Syntaxe

La syntaxe est compatible avec la directive Require d’Apache. Par exemple:

- user username [username ...]
  Seuls les utilisateurs listes peuvent acceder a ce contexte.
- group groupid [groupid ...]
  Seuls les utilisateurs appartenant aux groupes listes peuvent acceder a ce contexte.

Si ce parametre n’est pas indique, tous les utilisateurs valides pourront acceder a cette ressource.

### Acces autorise

#### Description

Indique quelles IPs ou sous-reseaux sont autorises a acceder aux ressources sous ce contexte. Avec Acces refuse et le controle d’acces de niveau serveur/hote virtuel, l’accessibilite est determinee par le plus petit perimetre dans lequel se trouve l’adresse IP du client.

#### Syntaxe

Liste d’IPs/sous-reseaux separee par des virgules.

#### Exemple

Les sous-reseaux peuvent etre ecrits sous la forme 192.168.1.0/255.255.255.0, 192.168.1 ou 192.168.1.*.

### Acces refuse

#### Description

Indique quelles IPs ou sous-reseaux ne sont PAS autorises a acceder aux ressources sous ce contexte. Avec Acces autorise et le controle d’acces de niveau serveur/hote virtuel, l’accessibilite est determinee par le plus petit perimetre dans lequel se trouve l’adresse IP du client.

#### Syntaxe

Liste d’IPs/sous-reseaux separee par des virgules.

#### Exemple

Les sous-reseaux peuvent etre ecrits sous la forme 192.168.1.0/255.255.255.0, 192.168.1 ou 192.168.1.*.

### Authorizer

#### Description

Indique une application externe pouvant generer des decisions autorise/non autorise. Actuellement, seul FastCGI Authorizer est disponible. Pour plus de details sur le role FastCGI Authorizer, consultez https://fastcgi-archives.github.io/ .

#### Syntaxe

Sélectionner dans la liste déroulante

### Ajouter le charset par defaut

#### Description

Indique s’il faut ajouter une balise de jeu de caracteres a l’en-tete de reponse "Content-Type", lorsque le type de contenu est "text/html" ou "text/plain" sans parametres. Avec Off, cette fonction est desactivee. Avec On, le jeu de caracteres indique par Charset par defaut personnalise ou le defaut "iso-8859-1" sera ajoute.

#### Syntaxe

Sélectionner avec les boutons radio

### Charset par defaut personnalise

#### Description

Indique un jeu de caracteres a utiliser lorsque Ajouter le charset par defaut vaut On. C’est facultatif. La valeur par defaut est iso-8859-1. Cette entree n’a aucun effet lorsque Ajouter le charset par defaut vaut Off.

#### Syntaxe

Nom d’un jeu de caracteres.

#### Exemple

utf-8

### Activer rewrite

#### Description

Indique s’il faut activer le moteur de réécriture d’URL de LiteSpeed. Cette option peut être personnalisée au niveau hôte virtuel ou contexte, et elle est héritée le long de l’arborescence de répertoires jusqu’à être explicitement remplacée.

#### Syntaxe

Sélectionner avec les boutons radio

### Heriter rewrite

#### Description

Indique s’il faut heriter les regles rewrite des contextes parents. Si rewrite est active et non herite, la base rewrite et les regles rewrite definies dans ce contexte seront utilisees.

#### Syntaxe

Sélectionner avec les boutons radio

### Base rewrite

#### Description

Indique l’URL de base pour les regles rewrite.

#### Syntaxe

URL

### Règles de réécriture

#### Description

Indique une liste de règles de réécriture au niveau hôte virtuel.
N’ajoutez PAS ici de règles de réécriture au niveau racine des documents. Si vous avez des règles de réécriture au niveau racine des documents provenant de .htaccess, vous devez plutôt créer un contexte statique avec uri "/" et y ajouter les règles de réécriture.
Une règle de réécriture comprend une directive RewriteRule et peut être précédée, facultativement, de plusieurs directives RewriteCond.

- Chaque directive doit tenir sur une seule ligne.
- RewriteCond et RewriteRule suivent la syntaxe des directives rewrite d’Apache. Copiez-collez simplement les directives rewrite depuis vos fichiers de configuration Apache.
- Il existe de légères différences entre les implémentations LiteSpeed et Apache mod_rewrite:
  - %\{LA-U:variable\} et %\{LA-F:variable\} sont ignorées par le moteur de réécriture LiteSpeed
  - Deux nouvelles variables serveur sont ajoutées dans le moteur de réécriture LiteSpeed: %\{CURRENT_URI\} représente l’URI actuelle traitée par le moteur de réécriture, et %\{SCRIPT_NAME\} a la même signification que la variable d’environnement CGI correspondante.
  - Le moteur de réécriture LiteSpeed arrête de traiter les règles de réécriture après avoir rencontré un indicateur [L] afin d’éviter les boucles, tandis qu’Apache mod_rewrite n’arrête le traitement des règles de réécriture que pour l’itération actuelle. Ce comportement est similaire à celui de l’indicateur [END] dans Apache mod_rewrite.

L’implémentation du moteur de réécriture LiteSpeed suit les spécifications du moteur de réécriture Apache. Pour plus de détails sur les règles de réécriture, consultez la documentation mod_rewrite d’Apache et le guide Apache de réécriture d’URL .

#### Syntaxe

chaîne

### Activer la recherche GeoLocation

#### Description

Indique s’il faut activer/desactiver la recherche IP Geolocation. Peut etre defini aux niveaux serveur, hote virtuel ou contexte. IP Geolocation est desactivee par defaut lorsque la valeur "Not Set" est utilisee.

#### Syntaxe

Sélectionner avec les boutons radio

#### Voir aussi

Utiliser l’IP client dans l’en-tete, Chemin du fichier DB,