Propriétés personnalisées du canal de transport HTTP

Si vous utilisez un canal de transport TCP, vous pouvez ajouter les propriétés personnalisées suivantes aux paramètres de configuration de ce canal.

Eviter les incidents Eviter les incidents: Il existe quatre chaînes de transport de conteneur Web :
  • WCInboundAdmin
  • WCInboundAdminSecure
  • WCInboundDefault
  • WCInboundDefaultSecure

Un serveur d'applications ou un serveur proxy hérite des valeurs de propriété personnalisées spécifiques pour une chaîne de transport WCInboundAdmin ou WCInboundAdminSecure car c'est généralement une de ces chaînes qui est activée la première lors de l'initialisation du serveur d'applications. C'est pourquoi, avant de spécifier des propriétés personnalisées pour une chaîne de transport de conteneur Web, vous devez désactiver les chaînes de transport WCInboundAdmin et WCInboundAdminSecure.

gotcha
Pour ajouter une propriété personnalisée, effectuez les opérations ci-dessous.
  1. Dans la console d'administration, cliquez sur Serveurs > Types de serveurs, puis sélectionnez l'une des options suivantes, selon le type de chaîne que vous voulez créer :
    • Serveurs d'applications > > nom_serveur. Sous Paramètres de conteneur Web, cliquez sur Chaînes de transport de conteneur Web > nom_chaîne > Canal entrant HTTP > Propriétés personnalisées > Nouveau.
    • Serveurs relais WebSphere > nom_serveur. Dans Paramètres du serveur relais HTTP, cliquez surTransports de serveur relais. Sélectionnez ensuite HTTPS_PROXY_CHAIN ou HTTP_PROXY_CHAIN et cliquez sur > Canal entrant HTTP > Propriétés personnalisées > Nouveau.
  2. Sous Propriétés générales, indiquez le nom de la propriété personnalisée dans la zone Nom et sa valeur dans la zone Valeur. Vous pouvez également ajouter la description de la propriété dans la zone Description.
  3. Cliquez sur Appliquer ou sur OK.
  4. Cliquez sur Sauvegarder pour sauvegarder les modifications apportées à la configuration.
  5. Redémarrez le serveur.
Voici les descriptions des propriétés personnalisées fournies avec le produit pour le canal de transport HTTP. Ces propriétés ne s'affichent pas dans la page des paramètres d'un canal de transport HTTP. Vous pouvez accéder à la page Propriétés personnalisées pour définir les propriétés suivantes :

accessLogFormat

Utilisez la propriété accessLogFormat pour spécifier les informations que vous souhaitez inclure dans le journal d'accès NCSA pour un canal de transport HTTP, ainsi que le format de ces informations. La valeur de cette propriété est une liste d'options séparées par des espaces. L'ordre dans lequel vous indiquez les options détermine le format de ces informations dans le journal.

Chaque option peut être placée entre guillemets, mais les guillemets ne sont pas obligatoires. Sauf indication contraire, la valeur - est imprimée pour une option si les informations demandées ne peuvent pas être obtenues pour cette option.

La liste ci-dessous indique les options disponibles et les informations qui sont imprimées si cette option est spécifiée dans le cadre de la valeur indiquée pour cette propriété.
%a
Adresse IP distante
%A
Adresse IP locale
%b
Taille de la réponse, en octets, sans les en-têtes
%B
Taille de la réponse, en octets, à l'exclusion des en-têtes

0 est imprimé à la place - si aucune valeur n'est trouvée.

%{CookieName}C ou %C
Le cookie de demande spécifié entre les crochets ou, si les crochets ne sont pas inclus, tous les cookies de demande sont imprimés.
%D
Temps écoulé de la demande, à la milliseconde et la microseconde près.
%h
Hôte distant
%i ou %{HeaderName}i
Valeur d'en-tête HeaderName de la demande
%m
Méthode de demande
%o ou %{HeaderName}o
Valeur d'en-tête HeaderName de la réponse
%q
Sortie de la chaîne de requête avec tous les mots de passe accompagnés d'un caractère d'échappement
%r
Première ligne de la demande
%s
Code d'état de la réponse
%t
Format NCSA de l'heure de début de la demande
%(t)W
Heure en cours à laquelle le message en file d'attente dans le journal d'accès doit être consigné au format NCSA normal
%u
Utilisateur distant conformément à l'en-tête $WSRU spécifique à WebSphere Application Server
%U
Chemin d'URL, ne comprenant pas la chaîne de requête
%{X}W
ID de contexte XCT (Cross Component Tracing)

Par exemple, vous pouvez spécifier les directives suivantes comme valeur de cette propriété :

 %h %i %u %t "%r" %s %b
En fonction de ce paramétrage, le journal d'accès NCSA va inclure les informations suivantes pour chaque demande, dans l'ordre indiqué :
  • Hôte distant
  • Valeur d'en-tête HeaderName de la demande
  • Utilisateur distant conformément à l'en-tête $WSRU spécifique à WebSphere
  • Format NCSA de l'heure de début de la demande
  • Première ligne de la demande
  • Code d'état de la réponse
  • Taille de la réponse, en octets, sans les en-têtes
Eviter les incidents Eviter les incidents: Si vous utilisez cette propriété personnalisée, vérifiez que l'option Utiliser la journalisation spécifique de la chaîne est sélectionnée dans le cadre des paramètres de votre configuration pour la journalisation de l'accès NCSA. Par défaut, l'option Utilisez le service de consignation global est sélectionnée pour la journalisation des accès NCSA.gotcha

CookiesConfigureNoCache

Utilisez la propriété CookiesConfigureNoCache pour définir si la présence d'un en-tête Set-Cookie dans un message de réponse HTTP déclenche l'ajout de plusieurs en-têtes liés au cache. Si cette propriété est définie sur true, un en-tête Expires avec une date très ancienne et un en-tête Cache-Control indiquant explicitement au client de ne pas mettre en cache l'en-tête Set-Cookie sont automatiquement ajoutés. Si cette propriété est définie sur false, ces en-têtes ne sont pas automatiquement ajoutés.

Cette propriété équivaut au point de vue des fonctionnalités à la propriété com.ibm.websphere.cookies.no.header des précédentes versions du produit.

Information valeur
Type de donnée Booléenne
Valeur par défaut True

DoNotAllowDuplicateSetCookies

Utilisez la propriété DoNotAllowDuplicateSetCookies pour empêcher le canal HTTP d'envoyer plusieurs en-têtes Set-Cookie de même nom. La valeur par défaut est false.

Information valeur
Valeur par défaut False

EnableBuildBackupList

La propriété EnableBuildBackupList permet d'activer le canal HTTP pour rechercher les fichiers historiques dans le répertoire des journaux des erreurs et des accès, et de remplacer ces fichiers par des fichiers journaux créés plus récemment.

Lorsque la valeur true est affectée à cette propriété, le canal HTTP recherche les fichiers historiques dans le répertoire des journaux des erreurs et des accès, et remplace ces fichiers par des fichiers journaux créés plus récemment.

  • Une fois le journal des erreurs HTTP et le journal des accès NCSA configurés, vérifiez que la zone Activer la journalisation de l'accès NCSA est sélectionnée pour les canaux HTTP pour lesquels vous voulez activer la journalisation. Pour vérifier que cette zone est sélectionnée pour un canal HTTP, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications > serveur > Chaînes de transport du conteneur Web > Canal des communications entrantes HTTP. Ce paramètre doit être activé avant d'affecter la valeur true à cette propriété personnalisée pour avoir un impact sur la fonctionnalité du canal HTTP.
  • Si vous utilisez cette propriété personnalisée, vous devez également vous assurer que l'option Utilisez la journalisation spécifique de la chaîne est sélectionnée dans le cadre de vos paramètres de configuration pour la journalisation des accès NCSA. Par défaut, l'option Utilisez le service de consignation global est sélectionnée pour la journalisation des accès NCSA.
Information valeur
Type de donnée Booléenne
Valeur par défaut False

HonorTransferEncoding

La propriété HonorTransferEncoding indique si les canaux de transport HTTP doivent convertir un message tronqué en message délimité Content-Length lorsqu'il n'y a qu'un seul bloc.

Lorsque cette propriété est définie sur true, les canaux de transport HTTP écrivent les blocs au lieu de basculer vers un message Content-Length, même si le message n'est composé que d'un seul bloc. Ce paramètre a un impact sur les performances, car les canaux de transport HTTP effectuent deux écritures pour chaque message composé d'un seul bloc : la première écriture est destinée au message, tandis que la deuxième est destinée au bloc à zéro octet qui marque la fin du message.

Lorsque cette propriété est définie sur false, les canaux de transport HTTP convertissent un message tronqué en message délimité Content-Length lorsqu'il n'y a qu'un seul bloc. Ce paramètre améliore les performances du canal, car ce dernier n'effectue qu'une écriture pour un message à un seul bloc qui est converti en message Content-Length.

Information valeur
Type de donnée Booléenne
Valeur par défaut False

limitFieldSize

Utilisez la propriété limitFieldSize pour appliquer les limites de taille sur différentes zones HTTP telles que les URL de requête ou des noms ou des valeurs d'en-tête individuel. L'application des limites de tailles sur ces zones permet d'éviter d'éventuelles attaques de refus de service. Un erreur est renvoyée au client distant si une zone dépasse la taille autorisée.

Information valeur
Type de donnée Entierr
Valeur par défaut 32768
Intervalle 50-32768

limitNumHeaders

Utilisez la propriété limitNumHeaders pour limiter le nombre d'en-têtes HTTP qui peuvent être présents dans un message entrant. Si celle limite est dépassée, une erreur est renvoyée au client.

Information valeur
Type de donnée Entierr
Valeur par défaut 500
Intervalle 50 à 4000

localLogFilenamePrefix

Utilisez la propriété localLogFilenamePrefix pour définir un préfixe pour le nom de fichier du fichier de journal de réseau. En règle générale, lorsque l'optimisation des processus est activée, les demandes effectuées via ce chemin sont consignées en fonction des attributs de journalisation configurés pour la chaîne du canal réseau du conteneur Web. Vous pouvez utiliser cette propriété pour ajouter un préfixe au nom de fichier du fichier journal de réseau. Ce nouveau nom de fichier est ensuite utilisé comme nom de fichier pour le fichier journal des demandes de processus. Les demandes émises via le chemin de processus sont consignées dans ce fichier plutôt que dans le fichier journal réseau. Par exemple, si le nom du fichier journal pour une chaîne de transport réseau est .../httpaccess.log et que la valeur de cette propriété est local pour le canal HTTP dans cette chaîne, le nom du fichier journal pour les demandes de processus à l'hôte associé à cette chaîne est …/localhttpaccess.log.

Eviter les incidents Eviter les incidents: Si vous définissez une valeur pour la propriété personnalisée localLogFilenamePrefix, vous devez également définir la propriété personnalisée de canal HTTP accessLogFileName au nom qualifié complet du fichier journal que vous voulez utiliser pour les requêtes en processus. Vous ne pouvez pas définir une variable telle que $(SERVER_LOG_ROOT) comme valeur pour cette propriété personnalisée.gotcha
Information valeur
Type de donnée String (chaîne)

loggingDisable

Cette propriété personnalisée permet de désactiver NCSA, FRCA et la consignation des erreurs sur la chaîne spécifiée.

Information valeur
Type de donnée Booléenne
Valeur par défaut False

QuoteAddedNoCacheValue

Utilisez cette propriété personnalisée pour ajouter un attribut no-cache entre guillemets à un en-tête de réponse Cache-Control qui ne dispose pas déjà de cet attribut.

Le canal HTTP ajoutera l'attribut no-cache entre guillemets à l'en-tête. Dans l'exemple suivant, l'attribut no-cache est ajouté à l'en-tête qui est fourni dans la réponse : Cache-Control: public, max-age=604800, no-cache="set-cookie".

Information valeur
Valeur par défaut False

RemoveCLHeaderInTempStatusRespRFC7230compat

Utilisez la propriété RemoveCLHeaderInTempStatusRespRFC7230compat pour empêcher le canal HTTP d'envoyer l'en-tête Content-Length dans les messages de réponse avec des informations d'état 1xx ou 204.

Information valeur
Valeur par défaut False

RemoveServerHeader

Utilisez la propriété RemoveServerHeader pour forcer la suppression des en-têtes de serveur des réponses HTTP que le serveur d'applications envoie, cachant ainsi l'identité du programme serveur.

Information valeur
Type de donnée Booléenne
Valeur par défaut False

ServerHeaderValue

Utilisez la propriété ServerHeaderValue pour remplacer la valeur par défaut de l'en-tête de serveur ajouté à toutes les réponses HTTP sortantes par serveur s'il n'existe pas déjà d'en-tête de serveur. La valeur par défaut de l'en-tête de serveur est WebSphere Application Server v/x.x, où x.x correspond à la version de WebSphere Application Server exécutée sur votre système.

Avant la version 8.5.0.2, s'il n'existe pas d'en-tête de serveur, l'en-tête de serveur par défaut, ou celui que vous spécifiez comme valeur de cette propriété, est ajouté à toutes les réponses HTTP sortantes par le serveur.

A partir de la version 8.5.0.2, un en-tête de serveur n'est plus automatiquement ajouté à toutes les réponses HTTP sortantes s'il n'existe pas déjà d'en-tête de serveur. Si vous ajoutez cette propriété avec une valeur, celle-ci est incluse dans l'en-tête de serveur qui apparaît dans la réponse. Si vous spécifiez la valeur DefaultServerValue, WebSphere Application Server v/x.x est utilisé comme valeur d'en-tête de serveur.

Information valeur
Type de donnée String (chaîne)

SustainedHighVolumeLogging

Utilisez la propriété SustainedHighVolumeLogging pour autoriser le code de consignation à tenter de rattraper le retard de traitement des entrées. Cette propriété est définie dans la console d'administration Serveurs d'administration > nom_serveur > Chaînes de transport du conteneur Web > nom_chaîne > nom_canal_HTTP > Propriétés personnalisées.

UseCaseSensitiveKeyMatcher

UseCaseSensitiveKeyMatcher doit être utilisé conjointement avec accessLogFormat.

Si vous affectez la valeur true à cette propriété, l'élément Key Matcher utilisé dans accessLogFormat est sensible à la casse. Cela s'applique également s'il existe des directives dans les deux casses (par exemple, %u et %U).

Information valeur
Valeur par défaut False

v0CookieDateRFC1123compat

La propriété v0CookieDateRFC1123compat permet d'indiquer que la valeur de l'attribut Expire de l'en-tête V0 Set-Cookie est spécifiée au format d'année sur quatre chiffres à la place du format d'année sur deux chiffres.

Par défaut, la valeur de l'attribut Expire de l'en-tête V0 Set-Cookie est spécifiée au format d'année sur deux chiffres. Paramétrez la propriété v0CookieDateRFC1123compat sur true si vous devez utiliser l'ancienne spécification RFC1123, qui exige une valeur de format d'année sur quatre chiffres pour l'attribut Expire de l'en-tête V0 Set-Cookie.

Information valeur
Type de donnée Booléenne
Valeur par défaut False

WaitForEndOfMessage

Utilisez cette propriété personnalisée pour forcer le canal à attendre la fin de la lecture du message avant de commencer à servir la réponse.

Information valeur
Valeur par défaut False

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=rrun_chain_httpcustom
Nom du fichier : rrun_chain_httpcustom.html