Configurer la commutation de contenu de couche 7
http://example-sports.com/about-us est servi par un pool de serveurs hébergeant du contenu sur l'entreprise et les services, tandis qu'un utilisateur naviguant vers http://example-sports.com/shopping-cart-football est servi par un pool de serveurs différent qui permet aux utilisateurs d'effectuer des achats en ligne.
Règles L7
-
Nom d'hôte : Le nom d'hôte dans la requête HTTP est comparé au paramètre de valeur dans la règle. Par exemple, "www.example-sports.com".
-
chemin : La partie chemin de l'URI HTTP est comparée au paramètre de valeur dans la règle. Par exemple, "www.example-sports.com/shopping-cart/football_pump.html"
-
type\_de\_fichier : La dernière partie de l'URI est comparée au paramètre de valeur dans la règle. Par exemple, txt, html, jpg, PNG, xls, et autres.
-
en-tête : L'en-tête défini dans le paramètre clé est comparé au paramètre de valeur dans la règle.
-
cookie : Le cookie nommé par le paramètre clé est comparé au paramètre de valeur dans la règle. La valeur du champ d'en-tête de requête de cookie contient une paire nom et valeur d'informations stockées pour cette URL ; la syntaxe générale est la suivante - Cookie: name=value. Par exemple, une règle qui recherche un cookie nommé "stores" avec la valeur commençant par "football-" ressemblera à : type = Cookie, compare_type=StartsWith, key = stores value = football-.
Types de comparaison
-
regex : Correspondance d'expressions régulières de type Perl
-
starts\_with: Chaîne commence par
-
ends\_with: Chaîne se termine par
-
contains: Chaîne contient
-
equal\_to: Chaîne est égale à
Stratégies L7
-
Rediriger vers le pool - Transférer la requête vers le pool de serveurs d'applications identifié par les règles associées à la stratégie L7. Autrement dit, vous pouvez créer une règle d'application pour diriger les requêtes vers un pool d'équilibrage de charge spécifique en fonction du nom de domaine. Par exemple, vous pouvez créer une règle qui dirige certaines requêtes vers example-football.com vers pool\_1, et d'autres requêtes vers example-sports-online\_purchase.com vers pool\_2.
-
Rediriger vers l'URL - Envoyer au client une réponse HTTP de redirection dans laquelle l'en-tête de réponse de localisation contient le nouvel emplacement. Le navigateur mettra à jour la barre d'adresse avec le nouvel emplacement et émettra une nouvelle requête. Les cas d'utilisation sont nombreux. Par exemple, si l'adresse d'un site web a changé, vous pouvez rediriger les requêtes vers la nouvelle adresse au lieu de les abandonner. Ou, pendant la maintenance du site web, vous pouvez rediriger les utilisateurs vers un site en lecture seule.
-
Rejeter - Rejette la requête et n'entreprend aucune autre action. Par exemple, vous pouvez renvoyer une réponse 401 Non autorisé pour refuser l'accès aux utilisateurs pour les pages web restreintes.
Mappage entre les politiques L7 OpenStack et les entités NetScaler
| OpenStack | Entité NetScaler | Description |
| Politique L7 avec action REDIRECT_TO_POOL | Politique de commutation de contenu > Action de commutation de contenu | NetScaler Console crée une politique de commutation de contenu qui est liée au serveur virtuel de commutation de contenu et associée à une action de commutation de contenu qui spécifie le pool cible de serveurs d'applications pour la récupération et la présentation du contenu à l'utilisateur. |
| Politique L7 avec action REDIRECT_TO_URL | Politique de répondeur > Action de répondeur | NetScaler Console crée une politique de répondeur qui est liée au serveur virtuel de commutation de contenu et associée à une action de répondeur qui spécifie l'URL cible à présenter aux utilisateurs. |
| Politique L7 avec action REJECT | Politique de répondeur > Rejeter la requête | NetScaler Console crée une politique de répondeur qui est liée au serveur virtuel de commutation de contenu et associée à une action de répondeur qui rejette la requête. |
Positionnement des politiques
-
Si vous attribuez à une nouvelle politique la même priorité qu'à une politique existante, la nouvelle politique prend cette priorité. La priorité de la politique existante est abaissée. Si nécessaire, les priorités des autres politiques sont également abaissées pour conserver l'ordre dans lequel les politiques sont évaluées.
-
Si vous créez une nouvelle politique sans spécifier de position, la nouvelle politique sera simplement ajoutée à la liste.
-
Si vous créez une nouvelle politique et lui attribuez une position supérieure au nombre de politiques déjà présentes dans la liste, la nouvelle politique sera ajoutée à la liste, c'est-à-dire que la nouvelle politique prend toujours la prochaine priorité disponible. Par exemple, s'il existe trois politiques A, B et C avec les priorités 1, 2 et 3, et si vous créez une politique et lui attribuez une priorité de 8, la priorité de la nouvelle politique devient 4.
-
Si vous ajoutez une politique à la liste ou supprimez une politique de la liste, les valeurs de position des politiques sont réordonnées à partir de 1 sans sauter de numéros. Par exemple, si les politiques A, B, C et D ont des valeurs de position de 1, 2, 3 et 4, et si vous supprimez la politique B de la liste, la politique C prend maintenant la deuxième position, et la politique D prend la troisième position.
csvserver avec une priorité de 1. Cette politique par défaut spécifie le nombre de connexions TCP qu'un lbvserver traite à un moment donné. Par conséquent, lorsque les politiques de répondeur et les politiques de commutation de contenu correspondantes sont créées dans NetScaler, elles se voient toujours attribuer une priorité supérieure de 1 à la priorité de la politique L7 correspondante. Par exemple, lorsqu'une politique L7 avec une priorité de 1 est évaluée et qu'une politique de commutation de contenu est créée avec une priorité de 2. De même, lorsqu'une politique L7 avec une priorité de 2 est évaluée et qu'une politique de répondeur est créée avec une priorité de 3.
csvserver avec une priorité de 1. Cette politique par défaut spécifie le nombre de connexions TCP qu'un lbvserver traite à un moment donné. Par conséquent, lorsque les politiques de répondeur et les politiques de commutation de contenu correspondantes sont créées dans NetScaler, elles se voient toujours attribuer une priorité supérieure de 1 à la priorité de la politique L7 correspondante. Par exemple, lorsqu'une politique L7 avec une priorité de 1 est évaluée et qu'une politique de commutation de contenu est créée avec une priorité de 2. De même, lorsqu'une politique L7 avec une priorité de 2 est évaluée et qu'une politique de répondeur est créée avec une priorité de 3.
Tâches de configuration
Créer une stratégie L7 pour rejeter les requêtes
neutron lbaas-l7policy-create --name <L7 policy name> --listener <listener name> --action<action-name>
Créer une stratégie L7 pour rediriger les requêtes vers une URL particulière
neutron lbaas-l7policy-create --name <L7 policy name> --listener <listener name> --action <action-name> --redirect-url <redirect-url>
http://example-sports/about-us.html
neutron lbaas-l7rule-create --type HOST_NAME --compare-type CONTAINS --value <value-string> <L7 policy name>
neutron lbaas-l7rule-create --type PATH --compare-type CONTAINS --value <value-string> <L7 policy name>
Créer une stratégie L7 pour rediriger les requêtes vers un pool
neutron lbaas-l7policy-create --name <L7 policy name> --listener <listener name> --action <action-name> --redirect-pool <redirect-pool>