Citrix ADC

Configurations HTTP

Important :

À partir de Citrix ADC version 13.0 build 71.x, une appliance Citrix ADC peut gérer les requêtes HTTP d’en-tête de grande taille pour répondre aux demandes d’application L7. La taille de l’en-tête peut être configurable jusqu’à 128 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) se voit attribuer la priorité la plus élevée.

L’appliance Citrix ADC fournit également d’autres approches de configuration HTTP. Lisez la suite pour en savoir plus.

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 d’adresse IP de 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 en utilisant :

  • 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 utilisées si aucune configuration HTTP n’est fournie au niveau du service ou du serveur virtuel.

Remarques :

  • Les paramètres HTTP ne peuvent pas tous être configurés via le profil HTTP par défaut. Certains paramètres sont exécuté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 …

  • Sur 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. En plus de certains paramètres uniques, cette commande duplique certains paramètres pouvant être définis à l’aide d’un profil HTTP. Toute mise à jour effectuée sur 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 à l’aide de 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 ignoré pour une 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 TRACE ou TRACK non valides

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 DropInvalidReq sur l’adresse IP virtuelle, vous pouvez réinitialiser un client qui envoie des requêtes TRACE ou TRACK à une appliance Citrix ADC.

Pour configurer le profil HTTP à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemple :

set ns httpProfile profile1 -markTraceReqInval ENABLED

Configurer le 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 rl-lips-30016 HTTP -maxClient 0 -maxReq 0 -cip ENABLED X-Forwarded-For -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO -tcpProfileName live-tcp-profile-sg -httpProfileName profile1

Configurer 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 la page de l’onglet Profils HTTP, cliquez sur Ajouter.
  3. Dans la page Créer un profil HTTP, sélectionnez l’option Marquer les requêtes TRACE comme non valides .
  4. Cliquez sur Créer.

    Demandes TRACE HTTP non valides

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

À l’aide de 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 l’associer au service et au serveur virtuel appropriés.

Remarque :

Vous pouvez également modifier les paramètres HTTP des profils par défaut en fonction de 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

À 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 virtuels, puis 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 des profils HTTP intégrés. Examinez les profils répertoriés et utilisez-les tels qu’ils sont ou modifiez-les pour répondre à vos besoins. Vous pouvez lier ces profils aux services ou aux serveurs virtuels requis.

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

Exemples de configurations HTTP

Exemples d’interfaces de ligne de commande permettant de configurer les éléments suivants :

  • Statistiques sur les bandes HTTP
  • Connexions WebSocket

Statistiques sur les bandes HTTP

Spécifiez la taille de bande des requêtes et des 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-->