Citrix ADC

Konfigurieren einer Cache-Umleitungsrichtlinie

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

Sie konfigurieren keine expliziten Aktionen für Cache-Umleitungsrichtlinien. Standardmäßig betrachtet die Citrix ADC-Appliance jede Anforderung, die einer Richtlinie entspricht, als nicht zwischenspeicherbar und leitet die Anforderung an den Ursprungsserver anstelle des Caches weiter.

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

Für klassische Cache-Umleitungsrichtlinien konfigurieren Sie keine expliziten Aktionen für die Richtlinien. Standardmäßig betrachtet die Citrix ADC-Appliance jede Anforderung, die einer Richtlinie entspricht, als nicht zwischenspeicherbar und leitet die Anforderung an den Ursprungsserver anstelle des Caches weiter.

Auf dem neueren Richtlinienformat basierende Cache-Umleitungsrichtlinien werden als erweiterte Umleitungsrichtlinienbezeichnet. Diese Richtlinie hat einen Namen und enthält einen erweiterten Richtlinienausdruck oder eine Reihe von erweiterten Richtlinienausdrücken, die mithilfe logischer Operatoren kombiniert werden, und die folgenden integrierten Aktionen:

  • CACHE
  • ORIGIN

Weitere Informationen zu klassischen Ausdrücken und erweiterten Richtlinienausdrü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>]
<!--NeedCopy-->

Beispiele:

Richtlinie mit einem einfachen Ausdruck:

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

Richtlinie mit einem zusammengesetzten Ausdruck:

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

Richtlinie, die einen Header auswertet:

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

Hinzufügen einer Richtlinie für erweiterte Richtlinien-Cache-Umleitung über die 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>]
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

Ändern oder entfernen Sie eine Cache-Umleitungsrichtlinie über die CLI

  • Um eine Cache-Umleitungsrichtlinie zu ändern, verwenden Sie den Befehl set cr policy, der genau dem Befehl add cr policy entspricht, mit der Ausnahme, dass Sie den Namen einer vorhandenen Richtlinie eingeben.
  • Verwenden Sie den rm cr policy Befehl, der nur das <name>Argument akzeptiert, um eine Richtlinie zu entfernen. 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 unter Aufheben 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 in einer URL nach einer .jpeg Erweiterung sucht:

    • Ausdruckstyp-Allgemein
    • Flow Type -REQ
    • Protocol -HTTP
    • Qualifier -URL
    • Operator - !=
    • Wert - /.jpeg

    Der einfache Ausdruck im folgenden Beispiel prüft in einer Anfrage nach einem If-Modified-Since-Header:

    • Expression Type -General
    • Flow Type -REQ
    • Protocol -HTTP
    • Qualifier -HEADER
    • Operator -EXISTS
    • Header-Name -If-Modified-Since
  5. Wenn Sie mit der Eingabe des Ausdrucks fertig sind, klicken Sie auf OK oder Erstellen und dann auf Schließen.

Konfigurieren einer Cache-Umleitungsrichtlinie mit einem zusammengesetzten Ausdruck über die 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 Unterstrichsymbol beginnen und aus einem bis 127 Buchstaben, Zahlen und dem Bindestrich (-), Punkt (.) Pfund (#), Leerzeichen (), bei (@), gleich (=) und Unterstrichen (_) bestehen. Sie sollten einen Namen wählen, der es anderen leicht macht zu sagen, welche Art von Inhalten diese Richtlinie ermittelt wurde.

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

    • Entsprechen Sie einem beliebigen Ausdruck. Die Richtlinie stimmt mit dem Verkehr überein, wenn ein oder mehrere einzelne Ausdrücke mit dem Verkehr übereinstimmen.

    • Passen Sie alle Ausdrückean. Die Richtlinie stimmt nur dann mit dem Verkehr überein, wenn jeder einzelne Ausdruck mit dem Verkehr übereinstimmt.

    • 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 Operator AND [ && ], um dies zu verlangen, muss eine Anforderung zur Übereinstimmung mit der Richtlinie sowohl dem aktuellen Ausdruck als auch dem folgenden Ausdruck entsprechen.
      • Der Operator ODER [   ], um zu verlangen, dass eine Anforderung, um der Richtlinie entsprechen zu können, entweder mit dem aktuellen Ausdruck oder dem folgenden Ausdruck oder beidem übereinstimmen muss. 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 aktuell verschachtelte Untergruppe mit dem ausgewählten Ausdruck zu beenden. (Um diesen Operator aus dem Ausdruck zu entfernen, klicken Sie auf -).)
    • Fortgeschrittene Freiform. 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 Informationen zum Erstellen klassischer Ausdrücke im Textbereich Erweiterte Freiform finden Sie unter Konfigurieren klassischer Richtlinien und Ausdrücke.

      Achtung: Wenn Sie in den Bearbeitungsmodus für erweiterte Freiformausdrücke wechseln, können Sie nicht zu einem der anderen Modi zurückkehren. Wählen Sie diesen Ausdrucksbearbeitungsmodus nicht, es sei denn, Sie sind sicher, dass Sie ihn verwenden möchten.

  5. Wenn Sie “Beliebiger Ausdruck anpassen”, “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 festgelegt lassen.

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

    Der Flusstyp bestimmt, ob die Richtlinie eingehende oder ausgehende Verbindungen untersucht. Sie haben zwei Möglichkeiten:

    • REQ. Konfiguriert die Citrix ADC-Appliance für die Überprüfung eingehender Verbindungen oder Anfragen.
    • 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 der Informationen, die die Richtlinie in der Anfrage oder Antwort untersucht. Je nachdem, ob Sie in der vorherigen Dropdownliste REQ oder RES gewählt haben, sind entweder alle vier oder nur drei der folgenden Optionen verfügbar:

    • 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 (Anfragen) in der vorherigen Dropdownliste gewählt haben.
    • TCP. Konfiguriert die Appliance für die Untersuchung des TCP-Headers.
    • IP. Konfiguriert die Appliance für die Überprüfung der Quell- oder Ziel-IP-Adresse.
  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 für jedes Protokoll verfügbaren Wahlmöglichkeiten beschrieben.

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

    Protokoll Qualifier Definition
    HTTP METHOD In der Anforderung verwendete HTTP-Methode.
    - 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 Fragen Sie einen Teil des Inhalts des URL-Headers ab.
    - URLQUERYLEN Länge des Abfrageabschnitts des URL-Headers.
    SSL CLIENT.CERT SSL-Clientzertifikat als Ganzes.
    - CLIENT.CERT.SUBJECT Inhalt des Felds Betreff des Client-Zertifikats.
    - CLIENT.CERT.ISSUER Aussteller des Clientzertifikats.
    - CLIENT.CERT.SIGALGO Im Clientzertifikat verwendeter Signaturalgorithmus.
    - CLIENT.CERT.VERSION Version des Client-Zertifikats.
    - 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 Im Clientzertifikat verwendete Verschlüsselungsmethode.
    - CLIENT.CIPHER.BITS Anzahl signifikanter 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 Wahl hängt von der Qualifikation ab, die Sie im vorherigen Schritt gewählt haben. Die vollständige Liste der Operatoren, die in dieser Dropdownliste erscheinen können, lautet:

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

    • 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 existiert nicht.

    Wenn Sie möchten, dass diese Richtlinie für Anfragen funktioniert, die an einen bestimmten Host gesendet werden, können Sie das Standardzeichen Gleichheitszeichen (==) beibehalten.

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

    Wenn Sie beispielsweise möchten, dass diese Richtlinie Anforderungen auswählt, die an den Host shopping.example.com gesendet werden, geben Sie diese Zeichenfolge in das Textfeld Wert ein.

  11. Wenn Sie HEADER als Qualifizierer gewählt haben, geben Sie die gewünschte Kopfzeile in das Textfeld Header-Name ein.

  12. Klicken Sie auf OK, um Ihren Ausdruck zur Ausdrucksliste 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.