Konfigurieren einer Cache-Umleitungsrichtlinie

Eine Cache-Umleitungsrichtlinie enthält einen oder mehrere Ausdrücke (auch als Regeln bezeichnet). Jeder Ausdruck stellt eine Bedingung dar, die ausgewertet wird, wenn die Clientanforderung mit der Richtlinie verglichen wird.

Aktionen für Cache-Umleitungsrichtlinien werden nicht explizit konfiguriert. Standardmäßig betrachtet die Citrix ADC Appliance alle Anforderungen, die einer Richtlinie entsprechen, als nicht zwischenspeicherbar und leitet die Anforderung an den Ursprungsserver anstelle des Cache weiter.

Cache-Umleitungsrichtlinien, die auf dem klassischen Richtlinienformat basieren, werden als klassische Cache-Umleitungsrichtlinienbezeichnet. Jede dieser Richtlinien hat einen Namen und enthält einen klassischen Ausdruck oder einen Satz klassischer Ausdrücke, die mithilfe von logischen Operatoren kombiniert werden.

Bei klassischen Cache-Umleitungsrichtlinien konfigurieren Sie nicht explizit Aktionen für die Richtlinien. Standardmäßig betrachtet die Citrix ADC Appliance alle Anforderungen, die einer Richtlinie entsprechen, als nicht zwischenspeicherbar und leitet die Anforderung an den Ursprungsserver anstelle des Cache weiter.

Cache-Umleitungsrichtlinien, die auf dem neueren Richtlinienformat basieren, werden als Erweiterte Umleitungsrichtlinienbezeichnet. Diese Richtlinie hat einen Namen und enthält einen Standard-Syntaxausdruck oder einen Satz von Standard-Syntaxausdrücken, die mithilfe von logischen Operatoren kombiniert werden, und die folgenden integrierten Aktionen:

  • CACHE
  • ORIGIN

Weitere Hinweise zu klassischen Ausdrücken und Standardsyntax Ausdrücken finden Sie unter Richtlinien und Ausdrücke.

Hinzufügen einer Cache-Umleitungsrichtlinie mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine Cache-Umleitungsrichtlinie hinzuzufügen und die Konfiguration zu überprüfen:

-  add cr policy <policyName> \*\*-rule\*\* <expression>
-  show cr policy [<policyName>]

Beispiele:

Richtlinie mit einem einfachen Ausdruck:

> add cr policy Policy-CRD-1 -rule "REQ.HTTP.URL != /\*.jpeg"
 Done
> show cr policy Policy-CRD-1
         Cache-By-Pass RULE: REQ.HTTP.URL != '/\*.jpeg'   Policy:Policy-CRD-1
 Done

Richtlinie mit einem zusammengesetzten Ausdruck:

> add cr policy Policy-CRD-2 -rule "REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == /\*.cgi || REQ.HTTP.URL != /\*.gif)"
 Done
> show cr policy Policy-CRD-2
         Cache-By-Pass RULE: REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == '/\*.cgi' || REQ.HTTP.URL != '/\*.gif')   Policy:Policy-CRD-2
 Done

Richtlinie, die einen Header auswertet:

> add cr policy Policy-CRD-3 -rule "REQ.HTTP.HEADER If-Modified-Since EXISTS"
 Done
> show cr policy Policy-CRD-3
         Cache-By-Pass RULE: REQ.HTTP.HEADER If-Modified-Since EXISTS    Policy:Policy-CRD-3
 Done

Hinzufügen einer standardmäßigen Syntaxcacheumleitungsrichtlinie mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine Cache-Umleitungsrichtlinie hinzuzufügen und die Konfiguration zu überprüfen:

-  add cr policy <policyName> \*\*-rule\*\* <expression> [-action<string>] [-logAction<string>]
-  show cr policy [<policyName>]

Beispiele:

Richtlinie mit einem einfachen Ausdruck:

> add cr policy crpol1 -rule !(HTTP.REQ.URL.ENDSWITH(".jpeg”)) -action origin
 Done
> show cr policy crpoll
         Policy: crpol1 Rule: !(HTTP.REQ.URL.ENDSWITH(".jpeg")) Action: ORIGIN
 Done

Richtlinie mit einem zusammengesetzten Ausdruck:

> add cr policy crpol11 -rule "http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))"  -action cache
 Done
> show cr policy crpol11
         Policy: crpol11    Rule: http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))  Action: CACHE
 Done

Richtlinie, die einen Header auswertet:

> add cr policy crpol12 -rule http.req.header("If-Modified-Since").exists -action origin
 Done
> show cr policy crpol12
         Policy: crpol12    Rule: http.req.header("If-Modified-Since").exists   Action: ORIGIN
 Done

Ändern oder Entfernen einer Cache-Umleitungsrichtlinie mit der CLI

  • Um eine Cache-Umleitungsrichtlinie zu ändern, verwenden Sie den Befehl set cr policy, der genau wie der Befehl add cr policy entspricht, mit der Ausnahme, dass Sie den Namen einer vorhandenen Richtlinie eingeben.
  • Um eine Richtlinie zu entfernen, verwenden Sie denrm cr policy Befehl, der nur das <name> Argument akzeptiert. Wenn die Richtlinie an einen virtuellen Server gebunden ist, müssen Sie die Bindung aufheben, bevor Sie sie entfernen können.

Weitere Informationen zum Aufheben der Bindung einer Cache-Umleitungsrichtlinie finden Sie unterAufheben der Bindung einer Richtlinie von einem virtuellen Cache-Umleitungsserver.

Konfigurieren einer Cache-Umleitungsrichtlinie mit einem einfachen Ausdruck mit der GUI

  1. Navigieren Sie zu Traffic Management > Cache-Umleitung > Richtlinien.

  2. Klicken Sie im Detailbereich auf “Hinzufügen”.

  3. Geben Sie im Dialogfeld Cache-Umleitungsrichtlinie erstellen im Textfeld Name* den Namen der Richtlinie ein, und klicken Sie dann im Bereich Ausdruck auf Hinzufügen.

  4. Um einen einfachen Ausdruck zu konfigurieren, geben Sie den Ausdruck ein. Es folgt ein Beispiel für einen Ausdruck, der nach einer JPEG-Erweiterung in einer URL sucht:

    • Ausdruckstype-Allgemein
    • Durchflussart -REQ
    • Protokoll -HTTP
    • Kennzeichner -URL
    • Betreiber -! =
    • Wert* - /*.jpeg

    Der einfache Ausdruck im folgenden Beispiel prüft auf einen If-Modified-Since Header in einer Anforderung:

    • Ausdruckstype-Allgemein
    • Durchflussart -REQ
    • Protokoll -HTTP
    • Qualifizierer -HEADER
    • Operator -EXISTS
    • Headername -If-Modified-Since
  5. Wenn Sie die Eingabe des Ausdrucks abgeschlossen haben, klicken Sie auf OK oder Erstellen, und klicken Sie dann auf Schließen.

Konfigurieren einer Cache-Umleitungsrichtlinie mit einem zusammengesetzten Ausdruck mit der GUI

  1. Navigieren Sie zu Traffic Management > Cache-Umleitung > Richtlinien.

  2. Klicken Sie im Detailbereich auf “Hinzufügen”.

  3. Geben Sie im Textfeld Name einen Namen für die Richtlinie ein.

    Der Name kann mit einem Buchstaben, einer Zahl oder dem Unterstrich beginnen und kann aus einem bis 127 Buchstaben, Zahlen und dem Bindestrich (-), Punkt (.) Pfund (#), Leerzeichen (), at (@), Gleich (=) und Unterstrich (_) bestehen. Sie sollten einen Namen auswählen, der es anderen erleichtert, zu erkennen, welche Art von Inhalt diese Richtlinie erstellt hat.

  4. Wählen Sie den Typ des zusammengesetzten Ausdrucks aus, den Sie erstellen möchten. Ihre Auswahlmöglichkeiten:

    • Entsprechung eines beliebigen Ausdrucks. Die Richtlinie entspricht dem Datenverkehr, wenn ein oder mehrere einzelne Ausdrücke mit dem Datenverkehr übereinstimmen.

    • Alle Ausdrücke übereinstimmen. Die Richtlinie stimmt nur dann mit dem Datenverkehr überein, wenn jeder einzelne Ausdruck dem Datenverkehr entspricht.

    • Tabellarische Ausdrücke. Schaltet die Liste Ausdrücke in ein tabellarisches Format mit drei Spalten um. In der Spalte ganz rechts platzieren Sie einen der folgenden Operatoren:

      • Der[ && ]AND-Operator muss zur Übereinstimmung mit der Richtlinie eine Anforderung sowohl mit dem aktuellen Ausdruck als auch mit dem folgenden Ausdruck übereinstimmen.
      • Der[   ] ODER Operator, um dies zu verlangen, muss eine Anforderung entweder mit dem aktuellen Ausdruck oder dem folgenden Ausdruck oder beides übereinstimmen. Nur wenn die Anforderung nicht mit einem Ausdruck übereinstimmt, stimmt sie nicht mit der Richtlinie überein.

      Sie können Ausdrücke auch in verschachtelten Untergruppen gruppieren, indem Sie einen vorhandenen Ausdruck auswählen und auf einen der folgenden Operatoren klicken:

      • Der[+ ( ] Operator BEGIN SUBGROUP, der die Citrix ADC Appliance anweist, eine verschachtelte Untergruppe mit dem ausgewählten Ausdruck zu beginnen. (Um diesen Operator aus dem Ausdruck zu entfernen, klicken Sie auf - (.)
      • Der[+ ) ] Operator END SUBGROUP, der die Citrix ADC Appliance anweist, die aktuelle verschachtelte Untergruppe mit dem ausgewählten Ausdruck zu beenden. (Um diesen Operator aus dem Ausdruck zu entfernen, klicken Sie auf -).)
    • Erweiterte Freiform-Form. Schaltet den Ausdruckseditor vollständig aus und verwandelt die Ausdrucksliste in einen Textbereich, in den Sie einen zusammengesetzten Ausdruck eingeben können. Dies ist sowohl die leistungsstärkste als auch die schwierigste Methode zum Erstellen eines Richtlinienausdrucks und wird nur für diejenigen empfohlen, die mit der klassischen Citrix ADC Ausdruckssprache vertraut sind.

      Weitere Hinweise zum Erstellen klassischer Ausdrücke im erweiterten Freiformtextbereich finden Sie unterKonfigurieren klassischer Richtlinien und Ausdrücke.

      Achtung: Wenn Sie in den erweiterten Freiformausdruck-Bearbeitungsmodus wechseln, können Sie nicht zu einem der anderen Modi zurückkehren. Wählen Sie diesen Ausdruckbearbeitungsmodus nur aus, wenn Sie sicher sind, dass Sie ihn verwenden möchten.

  5. Wenn Sie Beliebigen Ausdruck, Alle Ausdrücke abgleichen oder Tabellarische Ausdrücke gewählt haben, klicken Sie auf Hinzufügen, um das Dialogfeld Ausdruck hinzufügen anzuzeigen.

    Sie sollten den Ausdruckstyp für Cache-Umleitungsrichtlinien auf Allgemein festlegen.

  6. Wählen Sie in der Dropdownliste Flow Type einen Flow Type für Ihren Ausdruck aus.

    Der Flow-Typ bestimmt, ob die Richtlinie eingehende oder ausgehende Verbindungen prüft. Sie haben zwei Möglichkeiten:

    • REQ. Konfiguriert die Citrix ADC Appliance, um eingehende Verbindungen oder Anforderungen zu untersuchen.
    • RES. Konfiguriert die Appliance so, dass ausgehende Verbindungen oder Antworten untersucht werden.
  7. Wählen Sie in der Dropdownliste Protokoll ein Protokoll für Ihren Ausdruck aus.

    Das Protokoll bestimmt die Art von Informationen, die die Richtlinie in der Anforderung oder Antwort prüft. Je nachdem, ob Sie REQ oder RES in der vorherigen Dropdownliste ausgewählt haben, stehen entweder alle vier oder nur drei der folgenden Optionen zur Verfügung:

    • HTTP. Konfiguriert die Appliance, um den HTTP-Header zu untersuchen.
    • SSL. Konfiguriert die Appliance für die Prüfung des SSL-Clientzertifikats. Nur verfügbar, wenn Sie REQ (Requests) in der vorherigen Dropdownliste ausgewählt haben.
    • TCP. Konfiguriert die Appliance, um den TCP-Header zu untersuchen.
    • IP. Konfiguriert die Appliance, um die Quell- oder Ziel-IP-Adresse zu untersuchen.
  8. Wählen Sie in der Dropdownliste Qualifier einen Qualifier für Ihren Ausdruck aus.

    Der Inhalt der Dropdownliste Qualifier hängt davon ab, welches Protokoll Sie gewählt haben. In der folgenden Tabelle werden die verfügbaren Optionen für jedes Protokoll beschrieben.

    Tabelle 1. Cache-Umleitungsrichtlinien für jedes Protokoll verfügbar

    Protokoll Kennzeichner Beschreibung
    HTTP METHOD HTTP-Methode, die in der Anforderung verwendet wird.
    - URL Inhalt des URL-Headers.
    - URLTOKENS URL-Token im HTTP-Header.
    - VERSION HTTP-Version der Verbindung.
    - HEADER Header-Teil der HTTP-Anforderung.
    - URLLEN Länge des Inhalts des URL-Headers.
    - URLQUERY Abfragen Teil des Inhalts des URL-Headers.
    - URLQUERYLEN Länge des Abfrageabschnitts des URL-Headers.
    SSL CLIENT.CERT SSL-Client-Zertifikat als Ganzes.
    - CLIENT.CERT.SUBJECT Inhalt des Felds für das Clientzertifikat.
    - CLIENT.CERT.ISSUER Client-Zertifikataussteller.
    - CLIENT.CERT.SIGALGO Signaturalgorithmus, der im Clientzertifikat verwendet wird.
    - CLIENT.CERT.VERSION Clientzertifikatversion.
    - CLIENT.CERT.VALIDFROM Datum, ab dem das Clientzertifikat gültig ist. (Das Startdatum.)
    - CLIENT.CERT.VALIDTO Datum, nach dem das Clientzertifikat nicht mehr gültig ist. (Das Enddatum.)
    - CLIENT.CERT.SERIALNUMBER Seriennummer des Clientzertifikats.
    - CLIENT.CIPHER.TYPE Verschlüsselungsmethode, die im Clientzertifikat verwendet wird.
    - CLIENT.CIPHER.BITS Anzahl der signifikanten Bits im Verschlüsselungsschlüssel.
    - CLIENT.SSL.VERSION SSL-Version des Clientzertifikats.
    TCP SOURCEPORT Quellport der TCP-Verbindung.
    - DESTPORT Zielport der TCP-Verbindung.
    - MSS Maximale Segmentgröße (MSS) der TCP-Verbindung.
    IP SOURCEIP Quell-IP-Adresse der Verbindung.
    - DESTIP Ziel-IP-Adresse der Verbindung.
  9. Wählen Sie den Operator für Ihren Ausdruck aus der Dropdownliste Operator aus.

    Ihre Auswahl hängt vom Qualifier ab, das Sie im vorherigen Schritt ausgewählt haben. Die vollständige Liste der Operatoren, die in dieser Dropdownliste angezeigt werden können, lautet:

    • == . Entspricht exakt der folgenden Textzeichenfolge.
    • != . Entspricht nicht der folgenden Textzeichenfolge.
    • . Ist größer als die folgende ganze Zahl.

    • CONTAINS. Enthält die folgende Textzeichenfolge.
    • CONTENTS. Der Inhalt der angegebenen Header-, URL- oder URL-Abfrage.
    • EXISTS. Der angegebene Header oder die angegebene Abfrage ist vorhanden.
    • NOTCONTAINS. Enthält nicht die folgende Textzeichenfolge.
    • NOTEXISTS. Der angegebene Header oder die angegebene Abfrage ist nicht vorhanden.

    Wenn diese Richtlinie für Anforderungen verwendet werden soll, die an einen bestimmten Host gesendet werden, können Sie das Standardzeichen, das Gleichheitszeichen (==), belassen.

  10. Wenn das Textfeld Wert sichtbar ist, geben Sie die entsprechende Zeichenfolge oder Zahl in das Textfeld ein.

    Wenn diese Richtlinie beispielsweise Anforderungen auswählen soll, die an den Host shopping.example.com gesendet werden, geben Sie diese Zeichenfolge in das Textfeld Wert ein.

  11. Wenn Sie HEADER als Kriterium gewählt haben, geben Sie die gewünschte Kopfzeile in das Textfeld Kopfzeilenname ein.

  12. Klicken Sie auf OK, um den Ausdruck der Liste Ausdruck hinzuzufügen.

  13. Wiederholen Sie die Schritte 4 bis 11, um zusätzliche Ausdrücke zu erstellen.

  14. Klicken Sie auf Schließen, um das Dialogfeld Ausdruck hinzufügen zu schließen und zum Dialogfeld Cache-Umleitungsrichtlinie erstellen zurückzukehren.