Rubrique précédente: WEBx4 : appliance de serveur Web évolutiveRubrique suivante: Appliances de base de données


WEBx8 : appliance de serveur Web évolutive

Dernière version : 3.0.4-1

WEBx8 : Serveur Web évolutif

Aperçu rapide

Catalogue

System (Système)

Catégorie

Serveurs Web

Volumes d'utilisateur

Oui

Min. mémoire

1376 Mo

SE

Linux

Contraintes

non

Questions/commentaires

Poser une question sur le forum

Présentation fonctionnelle

WEBx8 est un serveur Web évolutif qui comprend un seul équilibreur de charge (HLB) et huit serveurs Web (WEB5).

WEBx8 traite un contenu Web statique et exécute des scripts d'un volume de contenu en lecture seule configurable par l'utilisateur. Les chemins d'accès aux documents et aux scripts sont configurables de façon à pouvoir partager le même volume entre plusieurs serveurs Web et/ou d'autres appliances avec un autre contenu.

WEBx8 compte trois terminaux de sortie génériques prévus pour accéder à des services externes à partir de scripts sur le volume de contenu. Le terminal db permet d'accéder à une base de données MySQL ; le terminal fs permet d'accéder au stockage de fichiers partagés (à l'aide de NFS) et le terminal aux est créé pour l'envoi de courriels à un serveur SMTP.

Vous pouvez utiliser le terminal log pour relier WEBx8 à un système de fichiers partagés sur lequel WEBx8 peut stocker ses journaux.

Le serveur Web est configuré via ses propriétés. Les propriétés sont conçues pour couvrir la plupart des utilisations et peuvent être configurées facilement. D'ailleurs, dans la plupart des cas, seules quelques-unes doivent être définies sur d'autres valeurs que celles par défaut. Les configurations avancées peuvent être obtenues par le biais de fichiers à inclure dans le format de configuration Apache, provenant du volume de contenu. L'accès et les options des fichiers de script et de contenu peuvent être définis plus précisément dans les fichiers .htaccess des répertoires de contenu.

Si les fonctionnalités fournies par l'appliance WEBx8 ne satisfont pas à vos besoins, contactez notre Support technique pour discuter des solutions possibles. Nous pouvons étendre le catalogue en fournissant des appliances conformes à vos besoins.

Ressources

Ressource

Minimum

Maximum

Valeur par défaut

UC

0.9

144

1.2

Mémoire

1,343 Go

288 Go

1,5 Go

Bande passante

9 Mbits/s

18 Gbits/s

1,6 Gbit/s

Terminaux

Nom

Dir.

Protocole

Description

in

in

HTTP

Traite les requêtes HTTP provenant des clients Web. Traite les protocoles HTTP/1.1 et 1.0.

ctl

in

HTTP

Terminal de contrôle utilisé pour l'activation/la désactivation des sorties et pour la récupération de l'état du terminal de sortie à partir de l'équilibreur de charge.

ui

in

HTTP

Expose une interface utilisateur Web qui contient les statistiques d'exécution de l'équilibreur de charge.

db

sortie

MYSQL

Accède à un serveur MySQL. L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Si ce terminal n'est pas utilisé, il peut rester déconnecté.

fs

sortie

NFS

Accède à un système de fichiers réseau pour le stockage de fichiers partagés et fournit un accès en lecture/écriture aux fichiers via NFS. L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Le logiciel sur le volume de contenu voit s'afficher le système de fichiers distant monté en tant que /mnt/fs dans l'espace de système de fichiers de l'appliance. Si ce terminal n'est pas utilisé, il peut rester déconnecté. Le serveur connecté doit avoir un partage lecture/écriture nommé /mnt/date.

log

sortie

CIFS

Accède à un système de fichiers réseau basé sur CIFS pour le stockage des journaux relatifs aux accès et aux erreurs. Si ce terminal n'est pas utilisé, il peut rester déconnecté. Le serveur connecté doit autoriser les connexions anonymes et avoir un partage lecture-écriture nommé share.

aux

sortie

Indifférent

Accède à un serveur SMTP pour l'envoi de messages électroniques sortants. L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Remarque : Sendmail n'est pas configuré sur l'appliance. Toute application de messagerie doit simplement utiliser SMTP directement, en utilisant "aux" comme nom d'hôte cible. Pour les scripts Perl CGI, vous pouvez utiliser le module Mail::Mailer.
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

net

sortie

Indifférent

Sortie de passerelle pour l'accès au sous-réseau.
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

MON

sortie

CCE

Envoie des statistiques de performances et d'utilisation des ressources.
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

Volumes d'utilisateur

Volume

Description

content

Volume partageable en lecture seule qui fournit le contenu Web (documents, média et scripts) à traiter par WEBx8.

Le volume peut fournir du contenu statique et/ou dynamique avec un répertoire configurable facultatif dédié aux scripts. Vous pouvez également configurer l'exécution des scripts à partir de tout répertoire à l'aide d'un modèle de nom de fichier.

Outre du contenu, le répertoire de documents (configuré à l'aide de la propriété docs_dir) présent sur le volume de contenu peut également contenir les fichiers de configuration facultatifs suivants, tous au format de configuration standard Apache (voir http://httpd.apache.org/docs/2.0) :

Propriétés

Nom de propriété

Type

Description

host_name

Chaîne

Nom d'hôte du site Web. WEBx8 affiche ce nom dans les pages générées automatiquement et l'utilise pour élaborer des URL absolues, notamment dans des redirections générées par un serveur (par exemple, comme défini dans un fichier de configuration personnalisée installé sur le volume de contenu). Notez que même si des redirections explicites sont rarement configurées, une requête de répertoire ne se terminant pas par le caractère "/" entraîne la génération d'une redirection vers le client ; si le caractère "/" est ajouté, la redirection utilise la valeur de la propriété host_name si celle-ci est définie.
Il est recommandé de définir correctement cette propriété si des clients plus anciens qui n'envoient pas d'en-tête "Host:" avec leurs requêtes HTTP sont supposés accéder à WEBx8.
Si cette propriété est définie sur une chaîne vide, le nom d'hôte utilisé dans la requête du client est utilisé.
Valeur par défaut : vide.

admin_email

Chaîne

Adresse électronique de l'administrateur du serveur. WEBx8 affiche ce nom dans les pages générées automatiquement.
Valeur par défaut : root@localhost

content_on_fs

Chaîne

Spécifie si le contenu concerne le système de fichiers au niveau du terminal fs ou s'il se trouve sur le volume de contenu. Les valeurs autorisées sont on et off. Si la propriété est définie sur on, l'ensemble du contenu est relatif au système de fichiers sur le terminal fs. Si elle est définie sur off, le contenu est sur le volume de contenu.
Valeur par défaut : off

docs_dir

Chaîne

Répertoire racine sur le volume de contenu où se trouvent les documents à traiter. Par exemple, il peut s'agir de /mydocs. Si docs_dir est défini sur la chaîne vide, le répertoire racine du volume de contenu est utilisé.
Le répertoire doit déjà exister sur le volume de contenu.
Valeur par défaut : vide.

docs_loc

Chaîne

Emplacement facultatif dans l'espace de noms visible par le client où le contenu doit s'afficher ("l'espace de noms visible par le client" est la portion de chemin d'accès d'une URL, ou ce qui s'affiche à droite du nom d'hôte dans une URL, y compris le caractère "/" de début). Si cette propriété est définie sur une valeur non vide, cet emplacement devient la racine de l'espace de noms, comme vue par le client, où s'affiche le répertoire racine de documents. Par exemple, si la propriété docs_loc est définie sur subspace/samples, une requête HTTP pour /subspace/samples/file1.html traitera file1.html à partir du répertoire racine de documents. Notez qu'une requête pour un emplacement situé en dehors de /subspace/samples renverra une erreur, sauf s'il s'agit d'une requête pour un script situé dans le répertoire de scripts (voir scripts_loc).
Cette propriété est utile lorsque WEBx8 traite un sous-espace d'un site Web. N'ajoutez pas de barre oblique à la fin de cette valeur.
Valeur par défaut : vide.

scripts_dir

Chaîne

Répertoire racine sur le volume de contenu où se trouvent les scripts CGI. Par exemple, il peut s'agir de /scripts. Cette propriété doit être définie sur une valeur non vide, faisant référence à un répertoire sur le volume de contenu qui contient uniquement des scripts exécutables (ne la définissez pas sur "/").
Le répertoire doit déjà exister sur le volume de contenu.
Valeur par défaut : vide.

scripts_loc

Chaîne

Emplacement dans l'espace Web où le répertoire de scripts spécifié par scripts_dir doit être visible. Cette propriété doit être définie sur une chaîne non vide pour permettre l'utilisation d'un répertoire de scripts dédié. Une valeur typique peut être /cgi-bin. N'ajoutez pas de barre oblique à la fin de cette valeur.
Valeur par défaut : vide.

logs_enabled

Chaîne

Contrôle si WEBx8 envoie ses journaux en dehors du terminal de journal. Les valeurs autorisées sont on et off. Si cette propriété est définie sur on, le terminal de journal doit être connecté. Si elle est définie sur off, aucun journal d'accès n'est utilisé et le journal d'erreurs est écrit dans un fichier sur le système de fichiers racine des serveurs WEB, avec une rotation hebdomadaire et la conservation des anciens journaux pendant 4 semaines (/var/log/httpd/error_log*). Valeur par défaut : off

logs_base_dir

Chaîne

Répertoire de stockage des journaux de WEBx8. Cette propriété n'a aucun effet si la propriété logs_enabled est définie sur off. Valeur par défaut : /

error_log_level

Chaîne

Niveau de sévérité des messages à écrire dans le journal d'erreurs. Les valeurs autorisées sont debug, info, notice, warn, error, crit, alert et emerg. debug écrit la plupart des messages, tandis qu'emerg n'écrit que les messages d'urgence. Valeur par défaut : warn

srv2_standby

Nombre entier

Spécifie si le deuxième serveur Web est en mode veille. Si la valeur est différente de zéro, le deuxième serveur WEB est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv3_standby

Nombre entier

Spécifie si le troisième serveur Web est en mode veille. Si la valeur est différente de zéro, le troisième serveur WEB est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv4_standby

Nombre entier

Spécifie si le quatrième serveur Web est en mode veille. Si la valeur est différente de zéro, le quatrième serveur Web est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv5_standby

Nombre entier

Spécifie si le cinquième serveur Web est en mode veille. Si la valeur est différente de zéro, le cinquième serveur Web est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv6_standby

Nombre entier

Spécifie si le sixième serveur Web est en mode veille. Si la valeur est différente de zéro, le sixième serveur Web est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv7_standby

Nombre entier

Spécifie si le septième serveur Web est en mode veille. Si la valeur est différente de zéro, le septième serveur Web est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

srv8_standby

Nombre entier

Spécifie si le huitième serveur Web est en mode veille. Si la valeur est différente de zéro, le huitième serveur Web est en mode veille. Dans le cas contraire, il n'est pas en mode veille.
Valeur par défaut : 1

timezone

Chaîne

Spécifie le fuseau horaire utilisé dans l'appliance. Si cette propriété est vide, le fuseau horaire reste inchangé. Une liste des fuseaux horaires pris en charge est disponible ici. Valeur par défaut : vide

Important : Toutes les propriétés de chaîne énumérées ne sont pas sensibles à la casse (minuscules). Toutes les autres propriétés de chaîne sont sensibles à la casse.

Propriétés avancées

Il s'agit de propriétés supplémentaires ne devant généralement pas être configurées. Elles peuvent être utilisées pour configurer WEBx8 dans des circonstances non standard. Les propriétés qui ont un impact sur le fonctionnement de l'équilibreur de charge sont précédées des lettres lb, par exemple, lb_mode.

Nom de propriété

Type

Description

lb_mode

Chaîne

Spécifie le mode de fonctionnement et une façon d'utiliser le cookie de session nommé pour l'identification de session. Les valeurs valides sont les suivantes :
passive - le cookie n'est pas modifié. Une valeur de cookie donnée doit toujours être unique et la même valeur ne doit jamais être utilisée par un autre serveur.
sync - La chaîne de cookie dans la réponse HTTP d'un serveur est modifiée pour le rendre unique pour le terminal dont la réponse est venue (en ajoutant un ID de terminal de 4 caractères dans la valeur de cookie). L'ID de terminal est supprimé avant qu'une requête soit transmise à un serveur sur l'un des terminaux outX. Au lieu d'insérer l'ID de terminal, le mappage entre des valeurs de cookie et les terminaux de sortie est le même que lorsque la propriété est définie sur passive, à savoir, la valeur de cookie entière est comparée.
insert - L'équilibreur de charge proprement dit insère un cookie dans les réponses renvoyées au client sur le terminal in, de sorte que lorsque le client envoie les requêtes suivantes avec ce cookie, elles sont dirigées vers le même serveur que la première requête de ce client. Le cookie inséré par HALB ne contient pas de date d'expiration, ce qui signifie qu'il ne doit pas être enregistré de façon permanente par le logiciel client.
source - L'adresse IP source de la requête permet de relier la session à un serveur Web principal spécifique. La propriété de cookie est ignorée.
Valeur par défaut : passive.

lb_cookie_name

Chaîne

Nom du cookie utilisé pour identifier une session. Pour les modes passifs (passive et sync - voir la propriété de mode ci-dessous), il s'agit du nom du cookie utilisé par les serveurs principaux connectés aux sorties out1 - out4 pour identifier des sessions clientes. Pour le mode insert, il s'agit du nom du cookie que HALB doit insérer dans les réponses HTTP afin que chaque client soit "collé" à un seul serveur. Si cette propriété est définie sur la valeur vide, aucun suivi de session n'est effectué et toutes les requêtes sont distribuées simplement à la façon d'un tourniquet. Ignoré pour le mode source.
Valeur par défaut : (vide).

lb_cookie_check_length

Entier

Définit le nombre d'octets de la valeur du cookie utilisés comme clé unique en mode de fonctionnement passif pour correspondre à la session du serveur Web principal. Une valeur par défaut de 10 suffit généralement pour toutes les applications Java et PHP courantes. Cette valeur doit toujours être égale ou inférieure à la longueur de la valeur de cookie.
Valeur par défaut : 10.

lb_max_connections

nombre entier

Nombre maximum de connexions actives simultanément gérées par l'équilibreur de charge. Lorsque ce nombre est atteint, les nouvelles connexions sont toujours acceptées, mais leur traitement est différé jusqu'à la fermeture d'une autre connexion. Au démarrage, l'équilibreur de charge détermine automatiquement le nombre maximum de connexions en fonction de la mémoire disponible, le compare à la valeur de cette propriété et utilise la valeur la plus basse. Si cette propriété est égale à 0, la valeur calculée est utilisée. Veuillez noter que ni la mémoire disponible ni aucun paramètre explicite de cette propriété n'exerce d'effet direct sur le débit de l'équilibreur de charge ou son taux de requêtes maximum. Définir un petit nombre (ou une faible quantité de mémoire) n'affecte la réponse que si les serveurs principaux effectuent de longues opérations pour chaque requête (par exemple, des recherches dans la base de données) faisant en sorte que de nombreuses requêtes restent ouvertes simultanément.
Valeur par défaut : 0

lb_backup_outputs

Chaîne

Liste des sorties (out1 - out4), séparées par des virgules ou des espaces, considérées comme sauvegardes. Le trafic est dirigé vers les serveurs de sauvegarde uniquement si tous les serveurs principaux sont indisponibles. Ces serveurs de sauvegarde ont pour objectif d'avertir les clients d'un problème ou de les rediriger au lieu de renvoyer des erreurs à partir d'un serveur principal indisponible ou arrivé à expiration.
Valeur par défaut : (vide).

lb_healthcheck_url

Chaîne

URL utilisée pour effectuer le contrôle de l'intégrité des serveurs Web principaux dans les méthodes de contrôle de l'intégrité http_get et http_head. Il peut s'agir d'une URL complète (http://host.name/file/to/check/for.php) ou d'un chemin d'accès relatif (/file/to/check/for.php). Si l'adresse spécifiée est une URL, HALB utilise le protocole HTTP/1.1 pendant l'exécution des contrôles d'intégrité à l'aide du nom d'hôte extrait d'UR, dans un en-tête "Host:". Elle permet l'utilisation d'hôtes virtuels. Si l'adresse spécifiée est un chemin d'accès relatif, HALB utilise le protocole HTTP/1.0 et vérifie le document spécifié par cette propriété. Si cette propriété est vide, l'équilibreur de charge vérifie la présence de la racine par défaut "/" à l'aide du protocole HTTP/1.0.
Valeur par défaut : (vide).

lb_healthcheck_agent

Chaîne

Chaîne utilisée comme identificateur d'agent pour les méthodes de contrôle de l'intégrité http_get et http_head. Si la chaîne est vide, "HALB-health-check" est utilisé.
Valeur par défaut : (vide).

lb_healthcheck_method

Chaîne

Méthode utilisée pour le contrôle de l'intégrité des serveurs Web principaux.
tcp_connect - L'équilibreur de charge se connecte au port 80 du serveur Web. Si la connexion est correctement établie, l'équilibreur de charge suppose que le serveur Web est fonctionnel. Cette méthode est la plus rapide et est celle qui nécessite le moins de ressources.
http_head - L'équilibreur de charge utilise la méthode HEAD pour demander le document spécifié par la propriété lb_healthcheck_url. Cette méthode est plus lente que tcp_connect, requiert davantage de ressources sur l'équilibreur de charge et sur les serveurs Web, mais est plus fiable. Un code d'état 2xx ou 3xx, reçu d'un serveur Web, valide le serveur comme étant opérationnel.
http_get - L'équilibreur de charge utilise la méthode GET pour demander le document spécifié par la propriété lb_healthcheck_url. Cette méthode est plus lente et requiert davantage de ressources, mais est la plus fiable. Un code d'état 2xx ou 3xx, reçu d'un serveur Web, valide le serveur comme étant opérationnel. Si la propriété lb_healthcheck_regexp est définie, l'équilibreur de charge télécharge le document et tous les en-têtes HTTP ainsi que le code d'état du serveur et vérifie la présence de correspondances avec la valeur lb_healthcheck_regexp. Si une correspondance est trouvée, le serveur principal est considéré comme fonctionnel ou est désactivé si aucune correspondance n'a été trouvée.
Valeur par défaut : tcp_connect.

lb_healthcheck_regexp

Chaîne

Chaîne de test utilisée avec le mode de contrôle de l'intégrité http_get. Des valeurs courtes ou communes (p. ex. OK) généreront probablement des faux positifs. Cette chaîne est une expression régulière Perl. Vous trouverez davantage d'informations sur les expressions régulières Perl ici.
Valeur par défaut : (vide).

lb_healthcheck_interval

Entier

Intervalle (exprimé en secondes) entre les contrôles d'intégrité des serveurs Web principaux.
Valeur par défaut : 20 secondes.

lb_timeout

nombre entier

Délai d'expiration des sessions inactives (exprimé en secondes). Si la valeur définie est zéro, les sessions inactives n'expirent pas. Si la valeur est définie sur une valeur non nulle, les sessions inactives sont redémarrées à l'expiration du délai d'inactivité et les requêtes ayant le cookie "forgotten" sont traitées comme si elles n'avaient aucun cookie et dirigées vers un serveur aléatoire, à l'aide de la méthode de tourniquet habituelle. Cette propriété est uniquement valide en mode passif et est ignorée pour tous les autres modes.
Valeur par défaut : 0

lb_client_timeout

Entier

Délai d'expiration en secondes pour l'attente d'une requête client après avoir établi la connexion.
Valeur par défaut : 150.

lb_server_timeout

Entier

Délai d'expiration en secondes pour l'attente d'une réponse d'un serveur Web principal après avoir établi la connexion.
Valeur par défaut : 150.

lb_conn_timeout

Entier

Délai d'expiration en secondes pour l'établissement d'une connexion TCP. Ce délai inclut les contrôles de l'intégrité. Une attention toute particulière doit être accordée à ce paramètre, car si en cas de charge élevée, les contrôles d'intégrité expirent en raison d'une valeur insuffisamment petite, l'équilibreur de charge commence à désactiver des sorties. Il est déconseillé de le définir en dessous de 20 secondes.
Valeur par défaut : 20.

lb_username

Chaîne

Nom d'utilisateur pour l'accès à l'interface utilisateur graphique de l'équilibreur de charge via le terminal ui. Si aucune valeur n'est spécifiée, aucune authentification n'est effectuée.
Valeur par défaut : (vide).

lb_password

Chaîne

Mot de passe pour l'accès à l'interface utilisateur graphique de l'équilibreur de charge via le terminal ui. Le mot de passe est ignoré si le nom d'utilisateur est vide.
Valeur par défaut : (vide).

lb_ctl_port

Entier

Port utilisé pour accéder à l'interface de contrôle de service Web via le terminal ctl.
Valeur par défaut : 80

lb_ui_port

Entier

Port utilisé pour accéder à l'interface utilisateur graphique des statistiques d'exécution de l'équilibreur de charge via le terminal ui.
Valeur par défaut : 80

cgi_ext

Chaîne

Définit la liste des suffixes de nom de fichier, séparés par des espaces, pour les scripts CGI. Cette propriété permet de spécifier les fichiers à traiter comme des scripts CGI exécutables (dans un répertoire) et peut être utilisée comme alternative à la spécification d'un répertoire de scripts commun (voir les propriétés scripts_dir et scripts_loc). Valeur par défaut : .cgi

shared_perl_ext

Chaîne

Définit la liste des suffixes de nom de fichier, séparés par des espaces, pour les scripts Perl in-process. Cette propriété permet de spécifier les fichiers à traiter comme des scripts Perl à exécuter avec mod_perl. Une extension correspondant à une valeur déjà spécifiée dans cgi_ext remplace l'utilisation de CGI pour cette extension et la configure pour être exécutée par mod_perl. Le module Perl in-process est configuré pour exécuter les scripts avec les extensions spécifiées dans le mode de compatibilité CGI. La plupart des scripts Perl conçus pour être exécutés comme processus CGI doivent également fonctionner s'ils sont configurés comme des scripts in-process. Remarque : Il importe de vérifier dans vos scripts que toutes les variables de portée de fichier s'initialisent correctement (p. ex. avec strict et warnings), car tous les scripts exécutés par mod_perl s'exécutent sans redémarrer l'interpréteur Perl. Si vous n'êtes pas certain que vos scripts fonctionneront avec mod_perl, consultez la documentation de mod_perl pour plus d'informations : http://perl.apache.org/docs/index.html.
Valeur par défaut : (vide) (autrement dit, n'utilisez pas mod_perl)

index_files

Chaîne

Liste, ordonnée et séparée par des espaces, de fichiers à utiliser comme page d'index de répertoire si le client demande une URL faisant référence à un nom de répertoire.
Valeur par défaut : index.html index.html.var

use_htaccess

Chaîne

Spécifie si l'utilisation de fichiers .htaccess doit être activée pour toute l'arborescence de document. Elle est désactivée par défaut et devrait être utilisée uniquement si votre structure de répertoire de contenu exige un contrôle très strict des options serveur, mais est trop compliquée à configurer au moyen d'un ensemble de sections dans un fichier de configuration commun, ou si votre volume de contenu préconfiguré utilise déjà .htaccess et que vous souhaitez éviter les soucis liés à sa réorganisation. Si des options de configuration sont nécessaires uniquement pour la racine de document proprement dite, placez plutôt vos paramètres dans le répertoire racine de document dans le fichier .htconf - ils seront appliqués exactement de la même façon que .htacces, si ce n'est que le fichier est lu une fois au moment du démarrage. Valeur par défaut : off

max_connections

Nombre entier

Nombre maximum de connexions actives simultanées que chaque serveur Web peut gérer. Si cette limite est atteinte, les autres demandes de connexion sont mises en attente (jusqu'à un maximum de 511) et traitées au fur et à mesure de la clôture des connexions actives. Cette valeur ne doit être augmentée que si WEBx8 est supposé traiter de nombreuses requêtes qui nécessitent un accès à une source de données externe lente (p. ex. longues requêtes de base de données). Le nombre réel de connexions simultanées peut être limité sous la valeur définie pour cette propriété, si la mémoire système n'est pas suffisante. Reportez-vous à la section Utilisation de la mémoire ci-dessous. La valeur max_connections ne peut pas être définie sur une valeur supérieure à 256.
Valeur par défaut : 128

persistent_connections

Chaîne

Contrôle si WEBx8 permet aux clients de demander plusieurs documents sur la même connexion. Les valeurs autorisées sont on et off. Vous devrez peut-être désactiver les connexions persistantes mais uniquement si vous rencontrez des problèmes avec les clients qui ne prennent pas en charge HTTP/1.1 correctement et ne souhaitez pas repasser à HTTP/1.0. Valeur par défaut : on

idle_timeout_sec

Nombre entier

Délai en secondes de maintien d'une connexion client en l'absence de requêtes ou de réponses. Cette propriété est utilisée uniquement si persistent_connections est défini sur on. La définition d'un délai d'expiration court permet de clôturer rapidement les connexions oubliées. Valeur par défaut : 15

data_timeout_sec

Nombre entier

Délai en secondes pour la réception ou l'envoi d'une quantité de données plus importante si un transfert de données a démarré sans se terminer. Ce délai d'expiration permet à WEBx8 de clôturer des connexions oubliées tout en permettant de prolonger le transfert. Par défaut : 300

default_charset

Chaîne

Jeu de caractères par défaut à signaler pour les documents renvoyés de type texte/html ou texte/simple. La propriété doit être définie soit sur le nom d'un jeu de caractères ou sur off (pour désactiver l'envoi d'un en-tête de jeu de caractères dans des réponses HTTP). Avec certains navigateurs, la définition de cette propriété peut remplacer la valeur de jeu de caractères fournie par l'auteur des documents HTML traités et n'est dés lors recommandée qu'en présence de documents qui ne contiennent pas une spécification de jeu de caractères valide et que lorsque l'utilisateur sait à l'avance que tous les documents traités par WEBx8 sont dans le même jeu de caractères. Les valeurs d'exemple standard peuvent être iso-8859-1 ou utf-8. Valeur par défaut : off
Remarque : Pour couvrir des cas spéciaux, notamment d'anciens scripts CGI qui ne génèrent pas une métabalise Content-type correcte, le paramètre du jeu de caractères par défaut par répertoire est possible en utilisant les fichiers de configuration personnalisés stockés sur le volume de contenu.

info_level

Chaîne

Contrôle la quantité d'informations que WEBx8 dévoile sur lui-même aux clients Web (dans les réponses HTTP et dans les pages automatiquement générées). Les valeurs autorisées sont les suivantes : full (le plus d'infos), os, minor, major, prod (le moins d'infos). Par mesure de sécurité, nous vous recommandons de dévoiler les informations minimales. Default prod

server_signature

Chaîne

Contrôle si WEBx8 ajoute une ligne de signature de serveur au bas de toutes les pages générées (par exemple, sur des pages d'erreur). Les valeurs autorisées sont on et off. La quantité d'informations incluses par WEBx8 dans la signature est contrôlée par info_level. Valeur par défaut : off (pas de signature).

env

Chaîne

Utilisé pour transférer des paramètres à WEBx8 sous la forme de paires name=value. Valeur par défaut : vide.

Important : Toutes les propriétés de chaîne énumérées ne sont pas sensibles à la casse (minuscules). Toutes les autres propriétés de chaîne sont sensibles à la casse.

Utilisation de la mémoire

Chaque serveur WEB dans WEBx8 se configure lui-même automatiquement pour s'exécuter avec une large plage de mémoire disponible afin de s'adapter aux applications quelle que soit leur taille ou leur charge. Veuillez toutefois noter que le calcul de configuration ne peut pas prédire l'utilisation de la mémoire des scripts de contenu dynamique qui peuvent être installés sur le volume de contenu et qu'un problème de comportement d'un script peut provoquer un dysfonctionnement du serveur en allouant plus de mémoire que nécessaire et faisant en sorte que le système d'exploitation mette fin aux processus.

Par défaut, chaque WEB configure le nombre maximum de connexions actives sur la base des hypothèses suivantes :

Par exemple, dans la configuration "sandbox" avec 32 Mo, le nombre maximum de connexions actives est défini sur 8.

Vous pouvez réduire le nombre maximum de connexions à un nombre inférieur à celui calculé automatiquement à l'aide de la propriété max_connections. Souvenez-vous que si max_connections dépasse la limite imposée par la mémoire système disponible, le nombre est réduit sans aucun avertissement.

De plus, l'allocation de mémoire du préprocesseur PHP est limitée à la moitié de celle disponible pour les scripts, conformément aux règles de calcul susmentionnées. En d'autres termes, le PHP est configuré pour limiter la mémoire d'un script en cours d'exécution à

(system_memory - 16 Mo - max_connections * 1 Mo) / 2 

Où la valeur max_connections est la plus petite de la propriété max_connections et la limite imposée par la mémoire disponible (est calculée en supposant 2 Mo par connexion, comme décrit ci-dessus). Si la valeur de la propriété max_connections est celle par défaut, la limite de mémoire PHP est la suivante :

(system_memory - 16 Mo) / 4 

Remarque : La règle de la moitié de la mémoire disponible par script est un peu optimiste et suppose que toutes les connexions actives n'utiliseront pas un script PHP volumineux qui atteindra la limite ou que les scripts n'utiliseront pas toute la mémoire qui leur est allouée.

Astuce : Si une application utilisant beaucoup de mémoire commence à avoir un comportement anormal sous pression (pertes de connexions) et qu'il n'est pas possible d'augmenter la taille de la mémoire disponible, essayez de diminuer la valeur de la propriété max_connections. Cela réduira le nombre d'instances de script autorisé pour une exécution simultanée, libérant ainsi de la mémoire pour chaque instance.

Configuration du contenu, Stockage de fichiers partagés

Cette section fournit des informations utiles pour configurer des scripts pour le contenu dynamique.

Noms de répertoire fixes

Au démarrage du serveur HTTP, les répertoires et les fichiers suivants sont disponibles dans l'espace du système de fichiers de chaque instance WEB. Il est déconseillé d'utiliser des noms de répertoire absolus en dehors de ces emplacements quel que soit le script ou le fichier de configuration.

/var/www/html - web root, visible pour le client à l'aide de"/". Il s'agit d'un emplacement qui est en lecture seule sur le volume de contenu. Remarque : Si la propriété docs_loc est définie, le répertoire /var/www/html proprement dit ne contient aucun fichier de données. En ajoutant la valeur docs_loc, le nom d'un lien symbolique valide est généré pour faire référence à la racine de document. Vous pouvez utiliser ce nom de répertoire et le nom /var/www/cgi-bin ainsi que leurs sous-répertoires dans des fichiers de configuration Apache afin de configurer des paramètres supplémentaires par répertoire. De cette façon, ces fichiers de configuration ne doivent pas connaître le paramètre particulier pour les propriétés docs_dir et scripts_dir.

/var/www/cgi-bin - Lien symbolique vers la racine des scripts si elle est configurée à l'aide de la propriété scripts_dir.

/mnt/fs - Racine du stockage de fichiers partagés en lecture/écriture fourni par un serveur NFS relié au terminal fs. Si un terminal est connecté, /mnt/fs est vide.

Emplacements d'espace Web fixes

Le chemin d'accès /icons/ dispose d'un alias vers un répertoire contenant des icônes de stock afin d'établir des listes de répertoires générés par le serveur. Par conséquent, un répertoire nommé "icons" dans le volume de contenu ne sera pas visible.

Contrôle d'accès

Le serveur HTTP s'exécute en tant que user 48, group 48. Les scripts CGI s'exécutent dans le même contexte.

Pour pouvoir être utilisés via HTTP, les fichiers sur le volume de contenu doivent disposer de l'autorisation "read" pour tous les utilisateurs. Les scripts exécutables doivent disposer des autorisations "read" et "execute" pour tous les utilisateurs.

Bien que le serveur Apache dispose d'autres moyens pour contrôler l'accès aux fichiers, il est également possible de supprimer l'autorisation de lecture de tous les utilisateurs à partir de fichiers ou de répertoires qui ne devraient pas être accessibles via HTTP. Laissez x bit activé pour les répertoires contenant une liste qui ne devrait pas être accessible et des fichiers ou des sous-répertoires devant rester accessibles.

Envoi de courriels

Le système d'envoi de courriels n'est pas configuré sur WEBx8. Ne l'utilisez pas pour envoyer des messages à partir de cette appliance. Si vous utilisez des scripts Perl, vous pouvez utiliser le module Mail::Mailer pour envoyer des messages. Ce dernier est configuré pour utiliser le système de messagerie SMTP. Dans tous les cas, votre système de messagerie SMTP doit être configuré pour utiliser "aux" comme nom d'hôte du serveur SMTP, par exemple, si vous utilisez Mail::Mailer :

$mailer = new Mail::Mailer 'smtp', (Server => 'aux'); 
$mailer->open(\%headers); #... etc. 
Intérieur

Le contenu de WEBx8 est le suivant.

Utilisation standard

Application à 2 niveaux évolutive

Application à 2 niveaux évolutive

Remarques et liens

Limitations connues