-
AppExpert Anwendungen und Vorlagen
-
Konfigurieren der Anwendungsauthentifizierung, -autorisierung und -überwachung
-
-
Konfigurieren des erweiterten Richtlinienausdrucks: Erste Schritte
-
Grundlegende Elemente eines erweiterten Richtlinienausdrucks
-
Konfigurieren von erweiterten Richtlinienausdrücken in einer Richtlinie
-
Konfigurieren von benannten erweiterten Richtlinienausdrücken
-
Konfigurieren erweiterter Richtlinienausdrücke außerhalb des Kontexts einer Richtlinie
-
-
Erweiterte Richtlinienausdrücke: Arbeiten mit Datumsangaben, Uhrzeiten und Zahlen
-
Erweiterte Richtlinienausdrücke: Analysieren von HTTP-, TCP- und UDP-Daten
-
Ausdrücke zur Identifizierung des Protokolls in einem eingehenden IP-Paket
-
Ausdrücke für HTTP-Statuscodes und numerische HTTP-Nutzlastdaten außer Datumsangaben
-
Operationen für HTTP-, HTML- und XML-Kodierung und „sichere“ Zeichen
-
Ausdrücke zum Auswerten einer DNS-Nachricht und Identifizieren des Trägerprotokolls
-
Erweiterte Richtlinienausdrücke: Analysieren von SSL-Zertifikaten
-
Erweiterte Richtlinienausdrücke: IP- und MAC-Adressen, Durchsatz, VLAN-IDs
-
Erweiterte Richtlinienausdrücke: Stream Analytics-Funktionen
-
Zusammenfassende Beispiele für Standard-Syntaxausdrücke und -richtlinien
-
Tutorialbeispiele für Standard-Syntaxrichtlinien für das Umschreiben
-
Migration von Apache mod_rewrite Regeln auf die Standardsyntax
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Grundlegende Elemente eines erweiterten Richtlinienausdrucks
Ein erweiterter Richtlinienausdruck besteht mindestens aus einem Präfix (oder einem einzelnen Element, das anstelle eines Präfixes verwendet wird). Die meisten Ausdrücke geben auch eine Operation an, die für die Daten ausgeführt werden soll, die vom Präfix identifiziert werden. Sie formatieren einen Ausdruck mit bis zu 1.499 Zeichen wie folgt:
<prefix>.<operation> [<compound-operator> <prefix>.<operation>. . .]
wobei
-
<prefix>
ist ein Ankerpunkt zum Starten eines Ausdrucks.
Das Präfix ist ein periodenbegrenzter Schlüssel, der eine Dateneinheit identifiziert. Das folgende Präfix untersucht beispielsweise HTTP-Anforderungen auf das Vorhandensein eines Headers namens Content-Type:
http.req.header (Content-Type)
Präfixe können auch alleine verwendet werden, um den Wert des Objekts zurückzugeben, das das Präfix identifiziert.
-
<operation>
identifiziert eine Auswertung, die mit den durch das Präfix identifizierten Daten durchgeführt werden soll.
Betrachten Sie beispielsweise den folgenden Ausdruck:
http.req.header (Content-Type) .eq (text/html)
In diesem Ausdruck ist der folgende Operator Komponente:
eq (text/html)
Dieser Operator bewirkt, dass Citrix ADC alle HTTP-Anforderungen auswertet, die einen Content-Type-Header enthalten, und insbesondere, um festzustellen, ob der Wert dieses Headers gleich der Zeichenfolge text/html ist. Weitere Informationen finden Sie unter “Operationen. “
-
<compound-operator>
ist ein boolescher oder arithmetischer Operator, der einen zusammengesetzten Ausdruck aus mehreren Präfix- oder prefix.operationselementen bildet.
Betrachten Sie beispielsweise den folgenden Ausdruck:
http.req.header (Content-Type) .eq (text/html) && http.req.url.contains (.html)
Präfixe
Ein Ausdruckspräfix stellt eine diskrete Datenmenge dar. Ein Ausdruckspräfix kann beispielsweise eine HTTP-URL, einen HTTP-Cookie-Header oder eine Zeichenfolge im Textkörper einer HTTP-POST-Anforderung darstellen. Ein Ausdruckspräfix kann eine Vielzahl von Datentypen identifizieren und zurückgeben, einschließlich der folgenden:
- Eine Client-IP-Adresse in einem TCP/IP-Paket
- Citrix ADC -Systemzeit
- Ein externes Callout über HTTP
- Ein TCP- oder UDP-Datensatztyp
In den meisten Fällen beginnt ein Ausdruckspräfix mit einem der folgenden Schlüsselwörter:
- CLIENT:
- Identifiziert ein Merkmal des Clients, der entweder eine Anfrage sendet oder eine Antwort empfängt, wie in den folgenden Beispielen:
- Das Präfix client.ip.dst gibt die Ziel-IP-Adresse in der Anforderung oder Antwort an.
- Das Präfix client.ip.src gibt die Quell-IP-Adresse an.
- HTTP:
- Identifiziert ein Element in einer HTTP-Anforderung oder einer Antwort, wie in den folgenden Beispielen:
- Das Präfix http.req.body (integer) bezeichnet den Körper der HTTP-Anforderung als mehrzeiliges Textobjekt, bis zu der in Integer angegebenen Zeichenposition.
- Das Präfix http.req.header (header_name) bezeichnet einen HTTP-Header, wie in header_name angegeben.
- Das Präfix http.req.url bezeichnet eine HTTP-URL im URL-kodierten Format.
-
SERVER:
Identifiziert ein Element auf dem Server, das entweder eine Anforderung verarbeitet oder eine Antwort sendet.
-
SYS:
Identifiziert ein Merkmal des Citrix ADC, das den Datenverkehr verarbeitet.
Hinweis: Beachten Sie, dass DNS-Richtlinien nur SYS, CLIENT und SERVER-Objekte unterstützen.
Darüber hinaus kann die Clientless-VPN-Funktion in Citrix Gateway die folgenden Arten von Präfixen verwenden:
-
TEXT:
Identifiziert ein beliebiges Textelement in einer Anforderung oder einer Antwort.
-
TARGET:
Identifiziert das Ziel einer Verbindung.
-
URL:
Identifiziert ein Element im URL-Teil einer HTTP-Anforderung oder -Antwort.
Als allgemeine Faustregel kann jedes Ausdruckspräfix ein eigenständiger Ausdruck sein. Das folgende Präfix ist beispielsweise ein vollständiger Ausdruck, der den Inhalt des HTTP-Headers zurückgibt, der im String-Argument angegeben ist (in Anführungszeichen eingeschlossen):
http.res.header.("myheader")
Oder Sie können Präfixe mit einfachen Operationen kombinieren, um TRUE und FALSE Werte zu bestimmen. Der folgende Wert gibt beispielsweise den Wert TRUE oder FALSE zurück:
http.res.header.("myheader").exists
Sie können auch komplexe Operationen für einzelne Präfixe und mehrere Präfixe innerhalb eines Ausdrucks verwenden, wie im folgenden Beispiel:
http.req.url.length + http.req.cookie.length <= 500
Welche Ausdruckspräfixe Sie angeben können, hängt von der Citrix ADC Funktion ab. In der folgenden Tabelle werden die Ausdruckspräfixe beschrieben, die auf Feature-Basis von Interesse sind.
Feature | Typen von Ausdruckspräfix, die im Feature verwendet werden |
---|---|
DNS | SYS, CLIENT, SERVER |
Responder in Schutzfunktionen | HTTP, SYS, CLIENT |
Content Switching | HTTP, SYS, CLIENT |
Neuschreiben | HTTP, SYS, CLIENT, SERVER, URL, TEXT, TARGET, VPN |
Integriertes Caching | HTTP, SYS, CLIENT, SERVER |
Citrix Gateway, Clientloser Zugriff | HTTP, SYS, CLIENT, SERVER, URL, TEXT, TARGET, VPN |
Tabelle 1. Zulässige Typen von Ausdruckspräfixen in verschiedenen Citrix ADC Features
Hinweis: Einzelheiten zu den zulässigen Ausdruckspräfixen in einem Feature finden Sie in der Dokumentation zu diesem Feature.
Ausdrücke mit einem Element
Der einfachste Typ des erweiterten Richtlinienausdrucks enthält ein einzelnes Element. Dieses Element kann eines der folgenden sein:
- wahr. Ein erweiterter Richtlinienausdruck kann einfach aus dem Wert true bestehen. Dieser Ausdruckstyp gibt immer den Wert TRUE zurück. Es ist nützlich, um Richtlinienaktionen zu verketten und Goto-Ausdrücke auszulösen.
- falsch. Ein erweiterter Richtlinienausdruck kann einfach aus dem Wert false bestehen. Dieser Ausdruckstyp gibt immer den Wert FALSE zurück.
- Ein Präfix für einen zusammengesetzten Ausdruck. Beispielsweise ist das Präfix HTTP.REQ.HOSTNAME ein vollständiger Ausdruck, der einen Hostnamen zurückgibt, und HTTP.REQ.URL ist ein vollständiger Ausdruck, der eine URL zurückgibt. Das Präfix könnte auch in Verbindung mit Operationen und zusätzlichen Präfixen verwendet werden, um einen zusammengesetzten Ausdruck zu bilden.
Vorgänge
In den meisten Ausdrücken geben Sie auch eine Operation für die Daten an, die vom Präfix identifiziert werden. Angenommen, Sie geben das folgende Präfix an:
http.req.url
Dieses Präfix extrahiert URLs in HTTP-Anforderungen. Für dieses Ausdruckspräfix müssen keine Operatoren in einem Ausdruck verwendet werden. Wenn Sie jedoch einen Ausdruck konfigurieren, der HTTP-Anforderungs-URLs verarbeitet, können Sie Vorgänge angeben, die bestimmte Merkmale der URL analysieren. Im Folgenden sind ein paar Möglichkeiten:
- Suchen Sie in der URL nach einem bestimmten Hostnamen.
- Suchen Sie in der URL nach einem bestimmten Pfad.
- Bewerten Sie die Länge der URL.
- Suchen Sie in der URL nach einer Zeichenfolge, die einen Zeitstempel angibt, und konvertieren Sie ihn in GMT.
Im Folgenden finden Sie ein Beispiel für ein Präfix, das einen HTTP-Header namens Server und einen Vorgang identifiziert, der im Headerwert nach der Zeichenfolge IIS sucht:
http.res.header("Server").contains("IIS")
Es folgt ein Beispiel für ein Präfix, das Hostnamen identifiziert und eine Operation, die nach der Zeichenfolge www.mycompany.com als Wert des Namens sucht:
http.req.hostname.eq("www.mycompany.com")
Grundlegende Operationen für Ausdruckspräfixe
In der folgenden Tabelle werden einige der grundlegenden Operationen beschrieben, die für Ausdruckspräfixe ausgeführt werden können.
Vorgang | Bestimmt, ob |
---|---|
CONTAINS( |
Das Objekt mit |
EXISTS | Ein bestimmtes Element ist in einem Objekt vorhanden. Es folgt ein Beispiel: http.res.header (“MyHDR”) .exists |
EQ( |
Ein bestimmter nicht-numerischer Wert ist in einem Objekt vorhanden. Es folgt ein Beispiel: http.req.method.eq(post) |
EQ( |
Ein bestimmter numerischer Wert ist in einem Objekt vorhanden. Es folgt ein Beispiel: client.ip.dst.eq(10.100.10.100) |
LT( |
Der Wert eines Objekts ist kleiner als ein bestimmter Wert. Es folgt ein Beispiel: http.req.content_length.lt(5000) |
GT( |
Der Wert eines Objekts ist größer als ein bestimmter Wert. Es folgt ein Beispiel: http.req.content_length.gt(5) |
In der folgenden Tabelle werden einige der verfügbaren Arten von Vorgängen zusammengefasst.
Arbeitsvorgangsart | Beschreibung |
---|---|
Textoperationen | Passen Sie einzelne Strings und Sätze von Strings mit einem beliebigen Teil eines Ziels an. Das Ziel kann eine ganze Zeichenfolge, der Anfang einer Zeichenfolge oder ein beliebiger Teil des Textes zwischen dem Anfang und dem Ende der Zeichenfolge sein. Beispielsweise können Sie die Zeichenfolge XYZ aus XYZsoMEText extrahieren. Oder Sie können einen HTTP-Header-Wert mit einem Array verschiedener Zeichenfolgen vergleichen. Sie können Text auch in einen anderen Datentyp umwandeln. Im Folgenden sind Beispiele: Transformieren Sie eine Zeichenfolge in einen Ganzzahlwert, erstellen Sie eine Liste aus den Abfragezeichenfolgen in einer URL und transformieren Sie eine Zeichenfolge in einen Zeitwert. |
Numerische Operationen | Numerische Operationen umfassen das Anwenden von arithmetischen Operatoren, das Auswerten der Inhaltslänge, die Anzahl der Elemente in einer Liste, Datums-, Uhrzeit- und IP-Adressen. |
Teilen
Teilen
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.