Fichier plugin-cfg.xml

Le fichier plugin-cfg.xml contient des informations de configuration qui déterminent la façon dont le plug-in de serveur Web transmet les demandes.

WebSphere Application Server Traditional

Vous pouvez créer deux types de fichier plugin-cfg.xml : centré sur l'application et centré sur la topologie.

Fonction obsolète Fonction obsolète: La configuration centrée sur la topologie, également appelée globale, est obsolète. Utilisez la configuration centrée sur l'application lorsque vous configurez un nouveau plug-in de serveur Web et pensez à reconfigurer des configurations centrées sur la topologie afin d'utiliser à la place la configuration centrée sur l'application. Pour plus d'informations, voir Implémentation d'un plug-in de serveur Web.depfeat

Un fichier de configuration centré sur l'application possède une application mappée à des définitions de serveur Web et de serveur d'applications. Les modifications que vous apportez au plug-in à l'aide de la console d'administration sont stockées dans le fichier plugin-cfg.xml au moment de la génération. La configuration centrée sur l'application offre davantage de flexibilité et de prise en charge pour les fonctions dynamiques, telles qu'Intelligent Management.

Un fichier centré sur la topologie correspond à tout ce qui est défini dans l'environnement. Habituellement, ce fichier plugin-cfg.xml est utilisé en l'absence de serveurs Web définis.

Appliquez les règles suivantes quand vous voulez mettre à jour un fichier plugin-cfg.xml centré sur la topologie :
  • Si le fichier plugin-cfg.xml existe dans le répertoire racine_serveur_app\dmgr\cells, le processus de génération de plug-in ignore les valeurs mises à jour dans le panneau Serveur d'applications > Propriétés du plug-in de serveur Web de la console d'administration et utilise les valeurs existantes du fichier XML. Dans ce cas, vous devez mettre à jour manuellement le fichier XML pour que ces valeurs soient conservées.
  • Si le fichier plugin-cfg.xml n'existe pas dans le répertoire racine_serveur_app\dmgr\cells, le processus de génération de plug-in crée un fichier plugin-cfg.xml. Le processus enregistre les dernières valeurs définies dans le panneau Serveur d'applications > Propriétés du plug-in de serveur Web de la console d'administration.
De nombreuses propriétés de plug-in de serveur Web, par exemple, RefreshInterval, LogLevel et les propriétés du processeur Edge Side Include (ESI), ne peuvent être mises à jour que manuellement. Ces valeurs doivent être conservées entre chaque itération.
Eviter les incidents Eviter les incidents: Pour définir les propriétés du plug-in de configuration s'appliquant à chaque définition de serveur Web, utilisez la console d'administration. En effet, toute modification apportée manuellement au fichier de configuration du plug-in de chaque serveur Web est annulée dès que ce fichier est régénéré.gotcha
Eviter les incidents Eviter les incidents: La configuration de plug-in centrée sur la topologie, ou globale, est obsolète. Utilisez à la place la configuration centrée sur l'application, comme indiqué dans Implémentation d'un plug-in de serveur Web. Pour toute configuration existante qui est centrée sur la topologie, vous pouvez mettre à jour le fichier plugin-cfg.xml globale à l'aide de la console d'administration ou de la commande GenPluginCfg pour tous les clusters d'une cellule. Cependant, vous devez supprimer le fichier config/cells/plugin-cfg.xml avant de mettre à jour le fichier plugin-cfg.xml global. Si vous ne supprimez pas le fichier config/cells/plugin-cfg.xml, seules les nouvelles propriétés et les valeurs correspondantes sont ajoutées au fichier plugin-cfg.xml global. Aucune des mises à jour apportées à des valeurs de propriété de plug-in existantes n'est ajoutée au fichier plugin-cfg.xml global.gotcha
Remarque : Etant donné que la commande GenPluginCfg s'exécute dans sa propre machine virtuelle Java™ et non dans la machine virtuelle Java WebSphere Application Server, il se peut que la commande ne puisse pas accéder à d'autres fichiers de classes. Si vous rencontrez ce problème lorsque vous exécutez la commande GenPluginCfg, vous pouvez exécuter plutôt le script httpPluginManagement.py pour générer une configuration de plug-in axée sur une application. Ce script utilise wsadmin pour initier la génération de plug-in. Pour plus d'informations, voir httpPluginManagement.py script.

Liberty

Vous pouvez générer le fichier plugin-cfg.xml pour votre serveur Liberty en appelant le bean géré WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig à partir du même SDK Java que votre serveur.

Config

Cet élément, obligatoire, démarrer le fichier de configuration de plug-in HTTP.

IgnoreDNSFailures

Indique si le plug-in ignore les échecs DNS dans une configuration lors de son lancement. Lorsque la valeur true est définie, le plug-in ignore les échecs DNS dans une configuration et peut être lancé avec succès si un serveur au moins dans chaque cluster de serveurs est capable de résoudre le nom d'hôte. Tout serveur dont le nom d'hôte ne peut pas être résolu est marqué comme étant non disponible pendant la durée de vie de la configuration. Aucune tentative visant à résoudre le nom d'hôte n'est effectuée lors du routage des demandes. En cas d'échec DNS, un message est enregistré dans le fichier journal du plug-in et l'initialisation du plug-in se poursuit sans compromettre le démarrage du serveur Web. La valeur par défaut est false, ce qui signifie que les échecs DNS empêchent le serveur Web de démarrer.

RefreshInterval

Définit l'intervalle, en secondes, auquel le plug-in vérifie le fichier de configuration pour déterminer si des mises à jour ou des modifications ont été effectuées. Le plug-in recherche les modifications apportées au fichier depuis le dernier chargement de la configuration du plug-in.

Dans un environnement de développement, les modifications du fichier de configuration sont fréquentes. Ainsi, il est recommandé de spécifier un intervalle plus court que la valeur par défaut (60 secondes). En production, une valeur supérieure à la valeur par défaut est conseillée car les mises à jour de la configuration sont moins fréquentes. Si le rechargement du plug-in échoue pour une raison quelconque, un message est enregistré dans le fichier journal du plug-in et la configuration antérieure est utilisée jusqu'à ce que le fichier de configuration du plug-in soit rechargé. Si les modifications apportées à la configuration de votre plug-in ne sont pas visibles, consultez le fichier journal du plug-in pour obtenir des informations sur l'incident.
Remarque : De plus, sur les plateformes Microsoft, UNIX et Linux, vous pouvez désactiver le rechargement automatique en associant le paramètre RefreshInterval à la valeur -1 dans le fichier plugin-cfg.xml.

ASDisableNagle

Permet de désactiver l'algorithme Nagle pour la connexion entre le plug-in et le serveur d'applications. Par défaut, l'algorithme Nagle est activé.

La valeur peut être true ou false.

[Windows]

IISDisableNagle

Indique si l'algorithme Nagle doit être désactivé sur le serveur Microsoft Internet Information Services (IIS). Par défaut, l'algorithme Nagle est activé.

La valeur peut être true ou false.

VHostMatchingCompat

Précise que le numéro de port doit être utilisé pour l'association à un hôte virtuel. Indiquez l'une des valeurs suivantes :
  • true si l'association doit être réalisée physiquement en utilisant le numéro de port pour lequel la demande a été reçue.
  • false si l'association doit être effectuée logiquement en utilisant le numéro de port contenu dans l'en-tête Host.

La valeur par défaut est false.

AppServerPortPreference

Indique le numéro de port que le serveur d'applications utilise afin de créer des URI pour une méthode sendRedirect(). Les valeurs suivantes peuvent être spécifiées :
  • hostHeader si le numéro de port de l'en-tête de l'hôte de la demande HTTP entrante doit être utilisé.
  • webserverPort si le numéro de port sur lequel le serveur Web a reçu la demande doit être utilisé.

La valeur par défaut est hostHeader.

ResponseChunkSize

Indique la taille maximale de tronçon à utiliser lors de la lecture du corps de la réponse. Par exemple, spécifiez Config ResponseChunkSize="N">, où N correspond à la taille de bloc en kilooctets.

Le plug-in lit le corps de la réponse par paquets de 64 ko jusqu'à épuisement des données. Cette approche entraîne un problème de performance pour les demandes dont le corps de réponse contient de grandes quantités de données.

Si la longueur du corps de la réponse est inconnue, une taille de tampon de N ko est allouée et le corps est lu par tronçons de N ko jusqu'à ce qu'il n'y ait plus de données à lire. En revanche, si la longueur est connue, une taille de tampon égale à cette longueur ou à N (la plus petite de ces deux valeurs étant retenue) est utilisée pour lire le corps de la réponse.

La taille de tronçon par défaut est 64 ko.

AcceptAllContent

Précise si les utilisateurs peuvent inclure du contenu dans une demande POST, PUT, GET ou HEAD lorsqu'une zone Content-Length ou Transfer-encoding est incluse dans l'en-tête de la demande. Vous pouvez indiquer l'une des valeurs suivantes pour cet attribut :
  • True si le contenu est attendu et doit être lu pour toutes les demandes.
  • False si le contenu n'est attendu et ne doit être lu que pour les demandes POST et PUT.

La valeur par défaut est True.

ChunkedResponse

Précise si le plug-in doit tronçonner la réponse au client lorsque l'en-tête de celle-ci contient une zone Transfer-Encoding : Chunked.

Cet attribut s'applique uniquement aux serveurs Web IIS, Oracle iPlanet et Lotus Domino. IBM® HTTP Server se charge de fractionner automatiquement la réponse au client.

Vous pouvez spécifier l'une des valeurs suivantes pour cet attribut :

  • true si le plug-in doit tronçonner la réponse au client lorsque l'en-tête de celle-ci contient une zone Transfer-Encoding : Chunked.
  • false si la réponse ne doit pas être tronçonnée.

La valeur par défaut est false.

ESIEnableToPassCookies

Indique si le transfert des cookies de session vers WebSphere Application Server est autorisé lors du traitement des requêtes d'inclusion ESI. Si la valeur est définie sur true, cette propriété personnalisée est activée. Si elle est false, la propriété est désactivée. Par défaut, la valeur est false.

GetDWLMTable

Indique si un processus de plug-in récemment généré est autorisé à interroger de manière proactive une table de partition de WebSphere Application Server avant qu'il ne commence à traiter des requêtes HTTP. Cette propriété personnalisée est utilisée uniquement lorsque la gestion de sessions mémoire à mémoire est configurée. Si la valeur est définie sur true, cette propriété personnalisée est activée. Si elle est false, la propriété est désactivée. Par défaut, la valeur est false.

[IBM i]

OS400ConvertQueryStringToJobCCSID

Indique si la chaîne de requête d'une requête HTTP est convertie en page de codes IBM HTTP Server Job ou EBCDIC Code Page 37 pour le processus interne. La valeur par défaut est false, ce qui génère la conversion de la chaîne de requête en EBCDIC Code Page 37.

TrustedProxyEnable

Permet au plug-in de serveur Web de s'interfacer avec les serveurs relais et les équilibreurs de charge répertoriés pour la propriété personnalisée TrustedProxyList. Si la valeur true est affectée à cette propriété, les serveurs relais et les équilibreurs de charge de cette liste de proxy sécurisés peuvent définir les valeurs des en-têtes internes $WSRA et $WSRH. L'en-tête interne $WSRA est l'adresse IP du système hôte distant, habituellement le navigateur, ou une adresse interne obtenue par la conversion d'adresse réseau (NAT). L'en-tête interne $WSRH est le nom d'hôte du système hôte distant. Ces données d'en-tête permettent au plug-in du serveur Web de s'interfacer avec le serveur relais ou l'équilibreur de charge correspondant.

Lorsque vous utilisez cette propriété personnalisée, vous pouvez également utiliser la propriété personnalisée TrustedProxyList pour indiquer la liste des serveurs relais et des équilibreurs de charge sécurisés. De même, vous devez désélectionner la case à cocher Supprimer les en-têtes spéciaux dans le panneau Acheminement de la demande de la console d'administration. Pour plus d'informations, voir la documentation relative aux propriétés de routage de la demande du plug-in du serveur Web.

TrustedProxyList

Fournit une liste délimitée par des virgules de tous les serveurs relais ou équilibreurs de charge qui ont le droit de s'interfacer avec ce plug-in du serveur Web. Vous devez utiliser cette propriété avec la valeur de propriété personnalisée TrustedProxyEnable=true. Si la propriété personnalisée TrustedProxyEnable a la valeur false, cette liste est ignorée.

SSLConsolidate

Indique si le plug-in du serveur Web doit comparer la configuration de chaque nouveau transport SSL avec celle des autres transports SSL qui sont déjà définis dans le fichier de configuration. Si vous affectez à cette propriété la valeur true et que le plug-in détermine que les valeurs du fichier de clés et de CertLabel spécifiées pour le nouveau transport SSL sont identiques aux valeurs spécifiées pour un transport SSL déjà défini, le plug-in utilise l'environnement SSL existant au lieu d'en créer un autre. Le fait de créer moins d'environnements SSL implique que le plug-in demande moins de mémoire et que son délai d'initialisation diminue. Cela a pour effet d'optimiser globalement l'environnement de GSkit.

[AIX Solaris HP-UX Linux Windows]

SSLPKCSDriver

Indique le nom qualifié complet du module chargeable qui s'interface avec un coprocesseur SSL facultatif. Le nom qualifié complet comprend le chemin de répertoire et le nom du module.

[AIX Solaris HP-UX Linux Windows]

SSLPKCSPassword

Indique le mot de passe du coprocesseur SSL avec lequel s'interface le module spécifié pour la propriété personnalisée SSLPKCSDriver.

Si vous utilisez un serveur IBM HTTP Server, vous pouvez utiliser le programme sslstash pour créer un fichier qui contiendra ce mot de passe. Dans ce cas, vous pouvez indiquer le nom qualifié complet de ce fichier, au lieu du mot de passe lui même, comme valeur de cette propriété personnalisée.

Journal

Décrit l'emplacement et le niveau des messages que le plug-in consigne. Dans certains cas, si aucun élément de journal n'est spécifié dans le fichier de configuration, les messages sont consignés dans le journal d'erreurs du serveur Web.

Voici, par exemple, les lignes de code pouvant être spécifiées :

[AIX Solaris HP-UX Linux Windows][IBM i]
<Log LogLevel="Error" Name="/opt/WebSphere/AppServer60/logs/http_plugin.log"/>
[z/OS]
<Log LogLevel="Error" Name="/log_directory/file_name"/>
  • Name

    Indique le chemin qualifié complet du fichier journal dans lequel le plug-in consigne les messages d'erreur. Spécifiez exactement un attribut par journal.

    [AIX Solaris HP-UX Linux Windows][IBM i]Si le fichier n'existe pas, il est créé. S'il existe déjà, il est ouvert en mode ajout et les messages consignés préalablement sont conservés dans le journal.

    Pour les utilisateurs en transition Pour les utilisateurs en transition: A compter de la version 7, la date et l'heure ainsi que l'ID processus ne sont plus ajoutés au nom que vous spécifiez pour le fichier journal du plug-in. Par conséquent, un seul fichier journal de plug-in du serveur Web est créé au lieu des multiples fichiers journaux répertoriés par date.trns
  • LogLevel

    Indique le niveau de détail des messages que le plug-in consigne dans le journal. Spécifiez zéro ou l'une des valeurs suivantes pour chaque journal.

    Valeur du niveau de journalisation Description du niveau de journalisation
    Trace Toutes les étapes du processus de demande sont consignées en détail.
    Stats Le serveur sélectionné pour chaque demande, ainsi que d'autres informations d'équilibrage de charge liées à la gestion des demandes, sont consignés.
    Avertissement Tous les messages d'avertissement et d'erreur résultant d'un traitement incorrect des demandes sont consignés.
    Erreur Seuls les messages d'erreur résultant d'un traitement incorrect des demandes sont consignés.
    Débogage Toutes les étapes critiques du traitement des demandes sont consignées.
    Detail Toutes les informations sur les demandes et les réponses sont consignées.

    Si la valeur LogLevel n'est pas spécifiée pour l'élément Log, la valeur par défaut Error est utilisée.

    [AIX Solaris HP-UX Linux Windows][IBM i]
    Eviter les incidents Eviter les incidents: Réfléchissez bien avant d'appliquer le niveau Trace. Plusieurs messages sont consignés à ce niveau, qui peuvent consommer rapidement de l'espace disque. N'utilisez pas la valeur Trace dans un environnement fonctionnant normalement, car elle réduit les performances.gotcha
    [z/OS]
    Eviter les incidents Eviter les incidents: Réfléchissez bien avant d'appliquer le niveau Trace. Plusieurs messages sont consignés à ce niveau, qui peuvent consommer rapidement le système de fichiers. N'utilisez pas la valeur Trace dans un environnement fonctionnant normalement, car elle réduit les performances.gotcha

Nom de propriété="esiEnable" Valeur="true/false"

Active ou désactive le processeur ESI (Edge Side Include). En cas de désactivation, les autres éléments ESI spécifiés dans ce fichier sont ignorés.

Vous pouvez affecter la valeur true ou false au paramètre Value. Par défaut, le processeur ESI est désactivé et sa valeur a pour valeur false.

Nom de propriété="esiMaxCacheSize" Valeur="integer"

Indique (en ko) la taille maximale de la mémoire cache. La taille maximale par défaut du cache est de 1 024 ko (1 Mo). Si le cache est saturé, la première entrée supprimée du cache est l'entrée dont la date d'expiration est la plus proche.

Nom de propriété="ESIInvalidationMonitor" Valeur="true/false"

Indique si le processeur ESI reçoit des invalidations du serveur d'applications.

Vous pouvez affecter la valeur true ou false au paramètre Valeur. La valeur par défaut est false.

Nom de propriété="FIPSEnable" Valeur="true/false"

Indique si FIPS (Federal Information Processing Standard) est activé pour établir des connexions SSL (Secure Sockets Layer) au serveur d'applications. Affectez la valeur true à cette propriété, si FIPS est activé sur le serveur d'applications.

Vous pouvez affecter la valeur true ou false au paramètre Valeur. La valeur par défaut est false.

Property Name="PluginInstallRoot" Value="C:\IBM\WebSphere\Plugins"

Indique le chemin d'installation du plug-in. Cette propriété est obligatoire si GSKit (Global Security Kit) est utilisé, car WebSphere Application Server prend en charge l'installation locale de GSKit à la place d'une installation globale. La valeur d'attribut est définie sur un chemin qualifié complet vers la racine d'installation des plug-ins.

Les noms de propriété reconnus par l'élément Transport sont keyring, stashfile et password. Par défaut, cette propriété est paramétrée sur none.

Cluster de serveurs

Indique un groupe de serveurs qui sont généralement configurés pour servir les mêmes types de demandes. Spécifiez un ou plusieurs clusters pour chaque configuration.

Dans le cas le plus simple, le cluster ne contient qu'une seule définition de serveur. Lorsque le cluster comprend plusieurs serveurs, le plug-in y répartit les charges de manière aléatoire (Random) ou par permutation circulaire (Round Robin). L'algorithme par défaut est Round Robin.

Le code suivant est un exemple d'un élément ServerCluster.

[AIX Solaris HP-UX Linux Windows][IBM i]
<ServerCluster Name="Servers">
<ClusterAddress Name="ClusterAddr">
<Transport Hostname="192.168.1.2" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</ClusterAddress>
<Server Name="Server1">
<Transport Hostname="192.168.1.3" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.3" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<Server Name=Server2>
<Transport Hostname="192.168.1.4" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.4" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<Server Name="Server3">
<Transport Hostname="192.168.1.5" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.5" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="Server1"/>
<Server Name="Server2"/>
</PrimaryServers>
<BackupServers>
<Server Name="Server3"/>
</BackupServers>
</ServerCluster>
[z/OS]
<ServerCluster CloneSeparatorChange="false"
        LoadBalance="Round Robin" Name="Cluster1"
        PostSizeLimit="10000000" RemoveSpecialHeaders="true" 
        RetryInterval="60">
<Server
CloneID="BA36BEC1EB243D8B000000E4000000030926301B"
            ConnectTimeout="0" ExtendedHandshake="false"
            LoadBalanceWeight="2" MaxConnections="0"
            Name="SY1_ClusterMember1" WaitForContinue="false">
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9084" Protocol="http"/>
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
<Property Name="Keyring" value="safkeyring:///mzjring1/"/>
<Property Name="Stashfile" value=""""/>
<Property Name="certLabel" Value="selfsigned"/>
</Transport>
</Server>
<Server CloneID="BA36BED017FDF40E000000E4000000030926301B"
            ConnectTimeout="0" ExtendedHandshake="false"
            LoadBalanceWeight="2" MaxConnections="0"
            Name="SY1_ClusterMember2" WaitForContinue="false">
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9085" Protocol="http"/>
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
<Property Name="Keyring" value="safkeyring:///mzjring1/">
<Property Name="Stashfile" value=""""/>
<Property Name="certLabel" Value="selfsigned"/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="SY1_ClusterMember1"/>
<Server Name="SY1_ClusterMember2"/>
</PrimaryServers>
</ServerCluster>
Pour les utilisateurs en transition Pour les utilisateurs en transition: La version 5.3 du plug-in de serveur Web pour IBM HTTP Server for z/OS utilise une interface SSL différente de celle qui était utilisée dans les versions de ce plug-in antérieures à la version 7. Les connexions SSL entre la version 5.3 du plug-in pour IBM HTTP Server for z/OS et le serveur d'applications fonctionnent désormais exactement de la même façon que les connexions SSL entre un serveur IBM HTTP Server géré par Apache et un serveur d'applications. Les valeurs indiquées pour les éléments "keyring" et "stashfile" dans le fichier plugin-cfg.xml ne sont plus ignorées. Elles ne sont pas non plus affectées par l'environnement SSL défini dans la version 5.3 d'IBM HTTP Server for z/OS.trns

Le module contenant la modification provisoire du logiciel (PTF) UK35083 de z/OS inclut la modification de l'interface SSL de HTTP Server for z/OS version 5.3, qui correspond à ce changement de plug-in de serveur Web. C'est pourquoi vous devez appliquer cette modification à votre système pour que la nouvelle interface SSL du plug-in du serveur Web puisse fonctionner correctement.

Vous devez également inclure l'option SSLMODE=MULTI dans le fichier httpd.conf pour IBM HTTP Server for z/OS version 5.3. L'option SSLMODE=ON n'est pas prise en charge dans la Version 7.0 ou ultérieure.

Si l'option SSLMode multi n'est pas indiquée dans le fichier httpd.conf ou si le module contenant la PTF UK35083 de z/OS n'est pas appliqué à votre système, vous risquez de recevoir le message d'erreur IMW0584W. Il indique que le mode SSL spécifié pour le serveur HTTP n'est pas compatible avec le mode SSL du plug-in du serveur Web utilisé avec IBM HTTP Server for z/OS, Version 5.3. Dans chacun de ces cas, des conséquences inattendues peuvent survenir.

En ce qui concerne les plug-ins de serveur Web pour IBM HTTP Server for z/OS version 5.3 et IBM HTTP Server on z/OS, technologie Apache :
  • Si vous utilisez un fichier kdb avec un fichier de dissimulation (stashfile) dans le système hiérarchique de fichiers, spécifiez à la fois les éléments Property Name=keyring et Property Name=stashfile, comme indiqué dans l'exemple précédent.
    Eviter les incidents Eviter les incidents: Le format des valeurs que vous indiquez pour ces éléments est différent de celui que vous avez indiqué dans les versions antérieures du produit.gotcha
  • Si vous utilisez un fichier de clés SAF (System Authorization Facility) à la place d'un fichier kdb, vous devez créer les deux propriétés de plug-in personnalisées suivantes à partir de la console d'administration :
    KeyringLocation
    Indiquez l'emplacement du répertoire du fichier de clés SAF comme valeur pour cette propriété. Lorsque vous enregistrez ce changement de configuration, cet emplacement de répertoire devient la valeur de la propriété keyring dans le fichier plugin-cfg.xml.
    StashfileLocation
    Indiquez """" (null) comme valeur pour cette propriété. Lorsque vous enregistrez ce changement de configuration, """" (null) devient la valeur de la propriété stashfile dans le fichier plugin-cfg.xml.

    Voir Propriétés de configuration du plug-in de serveur Web pour obtenir des instructions sur la création des propriétés KeyringLocation et StashfileLocation à partir de la console d'administration.

    Utilisez l'exemple suivant pour le fichier de clés SAF :
    <Transport Hostname="appserver.example.com" Port="9443" Protocol="https">
    <Property name="keyring" value="safkeyring:///SAF_keyring_name"/>
    <Property Name="stashfile" value=""""/>
    </Transport>
  • Name

    Indique le nom logique ou administratif à utiliser pour ce groupe de serveurs. Spécifiez un attribut par ServerCluster.

  • LoadBalance

    Les valeurs suivantes peuvent être spécifiées pour cet attribut :

    Permutation circulaire

    Aléatoire

    La mise en oeuvre de la permutation circulaire repose sur un point de départ aléatoire. Le premier serveur d'applications est donc sélectionné de manière aléatoire. La technique de permutation circulaire est ensuite utilisée pour sélectionner les serveurs d'applications. Sur les serveurs Web reposant sur plusieurs processus, cette mise en oeuvre permet de s'assurer que tous les processus ne commencent pas par l'envoi de la première demande au même serveur d'applications.

    L'implémentation aléatoire possède également un point de départ aléatoire. Toutefois, avec cette mise en oeuvre, tous les serveurs suivants sont également sélectionnés de manière aléatoire. Par conséquent, le même serveur peut être sélectionné plusieurs fois alors que d'autres serveurs resteront en veille.

    Le type d'équilibrage de la charge par défaut est la permutation circulaire (Round Robin).

  • IgnoreAffinityRequests

    Spécifie si le plug-in ignore le nombre de demandes d'affinité envoyées à un serveur lors de la sélection de serveurs basée sur l'algorithme de permutation circulaire (Round Robin). Spécifiez zéro ou un attribut par ServerCluster. La valeur est true ou false. Si la valeur est définie sur false, le nombre de demandes d'affinité effectuées est aussi pris en compte dans le processus de sélection du serveur.

    La valeur par défaut est false, ce qui signifie que le nombre de demandes d'affinité effectuées est utilisé dans l'algorithme de permutation circulaire (Round Robin).

    Pour les utilisateurs en transition Pour les utilisateurs en transition: Pour les utilisateurs en transition : modification par rapport aux versions précédentes du produit. La valeur par défaut est true dans les versions précédentes de WebSphere Application Server.trns
  • RetryInterval

    Spécifie une valeur entière pour le délai qui s'écoule entre le moment où un serveur est repéré comme étant "hors fonction" (down) et celui où le plug-in tente une nouvelle connexion à ce serveur. La valeur par défaut est 60 secondes. Spécifiez zéro ou un attribut par ServerCluster.

  • RemoveSpecialHeaders

    Le plug-in ajoute des en-têtes spéciaux à la demande avant de la réacheminer vers le serveur d'applications. Ces en-têtes stockent les informations relatives à la demande, qui sont utilisées par l'application. Par défaut, le plug-in supprime les en-têtes des demandes entrantes avant d'ajouter ceux qu'il est censé ajouter. Spécifiez zéro ou un attribut par ServerCluster.

    La valeur peut être true ou false. Le choix de la valeur false, et donc le maintien des en-têtes d'origine dans les demandes entrantes, représente une menace potentielle pour la sécurité.

  • CloneSeparatorChange

    Indique au plug-in que le séparateur de clones est le signe plus (+) et non pas le signe deux-points. Certaines unités mobiles ne peuvent pas gérer le signe deux-points (:) utilisé pour séparer les ID des clones en association avec l'affinité de session. Vous devez, dans ce cas, modifier les configurations des serveurs d'applications afin qu'ils utilisent également le signe plus comme caractère séparateur des ID de clone. Spécifiez zéro ou un attribut par ServerCluster.

    La valeur peut être true ou false.

  • PostSizeLimit

    Nombre maximal de blocs de ko (1 024 octets) que le contenu d'une demande ne doit pas dépasser pour que cette dernière puisse être envoyée par le plug-in au serveur d'applications. Si une demande reçue dépasse cette taille, le plug-in la rejette (il ne la transmet pas au serveur d'applications). La valeur par défaut est -1, qui indique qu'il n'y a pas de limite de taille. Spécifiez zéro ou un attribut par ServerCluster.

  • PostBufferSize

    Indique, en ko, la taille maximale de la mémoire tampon utilisée pour lire le contenu d'une requête HTTP. Si le serveur d'applications qui reçoit initialement une requête ne peut pas la traiter, les données contenues dans la mémoire tampon sont envoyées à un autre serveur d'applications. Il tente ensuite de faire traiter la requête par ce serveur d'applications. Vous pouvez attribuer une valeur nulle à cette option si vous ne souhaitez pas mettre en mémoire tampon les requêtes ayant un contenu, puis procéder à une nouvelle tentative.

    Cette option améliore la disponibilité du plug-in. Si une valeur non nulle est attribuée à cette option, tous les paquets en attente contenant une charge sont de nouveau envoyés si le serveur d'applications sélectionné ne répond pas.

    En règle générale, les requêtes POST et PUT portent une charge, mais les autres requêtes le peuvent également. Même si un requête POST ou PUT ne contient pas de charge, elle fait l'objet d'une nouvelle tentative si la valeur spécifiée pour cette option n'est pas nulle.

    La valeur par défaut est 0. Spécifiez l'attribut zéro ou un pour chaque ServerCluster.

  • ServerIOTimeoutRetry

    Définit une limite pour le nombre de nouvelles tentatives de soumission de plug-ins HTTP arrivés à expiration, suite à une erreur ServerIOTimeout. La valeur par défaut, -1, indique qu'aucune limite supplémentaire ne s'applique au nombre de nouvelles tentatives. La valeur 0 indique qu'aucune nouvelle tentative n'aura lieu. Le nombre de nouvelles tentatives est toujours limité par le nombre de serveurs disponibles dans le cluster.

    Important : Cette directive ne s'applique pas aux délais d'attente ou pannes de connexion suite à l'erreur ConnectTimeout du plug-in HTTP.
  • Serveur
    Indique une instance WebSphere Application Server qui est configurée pour traiter les demandes qui lui sont transmises, en fonction des règles de routage définies dans la configuration du plug-in. Le serveur correspond à un serveur d'applications s'exécutant soit sur la machine locale, soit sur une machine distante. Spécifiez zéro ou un attribut par ServerCluster.
    • Name

      Spécifie le nom administratif ou logique du serveur. Spécifiez exactement un attribut par serveur.

    • CloneID

      Si cet ID unique est présent dans l'en-tête Cookie d'une demande HTTP, ou dans l'URL en cas d'utilisation de la réécriture d'URL, le plug-in transmet la demande à ce serveur particulier, à condition que toutes les autres règles de routage soient respectées. Si l'attribut CloneID n'est pas spécifié dans le serveur, cela signifie que l'affinité de session n'est pas activée pour ce serveur. Vous pouvez spécifier zéro ou un attribut par serveur.

      Cet attribut est utilisé avec l'affinité de session. Lorsqu'il est spécifié explicitement dans un élément Server, le plug-in recherche JSESSIONID dans l'en-tête Cookie ou l'URL de la demande entrante. Si JSESSIONID est présent, le plug-in recherche un ou plusieurs ID de clone. Si des ID de clone sont trouvés et que l'un d'eux concorde avec la valeur spécifiée pour cet attribut, la demande est envoyée au serveur correspondant plutôt que d'être soumise aux règles d'équilibrage de charge en vigueur dans le cluster.

      Pratiques recommandées Pratiques recommandées: Si vous n'utilisez pas le mécanisme d'affinité de session, supprimez ces ID de clone de la configuration, car la définition de ces valeurs alourdit inutilement le traitement des demandes par le plug-in. Si aucun ID de clone n'est présent dans le plug-in, le mécanisme d'affinité de session est considéré comme inactif et les demandes sont alors distribuées aux serveurs du cluster suivant les règles d'équilibrage de charge en vigueur.bprac
    • WaitForContinue

      Indique si le support HTTP 1.1 100 Continue doit être utilisé avant l'envoi du contenu de la requête au serveur d'applications. Les valeurs possibles de cet attribut sont true et false. La valeur par défaut est false, ce qui signifie que le plug-in n'attend pas la réponse 100 Continue du serveur d'applications avant de lui envoyer le contenu de la demande, car cela affecte les performances. Spécifiez zéro ou un attribut par serveur.

      Cette propriété est ignorée pour les demandes POST afin d'éviter qu'un échec ne se produise si le serveur d'applications ferme une connexion en raison de l'expiration de son délai de maintien en vie (keep-alive timeout).

      Activez cette fonction en lui affectant la valeur true lorsque vous configurez le plug-in pour fonctionner avec certains types de pare-feu proxy.

    • LoadBalanceWeight

      Indique le poids initial affecté à ce serveur lorsque le plug-in équilibre la charge en utilisant la technique de permutation circulaire pondérée. Spécifiez zéro ou un attribut par serveur. La valeur de départ pour un serveur peut être n'importe quel entier entre 0 et 20. Toutefois, spécifiez zéro uniquement pour un serveur qui n'est pas en cours d'exécution.

      Pour chaque serveur, la valeur LoadBalanceWeight est décrémentée pour chaque demande qui est traitée par ce serveur. Après que le poids d'un serveur particulier d'un cluster de serveurs atteint zéro, seules les demandes avec affinité de session sont routées vers ce serveur. Lorsque tous les serveurs du cluster atteignent à leur tour un poids de zéro, les poids de tous les serveurs du cluster sont réinitialisés et l'algorithme redémarre.

      Pratiques recommandées Pratiques recommandées: Lorsqu'un serveur n'est pas en cours d'exécution, affectez-lui un poids nul. Ainsi, le plug-in peut réinitialiser les poids des serveurs encore actifs et continuer à équilibrer la charge correctement.bprac
    • ConnectTimeout

      Permet au plug-in d'établir des connexions non bloquantes avec le serveur d'applications. Les connexions non bloquantes sont utiles lorsque le plug-in ne peut contacter la destination pour déterminer si le port est disponible. Spécifiez zéro ou un attribut par serveur.

      Si la valeur ConnectTimeout n'est pas spécifiée ou est égale à 0, le plug-in établit une connexion bloquante et attend jusqu'à l'expiration du délai d'attente du système d'exploitation (délai qui peut atteindre deux minutes sur certaines plateformes). Il peut alors marquer le serveur comme non disponible. Lorsque la valeur 0 est indiquée, le plug-in établit une connexion bloquante. Une valeur supérieure à 0 indique, en secondes, le délai pendant lequel le plug-in attend l'établissement d'une connexion. Si la connexion n'est pas établie dans le délai imparti, le plug-in marque le serveur comme étant non disponible et passe à l'un des autres serveurs définis dans le cluster.

      La valeur par défaut est 5.

    • ExtendedHandshake

      Est utilisé lorsqu'un pare-feu proxy est intercalé entre le plug-in et le serveur d'applications. Dans un pareil cas, le basculement du plug-in sur un autre serveur ne s'effectue pas comme prévu. Spécifiez zéro ou un attribut par serveur.

      Le plug-in marque un serveur comme inactif lorsque la méthode connect() échoue. Toutefois, lorsqu'un pare-feu de proxy se trouve entre le plug-in et le serveur d'applications, la méthode connect() aboutit même si le serveur dorsal est inactif. De cette façon, le plug-in ne connaît pas de reprise sur d'autres serveurs d'applications.

      Grâce à cet attribut, le plug-in peut procéder à une forme d'établissement de liaison (handshaking) avec le serveur d'applications afin de s'assurer qu'il est démarré avant de lui envoyer une demande. Ce scénario lui permet de basculer sur les autres serveurs au cas où le serveur concerné serait hors fonction.

      La valeur peut être true ou false.

    • MaxConnections

      Indique le nombre maximal de connexions en attente destinées à un serveur d'applications et susceptibles d'être mises en oeuvre à tout moment par un processus de serveur Web. Spécifiez un élément par serveur.

      Par exemple, dans le scénario suivant :
      • En amont du serveur d'applications se trouvent cinq noeuds sur lesquels IBM HTTP Server est exécuté.
      • Chaque noeud lance deux processus.
      • L'attribut MaxConnections est réglé à 50.

      Dans cet exemple, le serveur d'applications peut en théorie établir jusqu'à 500 connexions. Multipliez le nombre de noeuds, 5, par le nombre de processus, 2, puis par la valeur spécifiée pour l'attribut MaxConnections, 50, et vous obtenez un total de 500 connexions.

      [z/OS]Cet attribut n'est pas nécessaire sur le système d'exploitation z/OS. Le contrôleur z/OS, avec la fonction WLM (gestion de charge de travail), gère les nouvelles connexions de manière dynamique.

      Par défaut, MaxConnections est réglé à -1. Si cet attribut a la valeur 0 (zéro) ou -1, il n'y a pas de limite au nombre de connexions en attente sur les serveurs d'applications.

    • Transport

      Indique le transport utilisé pour la lecture et l'écriture des demandes sur une instance particulière de WebSphere Application Server. L'élément Transport fournit les informations nécessaires pour déterminer l'emplacement du serveur d'applications auquel la demande est envoyée. Le plug-in ne peut pas reconnaître que plusieurs transports sont définis pour utiliser le même protocole. Le transport sélectionné par le plug-in ne peut pas être prévu. Le plug-in utilise toujours le premier transport qu'il détecte dans son traitement. Spécifiez un ou plusieurs elements pour chaque serveur.

      Il est possible de configurer le serveur de sorte qu'il ait un transport non sécurisé et un autre utilisant SSL. Dans cette configuration, le protocole de la demande entrante est pris en compte afin de déterminer le transport à utiliser pour envoyer cette demande au serveur d'applications.

      • Nom d'hôte

        Indique le nom d'hôte ou l'adresse IP de la machine sur laquelle s'exécute l'instance de WebSphere Application Server. Il existe exactement un attribut par transport.

      • Port

        Indique le port écouté par l'instance de WebSphere Application Server. Il existe exactement un attribut par transport.

      • Protocole

        Indique le protocole à utiliser lors de la communication via ce transport : HTTP ou HTTPS. Il existe exactement un attribut par transport.

    • Propriété
      Spécifiez zéro, un ou plusieurs éléments par transport. Lorsque le protocole du transport a pour valeur HTTPS, utilisez cet élément pour spécifier les divers paramètres d'initialisation, tels que le mot de passe (password), le fichier de clés (keyring) et le fichier de dissimulation (stashfile). Par exemple, la partie du fichier plugin-cfg.xml contenant ces éléments pourrait ressembler au code suivant :
      <Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
      <Property Name="keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
      <Property Name="stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
      <Property Name="password" value="WebAS"/>
      • Name

        Indique le nom de la propriété en cours de définition. Les noms de propriété reconnus par l'élément Transport sont keyring, stashfile et password.

        Eviter les incidents Eviter les incidents: Le seul nom qui peut être spécifié pour le plug-in WebSphere HTTP for z/OS est password. Si vous spécifiez keyring et stashfile, ils sont ignorés.gotcha
        Spécifiez exactement un attribut par propriété.
      • Value

        Indique la valeur de la propriété en cours de définition. Spécifiez exactement un attribut par propriété.

    • ServerIOTimeout

      Permet au plug-in de définir, en secondes, un délai d'expiration pour l'envoi de demandes au serveur d'applications et la lecture des réponses.

      Si vous définissez l'attribut ServerIOTimeout sur une valeur positive, cette tentative visant à contacter le serveur prend fin une fois le délai d'expiration écoulé. Toutefois, le serveur n'est pas considéré comme indisponible et les demandes futures continuent à être envoyées au serveur sur lequel le délai d'attente d'indisponibilité a expiré.

      Si vous définissez l'attribut ServerIOTimeout sur une valeur négative, le serveur est considéré comme indisponible à chaque expiration du délai d'attente et aucune demande future n'est envoyée au serveur sur lequel le délai d'attente a expiré.

      Si aucune valeur n'est définie pour l'attribut ServerIOTimeout, le plug-in utilise par défaut des entrées-sorties bloquées pour écrire les demandes et lire les réponses du serveur d'applications jusqu'à expiration du délai de connexion TCP. Voici, par exemple, les paramètres pouvant être spécifiés :

      <Server Name="server1" ServerIOTimeout=300>

      Dans cette situation, si un serveur d'applications arrête de répondre aux demandes, le plug-in attend 300 secondes (5 minutes) avant de faire expirer la connexion TCP. Attribuer une valeur raisonnable à l'attribut ServerIOTimeout permet au plug-in de faire expirer la connexion plus tôt et ainsi, lorsque c'est possible, de transférer les demandes à un autre serveur d'applications.

      Lorsque vous attribuez une valeur à cet attribut, souvenez-vous que le serveur d'applications met parfois quelques minutes à traiter une demande. Si vous attribuez une valeur trop faible à l'attribut ServerIOTimeout, il se peut que le plug-in renvoie un message d'erreur de serveur erroné au client.

      La valeur par défaut est 900, soit 15 minutes.

      Eviter les incidents Eviter les incidents: L'attribut ServerIOTimeout limite la durée pendant laquelle le plug-in attend le retour d'une opération de lecture ou d'écriture particulière. Il ne représente pas un délai imparti à la demande dans son ensemble.gotcha

      Pour obtenir des conseils supplémentaires sur la configuration de l'attribut ServerIOTimeout, voir la note technique sur la configuration du plug-in de serveur Web sur le site Web de support IBM.

    Toutes les demandes au serveur d'applications et toutes les réponses de lecture de celui-ci n'ont pas besoin des mêmes règles d'expiration pour ServerIOTimeout, ServerIOTimeoutRetry et Extended Handshake / 100 Continue. Toutes les URL n'ont pas le même comportement, et lorsqu'elles sont traitées, il peut être nécessaire de faire expirer une demande plus rapidement, ou de ne pas relancer la demande sur tous les serveurs. Vous pouvez désigner des URL particulières qui utiliseront des paramètres ServerIOTimeout, ServerIOTimeoutRetry modifiés ou un délai d'expiration réduit pour ExtendedHandshake ou 100-Continues. Les autres URL (non modifiées) continuent à utiliser les valeurs définies dans le fichier Plugin-cfg.xml.

    La désignation d'une URL à laquelle appliquer ce délai d'expiration modifié se fait à l'aide de directives SetEnvIf dans le fichier httpd.conf. De même que les propriétés disponibles dans le fichier Plugin-cfg.xml, websphere-serveriotimeout et websphere-serveriotimeoutretry peuvent accepter les mêmes valeurs. WebSphere-shorten-handshake ne peut prendre que la valeur "1". Cette valeur indique au plug-in d'utiliser la valeur ConnectTimeout comme durée d'attente pour les réponses ExtendedHandshake ou 100-Continue. Par exemple,
    SetEnvIf Request_URI "\.jsp$" websphere-serveriotimeout=10
    SetEnvIf Request_URI "\.jsp$" websphere-serveriotimeoutretry=-1
    SetEnvIf Request_URI "\.jsp$" websphere-shorten-handshake=1
  • wsServerIOTimeout

    Cet attribut définit une valeur de délai exprimée en secondes pour les actions de lecture et d'écriture en instance entre le plug-in de serveur Web et une application WebSocket. Lorsque la valeur spécifiée est dépassée, les ressources détenues par un serveur d'applications qui ne répond pas sont libérées.

    La valeur par défaut est 30 secondes.

  • wsServerIdleTimeout

    Cet attribut définit une valeur de délai d'attente exprimée en secondes correspondant à la durée pendant laquelle une connexion entre le plug-in de serveur Web et une application WebSocket peut rester inactive. Lorsque la valeur spécifiée est dépassée, les ressources détenues par le serveur d'applications sont libérées.

    La valeur par défaut est de 900 secondes.

  • ClusterAddress

    Un élément ClusterAddress s'apparente à un élément Server en ce sens que vous pouvez spécifier les mêmes attributs et éléments. La différence réside dans le fait que vous ne pouvez en définir qu'un seul à l'intérieur d'un élément ServerCluster. Utilisez un élément ClusterAddress lorsque vous disposez déjà d'une fonction d'équilibrage de charge entre le plug-in et le serveur d'applications et que vous souhaitez interdire au plug-in d'effectuer toute forme d'équilibrage de charge.

    Eviter les incidents Eviter les incidents: Si vous incluez une balise ClusterAddress, vous devez spécifier l'attribut Name de cette balise. Le plug-in se sert de l'attribut Name pour associer l'adresse de cluster à l'hôte et au port corrects. Si vous ne spécifiez pas l'attribut Name, le plug-in affecte à l'adresse de cluster le nom indiqué pour le serveur qui utilise le même hôte et le même port.
    <ClusterAddress Name="MyClusterAddr">
    <Transport Hostname="192.168.1.2" Port="9080" Protocol="HTTP"/>
    <Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
    </ClusterAddress>
    gotcha

    Si une demande parvient au plug-in et ne possède aucune affinité établie, le plug-in la transmet, le cas échéant, à l'adresse de cluster définie. Si, au contraire, une affinité est établie dans la demande, le plug-in transmet celle-ci directement au clone approprié, en contournant entièrement l'adresse de cluster. Si aucune adresse de cluster n'est définie pour le cluster de serveurs, le plug-in répartit la charge sur les serveurs de la liste des serveurs principaux.

    Vous pouvez spécifier zéro ou un élément par ServerCluster.

  • PrimaryServers

    Dresse la liste des serveurs définis auxquels le plug-in doit transmettre les demandes pour ce cluster. Si aucune liste de serveurs principaux n'est spécifiée (pas d'élément primary), le plug-in transmet les demandes aux serveurs définis pour le cluster de serveurs. Spécifiez zéro ou un élément par ServerCluster.

  • BackupServers

    Dresse la liste des serveurs de secours auxquels les demandes sont envoyées si aucun des serveurs spécifiés dans la liste des serveurs principaux n'est disponible. Le plug-in n'équilibre pas la charge sur les serveurs de la liste des serveurs de secours ; il parcourt cette liste dans l'ordre, jusqu'à la fin ou jusqu'à ce que l'un des serveurs d'applications reçoive correctement une demande et y réponde. Spécifiez zéro ou un élément par ServerCluster.

VirtualHostGroup

Indique un groupe de noms d'hôtes virtuels qui apparaissent dans la zone Host de l'en-tête HTTP. Cette propriété permet de regrouper des définitions d'hôte virtuel configurées pour gérer des types de demandes similaires.

L'exemple suivant illustre un élément VirtualHostGroup et les éléments et attributs qui lui sont associés :

<VirtualHostGroup Name="Hosts">
<VirtualHost Name="www.x.com"/>
<VirtualHost Name="www.x.com:443"/>
<VirtualHost Name="*:8080"/>
<VirtualHost Name="www.x.com:*"/>
<VirtualHost Name="*:*"/>
</VirtualHostGroup>

UriGroup

Indique un groupe d'URI qui apparaissent sur la ligne de la demande HTTP. Le même serveur d'applications doit pouvoir traiter tous les URI du groupe. Le plug-in compare l'URI figurant dans une demande entrante aux URI définis dans le groupe pour déterminer si le serveur d'applications traite cette demande.

L'exemple suivant illustre un élément UriGroup et les éléments et attributs qui lui sont associés :

<UriGroup Name="Uris">
<Uri Name="/servlet/snoop/">
<Uri Name="/webapp/*/">
<Uri Name="*.jsp/">
</UriGroup>
  • Name

    Indique le nom logique ou administratif de ce groupe d'URI. Spécifiez exactement un attribut par groupe d'URI.

  • Uri

    Indique le chemin virtuel d'accès à la ressource qui est servie par WebSphere Application Server. Chaque URI spécifie les URL entrantes que le serveur d'applications doit prendre en charge. Vous pouvez utiliser des caractères génériques dans ces définitions. Spécifiez un ou plusieurs attributs par groupe d'URI.

    • Name

      Indique la chaîne à spécifier dans la ligne d'une demande HTTP pour que cette dernière concorde avec cet URI. Vous pouvez utiliser des caractères génériques dans la définition de l'URI. Vous pouvez spécifier des règles telles que *.jsp ou /servlet/* afin que les demandes correspondantes soient traitées par WebSphere Application Server. Lorsque vous assemblez votre application Web, si vous sélectionnez l'option Service des fichiers activé, seul un URI générique sera généré pour cette application, même si vous avez défini des mappages de servlets explicites. Si vous spécifiez Prise en charge des servlets par nom de classe, l'URI suivant est généré : <Uri Name="URI_application_Web/servlet/*">.

      Il existe exactement un attribut par URI.

    • AffinityCookie

      Indique le nom du cookie que le plug-in utilise pour tenter de déterminer si la demande entrante présente une affinité de session. La valeur par défaut est JSESSIONID.

      Pour plus d'informations sur l'affinité de session, voir la description de l'attribut CloneID.

      Vous pouvez spécifier zéro ou un attribut par URI.

    • AffinityURLIdentifier

      Indique le nom de l'identificateur que le plug-in utilise pour tenter de déterminer si la demande entrante présente une affinité spécifiée dans l'URL avec un clone particulier. La valeur par défaut est jsessionid.

      Pour plus d'informations sur l'affinité de session, voir la description de l'attribut CloneID.

      Vous pouvez spécifier zéro ou un attribut par URI.

Route

Indique une règle de routage des demandes que le plug-in utilise pour déterminer si une demande entrante doit être traitée par WebSphere Application Server.

La définition Route est l'élément central de la configuration du plug-in. En effet, c'est elle qui détermine comment le plug-in gère les demandes, en fonction de certaines de leurs caractéristiques. La définition Route contient les autres éléments (ou attributs) principaux, à savoir un élément ServerCluster (obligatoire) et un élément VirtualHostGroup ou UriGroup (ou les deux).

En utilisant les informations spécifiées dans les attributs VirtualHostGroup et UriGroup de l'élément Route, le plug-in détermine si une demande parvenant au serveur Web est transmise à l'élément ServerCluster qui est défini dans cette route.

Voici un exemple de cet élément :

<Route VirtualHostGroup="Hosts" UriGroup="Uris" ServerCluster="servers"/>
  • VirtualHostGroup

    Indique le groupe d'hôtes virtuels qui est utilisé pour déterminer le routage de la demande. Le nom d'hôte et le port de serveur figurant dans la zone Host de l'en-tête HTTP de la demande entrante sont comparés aux entrées de ce groupe pour déterminer si cette demande est prise en charge par le serveur d'applications.

    Il est possible d'omettre cette propriété dans la définition de la route à suivre. Dans ce cas, toute demande quelle qu'elle soit est acceptée à ce stade de la détermination de la route.

    Vous pouvez spécifier zéro ou un attribut par route.

  • UriGroup

    Indique le groupe d'URI à utiliser pour déterminer la route. Sélectionnez zéro ou un groupe par route. L'URI entrant figurant dans la demande est comparé aux URI définis dans le groupe pour déterminer si cette demande est prise en charge par le serveur d'applications.

    Il est possible d'omettre cette propriété dans la définition de la route à suivre. Dans ce cas, toute demande quelle qu'elle soit est acceptée à ce stade de la détermination de la route.

  • ServerCluster

    Indique le cluster qui reçoit les demandes correspondant à la route. Sélectionnez exactement un cluster par route.

    Le cluster est utilisé pour traiter cette demande. Si une demande répond à la fois aux critères du groupe d'hôtes virtuels et du groupe d'URI définis pour cette route, elle est envoyée à l'un des serveurs définis dans ce cluster.

RequestMetrics

Sert à déterminer si les mesures des demandes sont activées et, dans l'affirmative, comment filtrer les demandes d'après leur adresse IP et leur URI.

Voici un exemple de cet élément :

<RequestMetrics armEnabled="false"  loggingEnabled="true"
			rmEnabled="false" traceLevel="PERF_DEBUG">
  • armEnabled

    Indique si l'agent ARM 4 est activé dans le plug-in. Si sa valeur est true, l'agent ARM 4 est appelé.

    Eviter les incidents Eviter les incidents: Dans le cas du serveur Web SunOne (iPlanet), la directive suivante doit être incluse dans le fichier obj.conf afin d'activer le support d'ARM 4 :
    AddLog fn="as_term" 
    Si cette directive n'est pas incluse, la procédure arm_stop n'est jamais appelée.gotcha

    Sélectionnez zéro ou un attribut par mesure de demande.

  • loggingEnabled

    Indique si la journalisation est activée pour les mesures des demandes. Si sa valeur est true, et à condition que le niveau de trace (traceLevel, voir plus bas) ne soit pas réglé sur NONE, le plug-in consigne diverses informations sur les demandes, en particulier leur temps de réponse. Si sa valeur est false, il n'y a pas de journalisation des demandes. La valeur de l'attribut loggingEnabled dépend de celle qui est spécifiée pour la propriété système com.ibm.websphere.pmi.reqmetrics.loggingEnabled. Si cette propriété système n'est pas spécifiée explicitement, loggingEnabled est réglé sur true. Spécifiez exactement un attribut par mesure de demande.

  • rmEnabled

    Indique si les mesures des demandes sont activées dans le plug-in. Si sa valeur est true, le plug-in des mesures de demande examine les filtres et consigne les enregistrement de trace des demandes dans le journal du plug-in. Seules sont tracées et journalisées les demandes qui passent à travers les filtres. Si cet attribut est réglé sur false, tous les autres attributs de l'élément RequestMetrics sont ignorés. Spécifiez exactement un attribut par mesure de demande.

  • traceLevel

    Indique quelles informations sont consignées lorsque l'attribut rmEnabled est défini sur true. Si sa valeur est NONE, aucune journalisation des demandes n'a lieu. Si sa valeur est différente de NONE et que loggingEnabled est réglé sur true, le plug-in consigne diverses informations sur chaque demande, en particulier son temps de réponse, une fois son traitement terminé. Spécifiez exactement un attribut par mesure de demande.

  • filters

    Lorsque rmEnabled est réglé sur true, les éléments filter servent à déterminer quelles demandes sont tracées. Spécifiez zéro, un ou deux attributs par mesure de demande.

    • enable

      Lorsque enable est réglé sur true, le type de filtre correspondant est actif et les demandes y sont soumises (elles doivent passer à travers pour pouvoir être tracées). Spécifiez exactement un attribut par filtre.

    • type

      Il existe deux types de filtres : SOURCE_IP (par exemple, l'adresse IP du client) et URI. Dans le cas du filtre SOURCE_IP, les demandes sont filtrées d'après une adresse IP connue. Vous n'êtes pas tenu de spécifier une adresse IP précise ; il peut s'agir d'un masque utilisant l'astérisque (*) comme caractère générique. Dans ce cas, l'astérisque doit toujours être le dernier caractère du masque. Par exemple, 127.0.0.*, 127.0.* ou 127*. Pour des raisons de performances, la détermination de la concordance entre l'adresse IP source et le masque s'effectue caractère par caractère et prend fin dès que l'une des conditions suivantes est rencontrée : un astérisque est trouvé dans le filtre (la demande passe le filtre), une différence est identifiée dans les caractères qui précèdent l'astérisque (la demande ne passe pas le filtre) ou tous les caractères de l'adresse IP source concordent avec le masque (la demande passe le filtre).

      Dans le cas du filtre de type URI, les demandes sont filtrées d'après l'URI qu'elles contiennent. Les règles de détermination de la concordance avec le filtre sont les mêmes que celles du filtre SOURCE_IP.

      Si les filtres d'URI et d'adresse IP de client sont activés, Request Metrics requiert une correspondance pour les deux types de filtre. Si aucun des filtres n'est activé, toutes les demandes sont prises en compte et soumises aux mesures.

      Il existe exactement un attribut par filtre.

    • filterValues

      Indique les informations détaillées du filtre. Spécifiez un ou plusieurs attributs par filtre.

      • value

        Spécifie la valeur du filtre pour le type de filtre correspondant. Cette valeur doit être une adresse IP de client ou un URI. Spécifiez exactement un attribut par valeur de filtre.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsv_plugincfg
Nom du fichier : rwsv_plugincfg.html