ADC

Configurations HTTP

Important :

À partir de Citrix ADC version 13.0 build 71.x, une appliance Citrix ADC peut gérer des demandes HTTP de grande taille d’en-tête pour répondre aux demandes d’application L7. La taille de l’en-tête peut être configurable jusqu’à 120 Ko.

Les configurations HTTP d’une appliance Citrix ADC peuvent être spécifiées dans une entité appelée profil HTTP, qui est un ensemble de paramètres HTTP. Le profil HTTP peut ensuite être associé à des services ou des serveurs virtuels qui souhaitent utiliser ces configurations HTTP.

Un profil HTTP par défaut peut être configuré pour définir les configurations HTTP appliquées par défaut, globalement à tous les services et serveurs virtuels.

Remarque :

Lorsqu’un paramètre HTTP a des valeurs différentes pour le service, le serveur virtuel et globalement, la valeur de l’entité la plus spécifique (le service) reçoit la priorité la plus élevée.

L’appliance Citrix ADC fournit également d’autres approches pour configurer HTTP. Lisez la suite pour plus d’informations.

Citrix ADC prend en charge un protocole WebSocket qui permet aux navigateurs et autres clients de créer une connexion TCP bidirectionnelle en duplex intégral aux serveurs. L’implémentation Citrix ADC de WebSocket est conforme à la norme RFC 6455 .

Remarque :

Une appliance Citrix ADC prend désormais en charge la configuration de l’adresse IP source utilisateur (USIP) pour les protocoles HTTP/1.1 et HTTP/2.

Définition des paramètres HTTP globaux

L’appliance Citrix ADC vous permet de spécifier des valeurs pour les paramètres HTTP applicables à tous les services Citrix ADC et serveurs virtuels. Cela peut être fait à l’aide de :

  • Profil HTTP par défaut
  • Commande HTTP globale

Profil HTTP par défaut

Un profil HTTP, nommé nshttp_default_profile, est utilisé pour spécifier les configurations HTTP qui sont utilisées si aucune configuration HTTP n’est fournie au niveau du service ou du serveur virtuel.

Remarques :

  • Tous les paramètres HTTP ne peuvent pas être configurés via le profil HTTP par défaut. Certains paramètres sont effectués à l’aide de la commande HTTP globale (voir la section suivante).

  • Il n’est pas nécessaire que le profil par défaut soit explicitement lié à un service ou à un serveur virtuel.

Pour configurer le profil HTTP par défaut

  • À l’aide de l’interface de ligne de commande, entrez :

    set ns httpProfile nshttp_default_profile …

  • Dans l’interface graphique, accédez à Système > Profils, cliquez sur Profils HTTP et mettez à jour nshttp_default_profile.

Commande HTTP globale

Une autre approche que vous pouvez utiliser pour configurer les paramètres HTTP globaux est la commande HTTP globale. Outre certains paramètres uniques, cette commande duplique certains paramètres qui peuvent être définis à l’aide d’un profil HTTP. Toute mise à jour apportée à ces paramètres en double est reflétée dans le paramètre correspondant dans le profil HTTP par défaut.

Par exemple, si le paramètre MaxReusePool est mis à jour selon cette approche, la valeur est reflétée dans le paramètre MaxReusePool du profil HTTP par défaut (nshttp_default_profile).

Remarque :

Citrix recommande d’utiliser cette approche uniquement pour les paramètres HTTP qui ne sont pas disponibles dans le profil HTTP par défaut.

Pour configurer la commande HTTP globale

  • À l’aide de l’interface de ligne de commande, entrez :

    set ns httpParam …

  • Sur l’interface graphique, accédez à Système > Paramètres, cliquez sur Modifier les paramètres HTTP et mettez à jour les paramètres HTTP requis.

Pour configurer un schéma de codage Ignorer pour la demande de connexion

Pour activer HTTP/2 et définir les paramètres HTTP/2 afin d’ignorer le schéma de codage dans la demande de connexion, à l’invite de commandes, tapez :

set ns httpParam [-ignoreConnectCodingScheme ( ENABLED | DISABLED )]

Exemple :

set ns httpParam -ignoreConnectCodingScheme ENABLED

Pour lier le profil HTTP à un serveur virtuel à l’aide de la ligne de commande Citrix ADC

Configurer le profil HTTP pour supprimer les requêtes non valides TRACE ou TRACK

Vous pouvez activer le paramètre MarkTraceReqInval pour marquer les requêtes TRACK et TRACK comme non valides. Lorsque vous activez cette option avec l’option DropInvalidReqs sur l’adresse IP virtuelle, vous pouvez réinitialiser un client qui envoie des demandes TRACE ou TRACK à une appliance Citrix ADC.

Pour configurer le profil HTTP à l’aide de la CLI

À l’invite de commandes, tapez :

set ns httpProfile <profile name> [-markTraceReqInval ENABLED | DISABLED ]

Exemple :

set ns httpProfile profile1 -markTraceReqInval ENABLED

Configuration du profil HTTP pour un groupe de services

À l’invite de commandes, tapez :

add serviceGroup <serviceGroupName>@ <serviceType> [-cacheType <cacheType>] [-td <positive_integer>] [-maxClient <positive_integer>] [-maxReq <positive_integer>] [-cacheable ( YES | NO )] [-cip ( ENABLED | DISABLED ) [<cipHeader>]] [-usip ( YES | NO )] [-pathMonitor ( YES | NO )] [-pathMonitorIndv ( YES | NO )] [-useproxyport ( YES | NO )] [-healthMonitor ( YES | NO )] [-sp ( ON | OFF )] [-rtspSessionidRemap ( ON | OFF )] [-cltTimeout <secs>] [-svrTimeout <secs>] [-CKA ( YES | NO )] [-TCPB ( YES | NO )] [-CMP ( YES | NO )] [-maxBandwidth
<positive_integer>] [-monThreshold <positive_integer>] [-state ENABLED DISABLED )][-downStateFlush ( ENABLED | DISABLED )] [-tcpProfileName <string>] [-httpProfileName <string>] [-comment <string>] [-appflowLog ( ENABLED | DISABLED )] [-netProfile <string>] [-autoScale <autoScale> -memberPort <port> [-autoDisablegraceful ( YES | NO )] [-autoDisabledelay <secs>] ] [-monConnectionClose ( RESET | FIN )]

<!--NeedCopy-->

Exemple :

add serviceGroup Service-Group-1 HTTP -maxClient 0 -maxReq 0 -cip ENABLED -usip NO -useproxyport YES -cltTimeout 200 -svrTimeout 300 -CKA NO -TCPB NO -CMP NO -httpProfileName profile1

Configurez le profil HTTP à l’aide de l’interface graphique Citrix ADC

Pour marquer les demandes TRACE ou TRACK non valides, procédez comme suit.

  1. Connectez-vous à l’appliance Citrix ADC et accédez à Configuration > Système > Profils.
  2. Dans l’onglet Profils HTTP, cliquez sur Ajouter.
  3. Sur la page Créer un profil HTTP, sélectionnez l’option Marquer les demandes TRACE comme non valides .
  4. Cliquez sur Créer.

    Requêtes TRACE HTTP non valides

Définition des paramètres HTTP spécifiques au service ou au serveur virtuel

À l’aide des profils HTTP, vous pouvez spécifier des paramètres HTTP pour les services et les serveurs virtuels. Vous devez définir un profil HTTP (ou utiliser un profil HTTP intégré) et associer le profil au service et au serveur virtuel appropriés.

Remarque :

Vous pouvez également modifier les paramètres HTTP des profils par défaut selon vos besoins.

Pour spécifier des configurations HTTP au niveau du service ou du serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, effectuez les opérations suivantes :

  1. Configurez le profil HTTP.

    set ns httpProfile <profile-name>...

  2. Liez le profil HTTP au service ou au serveur virtuel.

    Pour lier le profil HTTP au service :

set service <name> .....

Exemple :

> set service service1 -httpProfileName profile1
<!--NeedCopy-->

Pour lier le profil HTTP au serveur virtuel :

set lb vserver <name> .....

Exemple :

> set lb vserver lbvserver1 -httpProfileName profile1
<!--NeedCopy-->

Pour spécifier des configurations HTTP au niveau du service ou du serveur virtuel à l’aide de l’interface graphique

Dans l’interface graphique, effectuez les opérations suivantes :

  1. Configurez le profil HTTP.

    Accédez à Système > Profils > Profils HTTP, puis créez le profil HTTP.

  2. Liez le profil HTTP au service ou au serveur virtuel.

    Accédez à Gestion du trafic > Équilibrage de charge > Services/Serveurs virtuelset créez le profil HTTP, qui doit être lié au service/serveur virtuel.

Profils HTTP intégrés

Pour faciliter la configuration, Citrix ADC fournit certains profils HTTP intégrés. Passez en revue les profils répertoriés et utilisez-les tels quels ou modifiez-les pour répondre à vos besoins. Vous pouvez lier ces profils aux services ou serveurs virtuels requis.

Profil intégré Description
nshttp_default_profile Représente les paramètres HTTP globaux par défaut sur l’appliance.
nshttp_default_strict_validation Paramètres pour les déploiements qui nécessitent une validation stricte des requêtes et des réponses HTTP.

Exemples de configurations HTTP

Exemples d’interface de ligne de commande pour configurer les éléments suivants :

  • Statistiques sur les bandes HTTP
  • Connexions WebSocket

Statistiques sur les bandes HTTP

Spécifiez la taille de bande pour les requêtes et réponses HTTP.

> set protocol httpBand reqBandSize 300 respBandSize 2048
Done
> show protocol httpband -type REQUEST
<!--NeedCopy-->

Connexions WebSocket

Activez WebSocket sur le profil HTTP requis.

> set ns httpProfile http_profile1 -webSocket ENABLED
Done
> set lb vserver lbvserver1 -httpProfileName profile1
Done
<!--NeedCopy-->