Citrix ADC

Konfigurieren benannter erweiterter Richtlinien

Anstatt denselben Ausdruck mehrmals in mehrere Richtlinien einzugeben, können Sie einen benannten Ausdruck konfigurieren und auf den Namen verweisen, wenn Sie den Ausdruck in einer Richtlinie verwenden möchten. Beispielsweise könnten Sie die folgenden benannten Ausdrücke erstellen:

  • Dieser Ausdruck:

    http.req.body(100).contains("this")

  • Dieser Ausdruck:

    http.req.body(100).contains("that")

Sie können diese benannten Ausdrücke dann in einem Richtlinienausdruck verwenden. Zum Beispiel ist das Folgende ein rechtlicher Ausdruck, der auf den vorhergehenden Beispielen basiert:

Dieser Ausdruck   Dieser Ausdruck

Sie können den Namen eines erweiterten Richtlinienausdrucks als Präfix für eine Funktion verwenden. Der benannte Ausdruck kann entweder ein einfacher Ausdruck oder ein zusammengesetzter Ausdruck sein. Die Funktion muss eine sein, die mit dem Datentyp arbeiten kann, der vom benannten Ausdruck zurückgegeben wird.

Beispiel 1: Einfacher benannter Ausdruck als Präfix

Der folgende einfache benannte Ausdruck, der eine Textzeichenfolge identifiziert, kann als Präfix für die <string>Funktion AFTER_STR (“ “) verwendet werden, die mit Textdaten arbeitet:

HTTP.REQ.BODY(1000)

Wenn der Name des Ausdrucks Top1KB lautet, können Sie Top1KB.after_Str (“Benutzername”) anstelle von HTTP.REQ.BODY (1000) .AFTER_STR (“Benutzername”) verwenden.

Beispiel 2: Zusammengesetzter benannter Ausdruck als Präfix

Sie können einen zusammengesetzten benannten Ausdruck namens basic_header_value erstellen, um den Benutzernamen in einer Anforderung, einen Doppelpunkt (:) und das Kennwort des Benutzers wie folgt zu verketten:

add policy expression basic_header_value "HTTP.REQ.USER.NAME + \":\" + HTTP.REQ.USER.PASSWD"

Sie können dann den Namen des Ausdrucks in einer Rewriteaktion verwenden, wie im folgenden Beispiel gezeigt:

add rewrite action insert_b64encoded_authorization insert_http_header authorization '"Basic " + basic_header_value.b64encode'

Im Beispiel wird in dem Ausdruck, der verwendet wird, um den Wert des benutzerdefinierten Headers zu konstruieren, der B64-Codierungsalgorithmus auf die Zeichenfolge angewendet, die von dem zusammengesetzten benannten Ausdruck zurückgegeben wird.

Sie können auch einen benannten Ausdruck (entweder allein oder als Präfix für eine Funktion) verwenden, um den Textausdruck für das Ersetzungsziel in einem Rewrite zu erstellen.

Konfigurieren eines benannten erweiterten Richtlinienausdrucks über die CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen benannten Ausdruck zu konfigurieren und die Konfiguration zu überprüfen:

-  add policy expression <name><value>

-  show policy expression <name>
<!--NeedCopy-->

Beispiel:

> add policy expression myExp "http.req.body(100).contains("the other")"
Done

> show policy expression myExp
    1)      Name: myExp  Expr: "http.req.body(100).contains("the other")"  Hits: 0 Type : ADVANCED
Done
<!--NeedCopy-->

Der Ausdruck kann bis zu 1.499 Zeichen lang sein.

Konfigurieren Sie einen benannten Ausdruck über die GUI

  1. Erweitern Sie im Navigationsbereich AppExpert, und klicken Sie dann auf Ausdrücke.
  2. Klicken Sie auf Erweiterte Ausdrücke.
  3. Klicken Sie auf Hinzufügen.
  4. Geben Sie einen Namen und eine Beschreibung für den Ausdruck ein.
  5. Konfigurieren Sie den Ausdruck mithilfe des unter Erweiterten Richtlinienausdruck konfigurierenbeschriebenen Prozess. Eine Meldung in der Statusleiste zeigt an, dass der Richtlinienausdruck erfolgreich konfiguriert wurde.
Konfigurieren benannter erweiterter Richtlinien