Manuel utilisateur OpenLiteSpeed - Contexte de serveur d'applications
Description: Manuel utilisateur OpenLiteSpeed - Contexte de serveur d'applications.

Manuel utilisateur
Version 1.9 — Rev. 3

# Contexte de serveur d'applications

#### Description

Un contexte de serveur d'applications fournit un moyen simple de configurer une application Ruby Rack/Rails, WSGI ou Node.js. Pour ajouter une application via un contexte de serveur d'applications, il suffit de monter l'URL et d'indiquer le repertoire racine de l'application. Il n'est pas necessaire de definir une application externe, d'ajouter un gestionnaire 404, de configurer des regles de reecriture, etc.

### 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

### Emplacement

#### Description

Indique l’emplacement correspondant de ce contexte dans le systeme de fichiers.
Valeur par defaut: $DOC_ROOT + URI

#### Syntaxe

Il peut s’agir d’un chemin absolu ou d’un chemin relatif a $SERVER_ROOT, $VH_ROOT ou $DOC_ROOT. $DOC_ROOT est le chemin relatif par defaut et peut etre omis.
Si URI est une expression reguliere, la sous-chaine correspondante peut etre utilisee pour former la chaine "Root". Elle peut etre referencee avec les valeurs "$1" - "$9". "$0" et "&" peuvent referencer toute la chaine correspondante. Une chaine de requete peut aussi etre definie en ajoutant "?" suivi de la chaine de requete. Attention: "&" doit etre echappe sous la forme "\&" dans la chaine de requete.

#### Exemple

Une URI simple comme /examples/, avec Emplacement defini sur /home/john/web_examples, mappe la requete "/examples/foo/bar.html" vers le fichier "/home/john/web_examples/foo/bar.html".
Pour simuler mod_userdir d’Apache, definissez URI sur exp: ^/~([A-Za-z0-9]+)(.*), definissez Emplacement sur /home/$1/public_html$2. Avec ces parametres, une requete URI /~john/foo/bar.html sera mappee vers le fichier /home/john/public_html/foo/bar.html.

#### Voir aussi

URI

### Chemin binaire

#### Description

Emplacement du binaire de l’application App Server.

### Type d’application

#### Description

Type d’application utilise pour ce contexte. Rack/Rails, WSGI ou Node.js sont pris en charge.

### Fichier de demarrage

#### Description

Emplacement du fichier utilise pour demarrer l’application, relatif au repertoire racine de l’application.
Les noms de fichier de demarrage par defaut incluent 'config.ru' pour Rack/Rails, 'wsgi.py' et 'passenger_wsgi.py' pour WSGI, et 'app.js' pour NodeJS.

#### Syntaxe

Chemin relatif au repertoire racine de l’application

### Mode d'exécution

#### Description

Indique le mode d'exécution de l'application: "Development", "Production" ou "Staging". La valeur par défaut est "Production".

#### Syntaxe

Sélectionner dans la liste déroulante

### Connexions max.

#### Description

Indique le nombre maximal de connexions concurrentes pouvant etre etablies entre le serveur et une application externe. Ce reglage controle combien de requetes peuvent etre traitees simultanement par une application externe; toutefois, la limite reelle depend aussi de l'application externe elle-meme. Augmenter cette valeur n'aidera pas si l'application externe n'est pas assez rapide ou ne peut pas monter en charge avec un grand nombre de requetes concurrentes.

#### Syntaxe

Nombre entier

#### Conseils

Performance Definir une valeur elevee ne se traduit pas directement par de meilleures performances. Fixer la limite a une valeur qui ne surcharge pas l'application externe donnera les meilleures performances/le meilleur debit.

### Environnement

#### Description

Indique des variables d'environnement supplementaires pour l'application externe.

#### Syntaxe

Key=value. Plusieurs variables peuvent etre separees par "ENTER"

### Activer Expires

#### Description

Indique s’il faut generer un en-tete Expires pour les fichiers statiques. Si active, un en-tete Expires sera genere selon Expires par defaut et Expires par type.
Cela peut etre defini aux niveaux serveur, hote virtuel et contexte. Les parametres de niveau inferieur remplaceront ceux de niveau superieur, c’est-a-dire que les parametres de contexte remplaceront ceux de l’hote virtuel et les parametres de l’hote virtuel remplaceront ceux du serveur.

#### Syntaxe

Sélectionner avec les boutons radio

### Expires par defaut

#### Description

Indique les parametres par defaut pour la generation de l’en-tete Expires. Ce parametre prend effet lorsque Activer Expires est defini sur "Yes". Il peut etre remplace par Expires par type. Ne definissez pas ce defaut au niveau serveur ou hote virtuel sauf si necessaire, car il generera des en-tetes Expires pour toutes les pages. La plupart du temps, cela doit etre defini au niveau contexte pour certains repertoires qui ne changent pas souvent. S’il n’y a pas de parametre par defaut, aucun en-tete Expires ne sera genere pour les types non indiques dans Expires par type.

#### Syntaxe

A|Mseconds
Le fichier expirera apres le temps de base (A|M) plus les secondes indiquees. Le temps de base "A" definit la valeur sur le temps d’acces du client et "M" sur le temps de derniere modification du fichier.

### Expires par type

#### Description

Indique les parametres d’en-tete Expires pour des types MIME individuels.

#### Syntaxe

Liste separee par des virgules de "MIME-type=A|Mseconds". Le fichier expirera apres le temps de base (A|M) plus les secondes indiquees.
Le temps de base "A" definit la valeur sur le temps d’acces du client et "M" sur le temps de derniere modification du fichier. MIME-type accepte le caractere generique "*", comme image/*.

### 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.

### Fichiers index

#### Description

Indique les noms des fichiers index qui seront recherches sequentiellement lorsqu’une URL est mappee vers un repertoire. Vous pouvez le personnaliser aux niveaux serveur, hote virtuel et contexte.

#### Syntaxe

Liste de noms de fichiers index separes par des virgules.

#### Conseils

Performance Ne definissez que les fichiers index dont vous avez besoin.

### Index automatique

#### Description

Indique s’il faut générer à la volée un index de répertoire lorsque les fichiers d’index listés dans Fichiers index ne sont pas disponibles dans un répertoire. Cette option est personnalisable au niveau hôte virtuel et contexte, et elle est héritée le long de l’arborescence de répertoires jusqu’à être explicitement remplacée. Vous pouvez personnaliser la page d’index générée. Consultez les How-tos du wiki en ligne.

#### Syntaxe

Sélectionner avec les boutons radio

#### Conseils

Security Il est recommandé de désactiver Index automatique partout où c’est possible afin d’éviter de révéler des données confidentielles.

#### Voir aussi

Fichiers index, URI d'index automatique

### 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

### 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

### 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 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,