Configuration d’une légende HTTP

Lors de la configuration d’une légende HTTP, vous spécifiez le type de demande (HTTP ou HTTPS), la destination et le format de la demande, le format attendu de la réponse et, enfin, la partie de la réponse à analyser.

Pour la destination, vous spécifiez l’adresse IP et le port de l’agent de légende HTTP ou engagez un serveur virtuel d’équilibrage de charge, de commutation de contenu ou de redirection de cache pour gérer les requêtes de légende HTTP. Dans le premier cas, les requêtes de légende HTTP seront envoyées directement à l’agent de légende HTTP. Dans le second cas, les requêtes de légende HTTP seront envoyées à l’adresse IP virtuelle (VIP) du serveur virtuel spécifié. Le serveur virtuel traitera alors la demande de la même manière qu’il traite une demande client. Par exemple, si vous prévoyez générer un grand nombre de légendes, vous pouvez configurer des instances de l’agent de légende HTTP sur plusieurs serveurs, lier ces instances (en tant que services) à un serveur virtuel d’équilibrage de charge, puis spécifier le serveur virtuel d’équilibrage de charge dans la configuration de légende HTTP. Le serveur virtuel d’équilibrage de charge équilibre ensuite la charge sur ces instances configurées comme déterminé par l’algorithme d’équilibrage de charge.

Pour le format de la demande de légende HTTP, vous pouvez spécifier les attributs individuels de la demande de légende HTTP (une légende HTTP basée sur l’attribut), ou vous pouvez spécifier l’intégralité de la demande de légende HTTP en tant qu’expression de syntaxe par défaut (une légende HTTP basée sur l’expression).

Remarque : L’appliance ne vérifie pas la validité de la demande. Vous devez vous assurer que la demande est valide. Une configuration de légende HTTP incorrecte ou incomplète entraîne une condition UNDEF d’exécution qui n’est pas associée à une action. La condition UNDEF met simplement à jour le compteur Hits non définis, ce qui vous permet de dépanner une légende HTTP mal configurée. Toutefois, l’appliance analyse la demande de légende HTTP pour vous permettre de configurer certaines fonctionnalités de Citrix ADC pour la légende. Cela peut conduire à une légende HTTP qui s’appelle elle-même. Pour plus d’informations sur la récursivité des légendes et sur la façon de l’éviter, reportez-vous à la section Éviter la récursion des légendes HTTP.

Enfin, que vous utilisiez des attributs de requête HTTP ou une expression pour définir le format de la demande de légende HTTP, vous devez spécifier le format de la réponse à partir de l’agent de légende HTTP et la partie de la réponse que vous souhaitez évaluer. La réponse peut être une valeur booléenne, un nombre ou un texte. La partie de la réponse que vous souhaitez évaluer est spécifiée par une expression. Par exemple, si vous spécifiez que la réponse contient du texte, vous pouvez utiliser HTTP.RES.BODY(<unit>)`pour spécifier que l’appliance doit évaluer uniquement les premiers <unit> octets de la réponse de l’agent de légende.

Sur la ligne de commande, vous créez d’abord une légende HTTP à l’aide de la commande add. Lorsque vous ajoutez une légende, tous les paramètres sont définis sur la valeur par défaut NONE, à l’exception de la méthode HTTP, qui est définie sur la valeur par défaut GET. Vous configurez ensuite les paramètres de la légende à l’aide de la commande set. La commande set permet de configurer les deux types de légendes (basées sur l’attribut et sur l’expression). La différence réside dans les paramètres utilisés pour configurer les deux types de légendes. Par conséquent, les instructions de ligne de commande suivantes incluent une commande set pour configurer une légende basée sur l’attribut et une commande set pour configurer une légende basée sur l’expression. Dans l’utilitaire de configuration, toutes ces tâches de configuration sont exécutées dans une seule boîte de dialogue.

Remarque : Avant de placer une légende HTTP dans une stratégie, vous pouvez modifier tous les paramètres configurés à l’exception du type de retour. Une fois qu’une légende HTTP est dans une stratégie, vous ne pouvez pas modifier complètement une expression configurée dans la légende. Par exemple, vous ne pouvez pas remplacer HTTP.REQ.HEADER (« myval ») par CLIENT.IP.SRC. Toutefois, vous pouvez modifier les opérateurs et les arguments transmis à l’expression. Par exemple, vous pouvez passerHTTP.REQ.HEADER("myVal1") àHTTP.REQ.HEADER("myVal2"), ouHTTP.REQ.HEADER("myVal") àHTTP.REQ.HEADER("myVal").AFTER_STR(<string>) . Si la commande set échoue, créez une nouvelle légende HTTP.

La configuration des légendes HTTP implique la configuration des expressions de syntaxe par défaut. Pour plus d’informations sur la configuration des expressions de syntaxe par défaut, voir Configuration des expressions de syntaxe par défaut : Mise en route.

Pour configurer une légende HTTP à l’aide de l’interface de ligne de commande

À l’invite de commandes, procédez comme suit :

  1. Créez une légende HTTP.

    add policy httpCallout <name>

    Exemple

    add policy httpCallout mycallout
    
  2. Configurez les détails de la légende HTTP.

    • Pour configurer une légende HTTP basée sur les attributs, tapez :
    set policy httpCallout <name> [-IPAddress <ip_addr|ipv6_addr|\*>] [-port <port|\*>] [-vServer <string>] [-returnType <returnType>] [-httpMethod ( GET | POST )] [-hostExpr <string>] [-urlStemExpr <string>] [-headers <name(value)> ...] [-parameters <name(value)> ...] [-resultExpr <string>]
    

    Exemple :

    > set policy httpCallout mycallout -vserver lbv1 -returnType num -httpMethod GET -hostExpr 'http.req.header("Host")'
    -urlStemExpr "http.req.url" -parameters Name("My Name") -headers Name("MyHeader")
    -resultExpr "http.res.body(10000).length"
    
    

    Pour configurer une légende HTTP basée sur l’expression, tapez :

    set policy httpCallout <name> [-vServer <string>] [-returnType <returnType>] [-httpMethod ( GET | POST )] [-fullReqExpr <string>] [-resultExpr <string>]
    

    Exemple :

    > set policy httpCallout mycallout1 -vserver lbv1 -returnType num -httpMethod GET
    -fullReqExpr q{"GET " + http.req.url + "HTTP/" + http.req.version.major + "." + http.req.version.minor.sub(1)+
    "r\nHost:10.101.10.10\r\nAccept: \*/\*\r\n\r\n"}
    
  3. Vérifiez les configurations de la légende HTTP.

    show policy httpCallout <name>

Pour configurer une légende HTTP à l’aide de l’utilitaire de configuration

  1. Accédez à AppExpert > Légendes HTTP.
  2. Dans le volet d’informations, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Créer une légende HTTP, configurez les paramètres de la légende HTTP. Pour obtenir une description du paramètre, placez le curseur de la souris sur la case à cocher.
  4. Cliquez sur Create, puis cliquez sur Close.