-
AppExpert Anwendungen und Vorlagen
-
Konfigurieren der Anwendungsauthentifizierung, -autorisierung und -überwachung
-
-
Konfigurieren des erweiterten Richtlinienausdrucks: Erste Schritte
-
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!
Zusammenfassende Beispiele für Standard-Syntaxausdrücke und -richtlinien
Die folgende Tabelle enthält Beispiele für Standardsyntax Ausdrücke, die Sie als Grundlage für eigene Standardsyntax verwenden können.
Tabelle 1. Beispiele für Standard-Syntaxausdrücke
Ausdruckstyp | Beispielausdrücke |
---|---|
Sehen Sie sich die Methode an, die in der HTTP-Anforderung verwendet wird. | http.req.method.eq(post) http.req.method.eq(get) |
Überprüfen Sie den Cache-Control- oder Pragma-Header-Wert in einer HTTP-Anforderung (req) oder Antwort (res). |
http.req.header("Cache-Control").contains("no-store") http.req.header("Cache-Control").contains("no-cache") http.req.header("Pragma").contains("no-cache") http.res.header("Cache-Control").contains("private") http.res.header("Cache-Control").contains("public") http.res.header("Cache-Control").contains("must-revalidate")http.res.header("Cache-Control").contains ("proxy-revalidate") http.res.header("Cache-Control").contains("max-age")
|
Überprüfen Sie, ob ein Header in einer Anfrage (req) oder Antwort (res) vorhanden ist. | http.req.header("myHeader").exists http.res.header("myHeader").exists |
Suchen Sie in einer HTTP-Anforderung basierend auf der Dateierweiterung nach einem bestimmten Dateityp. | http.req.url.contains(".html") http.req.url.contains(".cgi")http.req.url.contains(".asp") http.req.url.contains(".exe") http.req.url.contains(".cfm") http.req.url.contains(".ex") http.req.url.contains(".shtml") http.req.url.contains(".htx") http.req.url.contains("/cgi-bin/") http.req.url.contains("/exec/") http.req.url.contains("/bin/") |
Suchen Sie in einer HTTP-Anforderung nach allem, was außer einem bestimmten Dateityp ist. | http.req.url.contains(".gif").not; http.req.url.contains(".jpeg").not |
Überprüfen Sie den Dateityp, der in einer HTTP-Antwort gesendet wird, basierend auf dem Content-Type-Header. | http.res.header("Content-Type").contains("text") http.res.header("Content-Type").contains "application/msword") http.res.header("Content-Type").contains("vnd.ms-excel") http.res.header("Content-Type").contains("application/vnd.ms-powerpoint"); http.res.header("Content-Type").contains("text/css"); http.res.header("Content-Type").contains("text/xml"); http.res.header("Content-Type").contains("image/") |
Überprüfen Sie, ob diese Antwort einen Ablaufheader enthält. | http.res.header("Expires").exists |
Überprüfen Sie in einer Antwort auf einen Set-Cookie-Header. | http.res.header("Set-Cookie").exists |
Überprüfen Sie den Agenten, der die Antwort gesendet hat. | http.res.header("User-Agent").contains("Mozilla/4.7") http.res.header("User-Agent").contains("MSIE") |
Überprüfen Sie, ob die ersten 1024 Bytes des Body einer Anfrage mit der Zeichenfolge “some text” beginnen. | http.req.body(1024).contains("some text") |
Die folgende Tabelle zeigt Beispiele für Richtlinienkonfigurationen und Bindungen für häufig verwendete Funktionen.
Tabelle 2. Beispiele für Standard-Syntaxausdrücke und -richtlinien
Zweck | Beispiel |
---|---|
Verwenden Sie die Funktion Umschreiben, um Vorkommen von http:// with https:// im Textkörper einer HTTP-Antwort zu ersetzen. |
add rewrite action httpRewriteAction replace_all http.res.body(50000) "\"https://\"" -pattern http:// add rewrite policy demo_rep34312 "http.res.body(50000).contains(\"http://\")" httpRewriteAction |
Ersetzen Sie alle Vorkommen von “abcd” durch “1234” in den ersten 1000 Bytes des HTTP-Body. | add rewrite action abcdTo1234Action replace_all "http.req.body(1000)" "\"1234\"" -pattern abcd add rewrite policy abcdTo1234Policy "http.req.body(1000).contains(\"abcd\")" abcdTo1234Action bind rewrite global abcdTo1234Policy 100 END -type REQ_OVERRIDE |
Herabstufen der HTTP-Version auf 1.0, um zu verhindern, dass der Server HTTP-Antworten abschottet. | add rewrite action downgradeTo1.0Action replace http.req.version.minor "\"0\"" add rewrite policy downgradeTo1.0Policy "http.req.version.minor.eq(1)" downgradeTo1.0Action bind lb vserver myLBVserver -policyName downgradeTo1.0Policy -priority 100 -gotoPriorityExpression NEXT -type REQUEST |
Entfernen Sie Verweise auf das HTTP- oder HTTPS-Protokoll in allen Antworten, sodass, wenn die Verbindung des Benutzers HTTP ist, die Verknüpfung mithilfe von HTTP geöffnet wird und wenn die Verbindung des Benutzers HTTPS ist, die Verknüpfung mithilfe von HTTPS geöffnet wird. | add rewrite action remove_http_https replace_all "http.res.body(1000000).set_text_mode(ignorecase)" "\"//\"" -pattern "re~https?://|HTTPS?://~" add rewrite policy remove_http_https true remove_http_https bind lb vserver test_vsvr -policyName remove_http_https -priority 20 -gotoPriorityExpression NEXT -type RESPONSE |
Instanzen von http: in https: in allen URLs neu schreiben. | add responder action httpToHttpsAction redirect "\"https://\" + http.req.hostname + http.req.url" -bypassSafetyCheck YES add responder policy httpToHttpsPolicy "!CLIENT.SSL.IS_SSL" httpToHttpsAction bind responder global httpToHttpsPolicy 1 END -type OVERRIDE |
Ändern Sie eine URL, um von URL A zu URL B umzuleiten. In diesem Beispiel wird “file5.html” an den Pfad angehängt. | add responder action appendFile5Action redirect \"http://\" + http.req.hostname + http.req.url + \"/file5.html\"" -bypassSafetyCheck YES add responder policy appendFile5Policy "http.req.url.eq(\"/testsite\")" appendFile5Action bind responder global appendFile5Policy 1 END -type OVERRIDE |
Umleiten einer externen URL zu einer internen URL. | add rewrite action act_external_to_internal REPLACE 'http.req.hostname.server' '"www.my.host.com"' add rewrite policy pol_external_to_internal 'http.req.hostname.server.eq("www.external.host.com")' act_external_to_internal bind rewrite global pol_external_to_internal 100 END -type REQ_OVERRIDE |
Umleiten von Anforderungen an www.example.com, die eine Abfragezeichenfolge haben, an www.webn.example.com. Der Wert n wird von einem Serverparameter in der Abfragezeichenfolge abgeleitet, z. B. server=5. | add rewrite action act_redirect_query REPLACE q#http.req.header("Host").before_str(".example.com")' '"Web" + http.req.url.query.value("server")# add rewrite policy pol_redirect_query q#http.req.header("Host").eq("www.example.com") && http.req.url.contains("?")' act_redirect_query# |
Begrenzen Sie die Anzahl der Anfragen pro Sekunde von einer URL. | add ns limitSelector ip_limit_selector http.req.url "client.ip.src" add ns limitIdentifier ip_limit_identifier -threshold 4 -timeSlice 3600 -mode request_rate -limitType smooth -selectorName ip_limit_selector add responder action my_Web_site_redirect_action redirect "\"http://www.mycompany.com/\"" add responder policy ip_limit_responder_policy "http.req.url.contains(\"myasp.asp\") && sys.check_limit (\"ip_limit_identifier\")" my_Web_site_redirect_action bind responder global ip_limit_responder_policy 100 END -type default |
Überprüfen Sie die Client-IP-Adresse, aber übergeben Sie die Anforderung, ohne die Anforderung zu ändern. | add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER ("x-forwarded-for").EXISTS HTTP.REQ.HEADER ("client-ip").EXISTS' NOREWRITE bind rewrite global check_client_ip_policy 100 END |
Entfernen Sie alte Header aus einer Anforderung und fügen Sie einen NS-Client-Header ein. | add rewrite action del_x_forwarded_for delete_http_header x-forwarded-for add rewrite action del_client_ip delete_http_header client-ip add rewrite policy check_x_forwarded_for_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS' del_x_forwarded_for add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER("client-ip").EXISTS' del_client_ip add rewrite action insert_ns_client_header insert_http_header NS-Client 'CLIENT.IP.SRC' add rewrite policy insert_ns_client_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS HTTP.REQ.HEADER("client-ip").EXISTS' insert_ns_client_header bind rewrite global check_x_forwarded_for_policy 100 200 bind rewrite global check_client_ip_policy 200 300 bind rewrite global insert_ns_client_policy 300 END |
Entfernen Sie alte Header aus einer Anforderung, fügen Sie einen NS-Client-Header ein, und ändern Sie dann die Aktion “Header einfügen”, sodass der Wert des eingefügten Headers die Client-IP-Werte aus den alten Headern und der Verbindungs-IP-Adresse der Citrix ADC Appliance enthält. Beachten Sie, dass in diesem Beispiel das vorherige Beispiel wiederholt wird, mit Ausnahme der Aktion zum Umschreiben des endgültigen Satzes. | add rewrite action del_x_forwarded_for delete_http_header x-forwarded-for add rewrite action del_client_ip delete_http_header client-ip add rewrite policy check_x_forwarded_for_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS' del_x_forwarded_for add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER("client-ip").EXISTS' del_client_ip add rewrite action insert_ns_client_header insert_http_header NS-Client 'CLIENT.IP.SRC' add rewrite policy insert_ns_client_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS HTTP.REQ.HEADER("client-ip").EXISTS' insert_ns_client_header bind rewrite global check_x_forwarded_for_policy 100 200 bind rewrite global check_client_ip_policy 200 300 bind rewrite global insert_ns_client_policy 300 END set rewrite action insert_ns_client_header -stringBuilderExpr 'HTTP.REQ.HEADER("x-forwarded-for").VALUE(0) + " " + HTTP.REQ.HEADER("client-ip").VALUE(0) + " " + CLIENT.IP.SRC' -bypassSafetyCheck YES |
Teilen
Teilen
In diesem Artikel
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.