ADC

Wie Rewrite funktioniert

Eine Rewrite-Richtlinie besteht aus einer Regel und einer Aktion. Die Regel bestimmt den Datenverkehr, auf den das Umschreiben angewendet wird, und die Aktion bestimmt die Aktion, die vom Citrix ADC ausgeführt werden soll. Sie können mehrere Umschreibungsrichtlinien definieren. Geben Sie für jede Richtlinie den Bindepunkt und die Priorität an.

Ein Bindepunkt bezieht sich auf einen Punkt im Datenfluss, an dem Citrix ADC den Datenverkehr prüft, um zu überprüfen, ob eine Umschreibungsrichtlinie darauf angewendet werden kann. Sie können eine Richtlinie an einen bestimmten virtuellen Lastausgleichs- oder Content Switching-Server binden oder die Richtlinie global festlegen, wenn die Richtlinie auf den gesamten Datenverkehr angewendet werden soll, der vom Citrix ADC verarbeitet wird. Diese Richtlinien werden als globale Richtlinien bezeichnet.

Zusätzlich zu den benutzerdefinierten Richtlinien verfügt der Citrix ADC über einige Standardrichtlinien. Eine Standardrichtlinie kann nicht geändert oder gelöscht werden.

Für die Bewertung der Richtlinien folgt Citrix ADC der folgenden Reihenfolge:

  • Globale Richtlinien
  • Richtlinien, die an bestimmte virtuelle Server gebunden sind
  • Standardrichtlinien

Hinweis: Citrix ADC kann eine Rewrite-Richtlinie nur anwenden, wenn sie an einen Punkt gebunden ist.

Citrix ADC implementiert das Rewrite-Feature in den folgenden Schritten:

  • Die Citrix ADC Appliance sucht nach globalen Richtlinien und sucht dann an einzelnen Bindungspunkten nach Richtlinien.

  • Wenn mehrere Richtlinien an einen Bindepunkt gebunden sind, wertet der Citrix ADC die Richtlinien in der Reihenfolge ihrer Priorität aus. Die Richtlinie mit der höchsten Priorität wird zuerst bewertet. Wenn die Richtlinie nach der Auswertung der Richtlinie auf TRUE ausgewertet wird (der Datenverkehr entspricht der Regel), fügt sie die der Richtlinie zugeordnete Aktion einer Liste der auszuführenden Aktionen hinzu. Eine Übereinstimmung tritt auf, wenn die in der Richtlinienregel angegebenen Merkmale mit den Eigenschaften der auszuwertenden Anforderung oder Antwort übereinstimmen.

  • Für jede Richtlinie können Sie zusätzlich zu der Aktion die Richtlinie angeben, die nach der Auswertung der aktuellen Richtlinie ausgewertet werden soll. Diese Richtlinie wird als Gehe zum Ausdruck bezeichnet. Wenn für jede Richtlinie ein Gehe zu Ausdruck (GoToPriorityExpr) angegeben ist, wertet Citrix ADC die Richtlinie Gehe zu Ausdrücken aus und ignoriert die Richtlinie mit der nächsthöheren Priorität.

    Sie können die Priorität der Richtlinie angeben, um die Richtlinie Gehe zu Ausdrücken anzugeben. Sie können den Namen der Richtlinie nicht verwenden. Wenn Sie möchten, dass Citrix ADC die Auswertung anderer Richtlinien nach der Auswertung einer bestimmten Richtlinie nicht mehr auswertet, können Sie die Option Go to Expression auf END festlegen.

  • Nachdem alle Richtlinien ausgewertet wurden oder wenn eine Richtlinie den Gehe zu Ausdruck als END festgelegt hat, beginnt Citrix ADC die Aktionen entsprechend der Liste der Aktionen auszuführen.

Weitere Informationen zum Konfigurieren von Rewrite-Richtlinien finden Sie unter Konfigurieren einer Rewrite-Richtlinie und zum Binden von Rewrite-Richtlinien finden Sie unter Binden einer Rewrite-Richtlinie.

Die folgende Abbildung zeigt, wie Citrix ADC eine Anforderung oder Antwort verarbeitet, wenn das Rewrite-Feature verwendet wird.

Abbildung 1. Der Rewrite-Prozess

Bild

Policy-Evaluierung

Die Richtlinie mit der höchsten Priorität wird zuerst bewertet. Citrix ADC stoppt die Auswertung von Umschreibrichtlinien nicht, wenn eine Übereinstimmung gefunden wird; es wertet alle auf dem Citrix ADC konfigurierten Umschreibrichtlinien aus.

  • Wenn eine Richtlinie auf TRUE ausgewertet wird, folgt der Citrix ADC wie folgt:
    • Wenn für die Richtlinie Gehe zu Ausdruck auf END festgelegt ist, stoppt Citrix ADC die Auswertung aller anderen Richtlinien und führt das Umschreiben durch.
    • Der gotoPriorityExpression kann auf ‘NEXT’, ‘END’, eine ganze Zahl oder INVOCATION_LIST gesetzt werden. Der Wert bestimmt die Richtlinie mit der nächsten Priorität. Die folgende Tabelle zeigt die Aktion, die Citrix ADC für jeden Wert des Ausdrucks ausgeführt hat.

      Wert des Ausdrucks Aktion
      NEXT Richtlinie mit der nächsten Priorität wird ausgewertet.
      END Die Evaluierung der Richtlinie stoppt.
      <an integer> Die Richtlinie mit der angegebenen Priorität wird ausgewertet.
      INVOCATION_LIST Gehe zu NEXT oder END wird basierend auf dem Ergebnis der Aufrufliste angewendet.
  • Wenn eine Richtlinie auf FALSE ausgewertet wird, setzt Citrix ADC die Bewertung in der Reihenfolge der Priorität fort.
  • Wenn eine Richtlinie als UNDEFINED ausgewertet wird (aufgrund eines Fehlers nicht ausgewertet werden kann), führt Citrix ADC die Aktion aus, die der UNDEFINED Bedingung zugewiesen ist (als undefAction bezeichnet) und stoppt die weitere Auswertung der Richtlinien.

Das Citrix ADC startet das eigentliche Umschreiben erst nach Abschluss der Auswertung. Es bezieht sich auf die Liste der Aktionen, die durch Richtlinien identifiziert werden, die als TRUE ausgewertet werden, und startet das Umschreiben. Nach der Implementierung aller Aktionen in der Liste leitet Citrix ADC den Datenverkehr nach Bedarf weiter.

Hinweis:

Stellen Sie sicher, dass die Richtlinien keine widersprüchlichen oder überlappenden Aktionen auf demselben Teil des HTTP-Headers oder -Hauptteils oder TCP-Nutzlast angeben. Wenn ein solcher Konflikt auftritt, tritt Citrix ADC auf eine undefinierte Situation und bricht das Rewrite ab.

Umschreiben von Aktionen

Geben Sie auf der Citrix ADC Appliance die Aktionen an, die ausgeführt werden sollen, z. B. das Hinzufügen, Ersetzen oder Löschen von Text innerhalb des Hauptteils oder Hinzufügen, Ändern oder Löschen von Kopfzeilen oder Änderungen an der TCP-Nutzlast als Umschreibaktionen. Weitere Informationen zu Rewrite-Aktionen finden Sie unter Konfigurieren einer Rewrite-Aktion.

In der folgenden Tabelle werden die Schritte beschrieben, die Citrix ADC ausführen kann, wenn eine Richtlinie TRUE bewertet.

Aktion Ergebnis
Einfg Die für die Richtlinie angegebene Umschreibaktion wird ausgeführt.
NOREWRITE Die Anfrage oder Antwort wird nicht neu geschrieben. Citrix ADC leitet den Datenverkehr weiter, ohne einen Teil der Nachricht neu zu schreiben.
RESET Die Verbindung wird auf TCP-Ebene abgebrochen.
DROP Die Nachricht wird gelöscht.

Hinweis:

Für jede Richtlinie können Sie die Undefaction (Aktion, die ausgeführt wird, wenn die Richtlinie als UNDEFINED ausgewertet wird) als NOREWRITE, RESET oder DROP konfigurieren.

Führen Sie die folgenden Schritte aus, um die Funktion Umschreiben zu verwenden:

  • Aktivieren Sie die Funktion auf dem Citrix ADC.
  • Definieren Sie Umschreibaktionen.
  • Definieren Sie Umschreibrichtlinien.
  • Binden Sie die Richtlinien an einen Bindepunkt, um eine Richtlinie in Kraft zu setzen.
Wie Rewrite funktioniert