ADC

Fonctionnement de la réécriture

Une stratégie de réécriture consiste en une règle et une action. La règle détermine le trafic sur lequel la réécriture est appliquée et l’action détermine l’action à entreprendre par Citrix ADC. Vous pouvez définir plusieurs stratégies de réécriture. Pour chaque stratégie, spécifiez le point de liaison et la priorité.

Un point de liaison fait référence à un point du flux de trafic auquel Citrix ADC examine le trafic pour vérifier si une stratégie de réécriture peut lui être appliquée. Vous pouvez lier une stratégie à un serveur virtuel d’équilibrage de charge ou de commutation de contenu spécifique, ou rendre la stratégie globale si vous souhaitez que la stratégie soit appliquée à l’ensemble du trafic géré par Citrix ADC. Ces stratégies sont appelées stratégies globales.

Outre les stratégies définies par l’utilisateur, Citrix ADC possède certaines stratégies par défaut. Vous ne pouvez pas modifier ou supprimer une stratégie par défaut.

Pour évaluer les stratégies, Citrix ADC suit l’ordre mentionné ci-dessous :

  • Politiques globales
  • Stratégies liées à des serveurs virtuels spécifiques
  • Stratégies par défaut

Remarque : Citrix ADC peut appliquer une stratégie de réécriture uniquement lorsqu’elle est liée à un point.

Citrix ADC implémente la fonctionnalité de réécriture en procédant comme suit :

  • L’appliance Citrix ADC vérifie les stratégies globales, puis vérifie les stratégies aux points de liaison individuels.

  • Si plusieurs stratégies sont liées à un point de liaison, Citrix ADC évalue les stratégies dans l’ordre de leur priorité. La stratégie ayant la priorité la plus élevée est évaluée en premier. Après avoir évalué chaque stratégie, si la stratégie est évaluée à TRUE (le trafic correspond à la règle), elle ajoute l’action associée à la stratégie à une liste d’actions à effectuer. Une correspondance se produit lorsque les caractéristiques spécifiées dans la règle de stratégie correspondent aux caractéristiques de la demande ou de la réponse en cours d’évaluation.

  • Pour toute stratégie, en plus de l’action, vous pouvez spécifier la stratégie qui doit être évaluée après l’évaluation de la stratégie actuelle. Cette stratégie est appelée « expression GoTo ». Pour toute stratégie, si une stratégie Aller à l’expression (GotoPriorityExpr) est spécifiée, Citrix ADC évalue la stratégie Aller à l’expression ; il ignore la stratégie avec la priorité la plus élevée suivante.

    Vous pouvez spécifier la priorité de la stratégie pour indiquer la stratégie Aller à l’expression ; vous ne pouvez pas utiliser le nom de la stratégie. Si vous souhaitez que Citrix ADC cesse d’évaluer d’autres stratégies après avoir évalué une stratégie particulière, vous pouvez définir l’option Aller à l’expression sur « END ».

  • Une fois toutes les stratégies évaluées ou lorsqu’une stratégie a l’option Aller à l’expression définie comme END, Citrix ADC commence à exécuter les actions en fonction de la liste des actions.

Pour plus d’informations sur la configuration des stratégies de réécriture, voir Configuration d’une stratégie de réécriture et sur la liaison des stratégies de réécriture, voir Liaison d’une stratégie de réécriture.

La figure suivante illustre la façon dont Citrix ADC traite une demande ou une réponse lorsque la fonction de réécriture est utilisée.

Figure 1. Le processus de réécriture

image

Évaluation des stratégies

La stratégie ayant la priorité la plus élevée est évaluée en premier. Citrix ADC n’arrête pas l’évaluation des stratégies de réécriture lorsqu’il trouve une correspondance ; il évalue toutes les stratégies de réécriture configurées sur Citrix ADC.

  • Si une stratégie est évaluée à TRUE, Citrix ADC suit la procédure ci-dessous :
    • Si l’option Aller à l’expression est définie sur END dans la stratégie, Citrix ADC cesse d’évaluer toutes les autres stratégies et commence à effectuer la réécriture.
    • L’expression gotoPriorityExpression peut être définie sur ‘NEXT’, ‘END’, un nombre entier ou ‘INVOCATION_LIST’. La valeur détermine la stratégie avec la priorité suivante. Le tableau suivant présente l’action effectuée par Citrix ADC pour chaque valeur de l’expression.

      Valeur de l’expression Action
      NEXT La stratégie avec la priorité suivante est évaluée.
      END L’évaluation des stratégies s’arrête.
      <an integer> La stratégie avec la priorité spécifiée est évaluée.
      INVOCATION_LIST Goto NEXT ou END est appliqué en fonction du résultat de la liste d’invocation.
  • Si une stratégie est évaluée à FALSE, Citrix ADC poursuit l’évaluation dans l’ordre de priorité.
  • Si une stratégie est évaluée à UNDEFINED (ne peut pas être évaluée sur le trafic reçu en raison d’une erreur), Citrix ADC exécute l’action assignée à la condition UNDEFINED (appelée UnDefaction) et arrête l’évaluation ultérieure des stratégies.

Citrix ADC ne démarre la réécriture réelle qu’une fois l’évaluation terminée. Il fait référence à la liste des actions identifiées par les stratégies qui sont évaluées à TRUE et commence la réécriture. Après avoir implémenté toutes les actions de la liste, Citrix ADC transmet le trafic selon les besoins.

Remarque :

Assurez-vous que les stratégies ne spécifient pas d’actions conflictuelles ou superposées sur la même partie de l’en-tête ou du corps HTTP ou de la charge utile TCP. Lorsqu’un tel conflit se produit, Citrix ADC rencontre une situation indéfinie et interrompt la réécriture.

Actions de réécriture

Sur l’appliance Citrix ADC, spécifiez les actions à entreprendre, telles que l’ajout, le remplacement ou la suppression de texte dans le corps, l’ajout, la modification ou la suppression d’en-têtes, ou toute modification de la charge utile TCP en tant qu’actions de réécriture. Pour plus d’informations sur les actions de réécriture, voir Configuration d’une action de réécriture.

Le tableau suivant décrit les étapes que peut prendre Citrix ADC lorsqu’une stratégie évalue la valeur TRUE.

Action Résultats
Insert L’action de réécriture spécifiée pour la stratégie est effectuée.
NOREWRITE La demande ou la réponse n’est pas réécrite. Citrix ADC transfère le trafic sans réécrire aucune partie du message.
RESET La connexion est interrompue au niveau TCP.
DROP Le message est supprimé.

Remarque :

Pour n’importe quelle stratégie, vous pouvez configurer l’action undefaction (action à effectuer lorsque la stratégie est évaluée sur UNDEFINED) en tant que NOREWRITE, RESET ou DROP.

Pour utiliser la fonction Réécriture, procédez comme suit :

  • Activez la fonctionnalité sur Citrix ADC.
  • Définissez les actions de réécriture.
  • Définissez des stratégies de réécriture.
  • Liez les stratégies à un point de liaison pour mettre en œuvre une stratégie.
Fonctionnement de la réécriture