Configuration d’une action de réécriture

Avertissement

La fonction Pattern dans une action de réécriture est obsolète à partir de Citrix ADC 12.0 build 56.20 et, comme alternative, Citrix vous recommande d’utiliser le paramètre Rechercher action de réécriture.

Après avoir activé la fonction de réécriture, vous devez configurer une ou plusieurs actions à moins qu’une action de réécriture intégrée ne soit suffisante. Toutes les actions intégrées ont des noms commençant par la chaîne ns_cvpn, suivie d’une chaîne de lettres et de caractères de soulignement. Les actions intégrées effectuent des tâches utiles et complexes telles que le décodage de parties d’une requête ou d’une réponse VPN sans client ou la modification de données JavaScript ou XML. Les actions intégrées peuvent être affichées, activées et désactivées, mais ne peuvent pas être modifiées ou supprimées.

Les expressions cibles dans les actions de réécriture TCP doivent commencer par l’un des préfixes d’expression suivants :

  • CLIENT TCP.PAYLOAD. Pour réécrire des charges utiles TCP dans les requêtes client. Par exemple, CLIENT.TCP.PAYLOAD (10000) .AFTER_STR (« string1”).
  • SERVER.TCP.PAYLOAD. Pour réécrire des charges utiles TCP dans les réponses du serveur. Par exemple, SERVER.TCP.PAYLOAD(1000).B64DECODE.BETWEEN(“string1”,”string2”).

Vous pouvez utiliser tous les types de fonctions de manipulation de chaînes existantes avec ces préfixes pour identifier les chaînes que vous souhaitez réécrire. Pour configurer une action de réécriture, vous lui attribuez un nom, spécifiez un type d’action et ajoutez un ou plusieurs arguments spécifiant des données supplémentaires. Le tableau suivant décrit les types d’action et les arguments que vous utilisez avec eux.

Remarque :

Les types d’action qui peuvent être utilisés uniquement pour la réécriture HTTP sont identifiés dans la colonne Type d’action de réécriture.

VoirRéécrire le type d’actionpdf pour plus d’informations.

Pour créer une nouvelle action de réécriture à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour créer une nouvelle action de réécriture et vérifier la configuration :

  • add rewrite action <name> <type> <target> [<stringBuilderExpr>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

Exemple 1. Insertion d’un en-tête HTTP avec l’adresse IP du client :

> add rewrite action insertact INSERT_HTTP_HEADER "client-IP" CLIENT.IP.SRC
Done

> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

Exemple 2. Remplacement de chaînes dans une charge utile TCP (TCP Rewrite) :

> add rewrite action client_tcp_payload_replace_all REPLACE_ALL
  'client.tcp.payload(1000)' '"new-string"' -search text("old-string")
 Done
> show rewrite action client_tcp_payload_replace_all

        Name: client_tcp_payload_replace_all
        Operation: replace_all
        Target:client.tcp.payload(1000)
        Value:"new-string"
        Search: text("old-string")
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done
>

Pour modifier une action de réécriture existante à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour modifier une action de réécriture existante et vérifier la configuration :

  • set rewrite action <name> [-target <string>] [-stringBuilderExpr <string>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

Exemple :


> set rewrite action insertact -target "Client-IP"
 Done
> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

Pour supprimer une action de réécriture à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour supprimer une action de réécriture :

rm rewrite action <name>

Exemple :


> rm rewrite action insertact
Done

Pour configurer une action de réécriture à l’aide de l’utilitaire de configuration

  1. Accédez à AppExpert > Réécriture > Actions.
  2. Dans le volet d’informations, effectuez l’une des opérations suivantes :
    • Pour créer une action, cliquez sur Ajouter.
    • Pour modifier une action existante, sélectionnez-la, puis cliquez sur Ouvrir.
  3. Cliquez sur Créer ou sur OK. Un message apparaît dans la barre d’état indiquant que l’action a été configurée avec succès.
  4. Répétez les étapes 2 à 4 pour créer ou modifier autant d’actions de réécriture que vous le souhaitez.
  5. Cliquez sur Fermer.

Pour ajouter une expression à l’aide de la boîte de dialogue Ajouter une expression

  1. Dans la boîte de dialogue Créer une action de réécriture ou Configurer une action de réécriture, sous la zone de texte de l’argument de type à saisir, cliquez sur Ajouter.
  2. Dans la boîte de dialogue Ajouter une expression, dans la première zone de liste, choisissez le premier terme de votre expression.

    • HTTP

      Le protocole HTTP. Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le protocole HTTP.

    • SYS

      Le(s) site(s) protégé(s). Choisissez cette option si vous souhaitez examiner un aspect de la demande qui concerne le destinataire de la demande.

    • CLIENT

      Ordinateur qui a envoyé la demande. Choisissez cette option si vous souhaitez examiner un aspect de l’expéditeur de la demande.

    Lorsque vous faites votre choix, la zone de liste la plus à droite répertorie les termes appropriés pour la partie suivante de votre expression.

  3. Dans la deuxième zone de liste, choisissez le deuxième terme pour votre expression. Les choix dépendent du choix que vous avez fait à l’étape précédente et sont adaptés au contexte. Après avoir fait votre deuxième choix, la fenêtre d’aide située sous la fenêtre Construire une expression (qui était vide) affiche de l’aide décrivant le but et l’utilisation du terme que vous venez de choisir.

  4. Continuez à choisir des termes dans les zones de liste qui apparaissent à droite de la zone de liste précédente, ou à taper des chaînes ou des nombres dans les zones de texte qui s’affichent pour vous inviter à entrer une valeur, jusqu’à ce que votre expression soit terminée.

    Pour plus d’informations sur le langage des expressions PI et la création d’expressions pour les stratégies de répondeur, reportez-vous à la section Stratégies et expressions.

    Si vous souhaitez tester l’effet d’une action de réécriture lorsqu’elle est utilisée sur des exemples de données HTTP, vous pouvez utiliser l’évaluateur de réécriture d’expression.

    Remarque : L’évaluateur de réécriture d’expression n’est disponible que dans l’utilitaire de configuration. Il n’existe pas de version de ligne de commande Citrix ADC.

Pour évaluer une action de réécriture à l’aide de la boîte de dialogue Réécrire l’évaluateur d’action

  1. Dans le volet de détails Actions de réécriture, sélectionnez l’action de réécriture à évaluer, puis cliquez sur Evaluer.
  2. Dans la boîte de dialogue Réécrire l’évaluateur d’expression, spécifiez les valeurs des paramètres suivants. (Un astérisque indique un paramètre obligatoire.)

    • Action de réécriture : si l’action de réécriture à évaluer n’est pas déjà sélectionnée, sélectionnez-la dans la liste déroulante. Après avoir sélectionné une action Réécriture, la section Détails affiche les détails de l’action Réécriture sélectionnée.
    • Nouveau (New) : sélectionnez Nouveau (New) pour ouvrir la boîte de dialogue Créer une action de réécriture et créer une nouvelle action de réécriture.
    • Modifier (Modifier) : sélectionnez Modifier (Modifier) pour ouvrir la boîte de dialogue Configurer l’action de réécriture et modifier l’action de réécriture sélectionnée.
    • Type de flux (Flow Type) : spécifie si vous souhaitez tester l’action de réécriture sélectionnée à l’aide de données de requête HTTP ou de données de réponse HTTP. La valeur par défaut est Request. Si vous souhaitez tester avec les données de réponse, sélectionnez Réponse.
    • Données de requête/réponse HTTP* : fournit un espace pour vous permettre de fournir les données HTTP que l’évaluateur d’action de réécriture utilisera pour le test. Vous pouvez coller les données directement dans la fenêtre ou cliquer sur Exemple pour insérer des en-têtes HTTP exemples.
    • Afficher la fin de ligne : spécifie si les caractères de fin de ligne de style UNIX doivent être affichés (n) à la fin de chaque ligne d’exemples de données HTTP.
    • Exemple (Sample) : insère des exemples de données HTTP dans la fenêtre Données de requête/réponse HTTP. Vous pouvez choisir les données GET ou POST.
    • Parcourir : ouvre une fenêtre de navigation locale afin que vous puissiez choisir un fichier contenant des exemples de données HTTP à partir d’un emplacement local ou réseau.
    • Effacer (Effacer) : efface les exemples de données HTTP en cours de la fenêtre Données de requête/réponse HTTP.
  3. Cliquez sur Evaluer. L’évaluateur d’action de réécriture évalue l’effet de l’action Réécriture sur les exemples de données que vous avez choisis et affiche les résultats tels qu’ils ont été modifiés par l’action Réécriture sélectionnée dans la fenêtre Résultats . Les ajouts et les suppressions sont mis en surbrillance comme indiqué dans la légende dans le coin inférieur gauche de la boîte de dialogue.
  4. Continuez à évaluer les actions Réécrire jusqu’à ce que vous ayez déterminé que toutes vos actions ont l’effet souhaité.

    • Vous pouvez modifier l’action de réécriture sélectionnée et tester la version modifiée en cliquant sur Modifier pour ouvrir la boîte de dialogue Configurer l’action de réécriture, en effectuant et en enregistrant les modifications, puis en cliquant à nouveau sur Evaluer.
    • Vous pouvez évaluer une autre action de réécriture à l’aide des mêmes données de requête ou de réponse en la sélectionnant dans la liste déroulante Action de réécriture, puis en cliquant à nouveau sur Evaluer.
  5. Cliquez sur Fermer pour fermer l’évaluateur de réécriture d’expression et revenir au voletActions de réécriture.

    Pour supprimer une action de réécriture, sélectionnez l’action de réécriture à supprimer, puis cliquez sur Supprimer et, lorsque vous y êtes invité, confirmez votre choix en cliquant sur OK.