-
Applications et modèles AppExpert
-
Personnaliser la configuration AppExpert
-
Configurer les services et les groupes de services pour une unité d'application
-
Configurer les points de terminaison publics pour une application
-
Configurer des groupes de persistance pour les unités d'application
-
Afficher les applications AppExpert et configurer les entités à l'aide du visualiseur d'applications
-
Configurer l'authentification, l'autorisation et l'audit d'applications
-
-
Configuration de l'expression de stratégie avancée : Mise en route
-
Expressions de stratégie avancées : utilisation de dates, d'heures et de nombres
-
Expressions de stratégie avancées : analyse des données HTTP, TCP et UDP
-
Expressions de stratégie avancées : analyse des certificats SSL
-
Expressions de stratégie avancées : adresses IP et MAC, débit, ID VLAN
-
Expressions de stratégie avancées : fonctions d'analyse de flux
-
Référence aux expressions - Expressions de stratégie avancées
-
Résumé d'exemples d'expressions et de stratégies de syntaxe par défaut
-
Didacticiel exemples de stratégies de syntaxe par défaut pour la réécriture
-
Migration des règles Apache mod_rewrite vers la syntaxe par défaut
-
-
Réécrire des exemples d'action et de stratégie
-
Exemple 1 : supprimer les anciens en-têtes X-Forwarded-For et client-IP
-
Exemple 3 : Marquage des connexions sécurisées et non sécurisées
-
Exemple 6 : Migration des règles du module de réécriture Apache
-
Exemple 8 : rediriger les requêtes vers le serveur interrogé
-
Exemple 11 : chiffrement RSA basé sur une stratégie sans remplissage
-
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!
A propos des expressions de texte
Vous pouvez configurer diverses expressions pour utiliser du texte qui circule via l’appliance Citrix ADC. Voici quelques exemples de la façon dont vous pouvez analyser le texte à l’aide d’une expression de syntaxe par défaut :
-
Déterminez qu’un en-tête HTTP particulier existe.
Par exemple, vous pouvez identifier les requêtes HTTP qui contiennent un en-tête Accept-Language particulier afin de diriger la demande vers un serveur particulier.
-
Déterminez qu’une URL HTTP particulière contient une chaîne particulière.
Par exemple, vous pouvez bloquer les demandes pour des URL particulières. Notez que la chaîne peut se produire au début, au milieu ou à la fin d’une autre chaîne.
-
Identifier une demande POST qui est dirigée vers une application particulière.
Par exemple, vous pouvez identifier toutes les requêtes POST qui sont dirigées vers une application de base de données afin d’actualiser les données d’application mises en cache.
Notez qu’il existe des outils spécialisés pour afficher le flux de données pour les requêtes et réponses HTTP. Vous pouvez utiliser les outils pour afficher le flux de données.
A propos des opérations sur le texte
Une expression textuelle consiste en au moins un préfixe pour identifier un élément de données et généralement (mais pas toujours) une opération sur ce préfixe. Les opérations basées sur le texte peuvent s’appliquer à n’importe quelle partie d’une demande ou d’une réponse. Les opérations de base sur le texte incluent différents types de correspondances de chaîne.
Par exemple, l’expression suivante compare une valeur d’en-tête avec une chaîne :
http.req.header("myHeader").contains("some-text")
Les expressions suivantes sont des exemples de correspondance d’un type de fichier dans une requête :
http.req.url.suffix.contains("jpeg")
http.req.url.suffix.eq("jpeg")
Dans les exemples précédents, l’opérateur contains autorise une correspondance partielle et l’opérateur eq recherche une correspondance exacte.
D’autres opérations sont disponibles pour formater la chaîne avant de l’évaluer. Par exemple, vous pouvez utiliser des opérations de texte pour supprimer les guillemets et les espaces blancs, convertir la chaîne en minuscules ou concaténer des chaînes.
Remarque :
Des opérations complexes sont disponibles pour effectuer une correspondance basée sur des motifs ou pour convertir un type de format de texte en un autre type.
Pour plus d’informations, consultez les rubriques suivantes :
Compilation et priorité dans les expressions de texte
Vous pouvez appliquer différents opérateurs pour combiner des préfixes ou des expressions de texte. Par exemple, l’expression suivante concatène les valeurs renvoyées de chaque préfixe :
http.req.hostname + http.req.url
Voici un exemple d’expression de texte composé qui utilise un AND logique. Les deux composants de cette expression doivent avoir la valeur TRUE pour qu’une requête corresponde à l’expression :
http.req.method.eq(post) && http.req.body(1024).startswith("destination=")
Remarque :
Pour plus d’informations sur les opérateurs de composition, voir Expressions avancées composées.
Catégories d’expressions de texte
Les principales catégories d’expressions de texte que vous pouvez configurer sont les suivantes :
-
Informations dans les en-têtes HTTP, les URL HTTP et le corps POST dans les requêtes HTTP.
Pour plus d’informations, voir Préfixes d’expression pour le texte dans les requêtes et réponses HTTP.
-
Informations concernant un VPN ou un VPN sans client.
Pour plus d’informations, consultez Préfixes d’expression pour les VPN et les VPN sans client.
-
Informations sur la charge utile TCP.
Pour plus d’informations sur les expressions de charge utile TCP, voir Expressions de stratégie avancées : analyse des données HTTP, TCP et UDP.
-
Texte dans un certificat SSL (Secure Sockets Layer).
Pour plus d’informations sur les expressions de texte pour les données de certificat SSL et SSL, voir Expressions de stratégie avancées : Analyse des certificats SSL et Expressions pour les dates de certificat SSL.
Remarque :
L’analyse d’un corps de document, tel que le corps d’une requête POST, peut affecter les performances. Vous pouvez tester l’impact sur les performances des stratégies qui évaluent le corps d’un document.
Lignes directrices pour les expressions de texte
Du point de vue des performances, il est généralement préférable d’utiliser des fonctions prenant en charge le protocole dans une expression. Par exemple, l’expression suivante utilise une fonction prenant en charge le protocole :
HTTP.REQ.URL.QUERY
L’expression précédente fonctionne mieux que l’expression équivalente suivante, qui est basée sur l’analyse de chaîne :
HTTP.REQ.URL.AFTER_STR("?")
Dans le premier cas, l’expression regarde spécifiquement la requête URL. Dans le second cas, l’expression analyse les données pour la première occurrence d’un point d’interrogation.
Il y a également un avantage de performance de l’analyse structurée du texte, comme dans l’expression suivante :
HTTP.REQ.HEADER("Example").TYPECAST_LIST_T(',').GET(1)
(Pour plus d’informations sur la typographie, voir Données de typographie. L’expression de typecasting, qui recueille des données délimitées par des virgules et les structure en une liste, fonctionnerait généralement mieux que l’équivalent non structuré suivant :
HTTP.REQ.HEADER("Example").AFTER_STR(",").BEFORE_STR(",")
Enfin, les expressions de texte non structurées ont généralement de meilleures performances que les expressions régulières. Par exemple, ce qui suit est une expression de texte non structuré :
HTTP.REQ.HEADER("Example").AFTER_STR("more")
L’expression précédente fournirait généralement de meilleures performances que l’équivalent suivant, qui utilise une expression régulière :
HTTP.REQ.HEADER("Example").AFTER_REGEX(re/more/)
Pour plus d’informations sur les expressions régulières, voir Expressions régulières.
Partager
Partager
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.