Konfigurieren erweiterter Richtlinienausdrücke in einer Richtlinie
Sie können einen erweiterten Richtlinienausdruck mit bis zu 1.499 Zeichen in einer Richtlinie konfigurieren. Die Benutzeroberfläche für erweiterte Richtlinienausdrücke hängt in gewissem Maße von der Funktion ab, für die Sie den Ausdruck konfigurieren, und davon, ob Sie einen Ausdruck für eine Richtlinie oder für eine andere Verwendung konfigurieren.
Wenn Sie Ausdrücke in der Befehlszeile konfigurieren, begrenzen Sie den Ausdruck mithilfe von Anführungszeichen (“.” oder ‘.’. ‘). Innerhalb eines Ausdrucks entkommen Sie zusätzlichen Anführungszeichen mithilfe eines umgekehrten Schrägstrichs (). Beispielsweise sind die folgenden Standardmethoden zum Entkommen von Anführungszeichen in einem Ausdruck:
"\"abc\""
‘\"abc\"’
Sie müssen auch einen umgekehrten Schrägstrich verwenden, um Fragezeichen und andere umgekehrte Schrägstriche in der Befehlszeile zu vermeiden. Zum Beispiel der Ausdruck http.req.url.contains (“?”) erfordert einen Backslash, damit das Fragezeichen analysiert wird. Beachten Sie, dass das Backslash-Zeichen nicht in der Befehlszeile angezeigt wird, nachdem Sie das Fragezeichen eingegeben haben. Wenn Sie andererseits einen umgekehrten Schrägstrich entkommen (z. B. im Ausdruck ‘http.req.url.contains (“\\ http”) ‘), werden die Escape-Zeichen in der Befehlszeile wiedergegeben.
Um einen Eintrag lesbarer zu machen, können Sie die Anführungszeichen für einen gesamten Ausdruck entkommen. Am Anfang des Ausdrucks geben Sie die Escape-Sequenz “q” plus eines der folgenden Sonderzeichen ein:/{< | ~$^+=&%@`?. |
Am Ende des Ausdrucks geben Sie wie folgt nur das Sonderzeichen ein:
q@http.req.url.contains("sometext") && http.req.cookie.exists@ q~http.req.url.contains("sometext") && http.req.cookie.exists~
Beachten Sie, dass ein Ausdruck, der das {Trennzeichen verwendet, mit} geschlossen wird.
Für einige Funktionen (z. B. integriertes Caching und Responder) bietet das Dialogfeld zur Richtlinienkonfiguration ein sekundäres Dialogfeld zum Konfigurieren von Ausdrücken. In diesem Dialogfeld können Sie aus Dropdownlisten wählen, die die verfügbaren Wahlmöglichkeiten an jedem Punkt während der Ausdruckskonfiguration anzeigen. Sie können bei Verwendung dieser Konfigurationsdialoge keine arithmetischen Operatoren verwenden, aber die meisten anderen erweiterten Richtlinienausdrucksfunktionen sind verfügbar. Um arithmetische Operatoren zu verwenden, schreiben Sie Ihre Ausdrücke im Freiformformat.
Konfigurieren einer erweiterten Richtliniensyntaxregel über die CLI
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine erweiterte Richtlinienregel zu konfigurieren und die Konfiguration zu überprüfen:
add cache|dns|rewrite|cs policyName **-rule** expression featureSpecificParameters **-action**
show cache|dns|rewrite|cs policyName
Es folgt ein Beispiel für die Konfiguration einer Caching-Richtlinie:Beispiel:
> add cache policy pol-cache -rule http.req.content_length.le(5) -action INVAL Done > show cache policy pol-cache Name: pol-cache Rule: http.req.content_length.le(5) CacheAction: INVAL Invalidate groups: DEFAULT UndefAction: Use Global Hits: 0 Undef Hits: 0 Done
Konfigurieren eines erweiterten Richtlinienausdrucks über die GUI
Klicken Sie im Navigationsbereich auf den Namen der Funktion, für die Sie eine Richtlinie konfigurieren möchten. Sie können beispielsweise Integriertes Caching, Responder, DNS, Rewrite oder Content Switching auswählen und dann aufRichtlinienklicken.
Klicken Sie auf Hinzufügen.
Klicken Sie für die meisten Features in das FeldAusdruck. Für Content Switching, klicken Sie aufKonfigurieren.
Klicken Sie auf dasPräfix-Symbol(das Haus) und wählen Sie das erste Ausdruckspräfix aus der Dropdownliste aus. In Responder lauten die Optionen beispielsweise HTTP, SYS und CLIENT. Der nächste Satz anwendbarer Optionen wird in einer Dropdownliste angezeigt.
Doppelklicken Sie auf die nächste Option, um sie auszuwählen, und geben Sie dann einen Punkt ein (.). Auch hier wird eine Reihe anwendbarer Optionen in einer anderen Dropdownliste angezeigt.
民意调查您weiterhin Optionen来自,bis Eingabefeld (durch Klammern signalisiert) angezeigt wird. Wenn Sie ein Eingabefeld sehen, geben Sie einen entsprechenden Wert in die Klammern ein. Wenn Sie beispielsweise GT (int) (größer als, Integer-Format) auswählen, geben Sie eine Ganzzahl in Klammern an. Textzeichenfolgen werden durch Anführungszeichen begrenzt. Es folgt ein Beispiel:
HTTP.REQ.BODY(1000).BETWEEN("this","that")
Um einen Operator zwischen zwei Teilen eines zusammengesetzten Ausdrucks einzufügen, klicken Sie auf das Symbol Operatoren (das Sigma) und wählen Sie den Operatortyp aus. Es folgt ein Beispiel für einen konfigurierten Ausdruck mit einem booleschen ODER (signalisiert durch doppelte vertikale Balken, ||):
HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")
Um einen benannten Ausdruck einzufügen, klicken Sie auf den Pfeil nach unten neben dem Symbol Hinzufügen (das Pluszeichen) und wählen Sie einen benannten Ausdruck aus.
Um einen Ausdruck mithilfe von Dropdown-Menüs zu konfigurieren und integrierte Ausdrücke einzufügen, klicken Sie auf das Symbol Hinzufügen (das Pluszeichen). Das DialogfeldAusdruck hinzufügenfunktioniert ähnlich wie das Hauptdialogfeld, bietet jedoch Dropdownlisten zur Auswahl von Optionen und bietet Textfelder für die Dateneingabe anstelle von Klammern. Dieses Dialogfeld enthält auch eine Dropdownliste “Häufig verwendete Ausdrücke”, in die häufig verwendete Ausdrücke eingefügt werden. Wenn Sie mit dem Hinzufügen des Ausdrucks fertig sind, klicken Sie aufOK.
Wenn Sie fertig sind, klicken Sie aufErstellen. Eine Meldung in der Statusleiste zeigt an, dass der Richtlinienausdruck erfolgreich konfiguriert wurde.
Testen eines erweiterten Richtlinienausdrucks über die GUI
- Klicken Sie im Navigationsbereich auf den Namen der Funktion, für die Sie eine Richtlinie konfigurieren möchten (z. B. können Sie Integriertes Caching, Responder, DNS, Rewrite oder Content Switching auswählen), und klicken Sie dann auf Richtlinien.
- Wählen Sie eine Richtlinie aus und klicken Sie aufÖffnen.
- Um den Ausdruck zu testen, klicken Sie auf das Symbol “Auswerten” (das Häkchen).
- Wählen Sie im Dialogfeld Ausdrucksauswertung den Flow-Typ aus, der mit dem Ausdruck übereinstimmt.
- Fügen Sie im FeldHTTP-AnforderungsdatenoderHTTP-Antwortdatendie HTTP-Anforderung oder Antwort ein, die Sie mit dem Ausdruck analysieren möchten, und klicken Sie aufAuswerten. Beachten Sie, dass Sie eine vollständige HTTP-Anfrage oder -Antwort angeben müssen und der Header und der Text durch eine Leerzeile getrennt sein sollten. Einige Programme, die HTTP-Header abfangen, fangen die Antwort nicht ebenfalls ab. Wenn Sie nur den Header kopieren und einfügen, fügen Sie am Ende des Headers eine leere Zeile ein, um eine vollständige HTTP-Anforderung oder -Antwort zu erstellen.
- Klicken Sie aufSchließen, um dieses Dialogfeld zu schließen.