La demande de transfert redirige une URL ou un hôte vers un pool de serveurs spécifique.

Conditions préalables

Vérifiez qu'un serveur virtuel HTTP de couche 7 est disponible. Reportez-vous à la section Ajouter des serveurs virtuels HTTP de couche 7.

Les règles d'équilibreur de charge prennent en charge REGEX pour les types de correspondances. Le modèle REGEX de style PCRE est pris en charge avec quelques limitations pour les cas d'utilisation avancés. Lorsque REGEX est utilisé dans des conditions de correspondance, les groupes de capture nommés sont pris en charge. Reportez-vous à la section Expressions régulières dans les règles d'équilibreur de charge.

Procédure

  1. Ouvrez le serveur virtuel HTTP de couche 7.
  2. Cliquez sur Transfert de la demande > Ajouter une règle pour configurer les règles d'équilibreur de charge pour la phase Transfert de la demande HTTP.
  3. Dans la liste déroulante, sélectionnez une condition de correspondance. Les conditions de correspondance sont utilisées pour faire correspondre le trafic d'application passant par les équilibreurs de charge. Plusieurs conditions de correspondance peuvent être spécifiées dans une règle d'équilibreur de charge. Chaque condition de correspondance définit un critère pour le trafic d'application.
    Condition de correspondance prise en charge Description
    Méthode de demande HTTP Correspondance à une méthode de demande HTTP.

    http_request.method - valeur à faire correspondre

    URI de demande HTTP Correspondance à l'URI d'une demande HTTP sans arguments de requête.

    http_request.uri - valeur à faire correspondre

    Arguments d'URI de demande HTTP

    Utilisé pour correspondre aux arguments d'URI aka chaîne de requête des messages de demande HTTP, par exemple, dans l'URI http://example.com?foo=1&bar=2, « foo=1&bar=2 » est la chaîne de requête contenant des arguments d'URI. Dans un schéma d'URI, la chaîne de requête est indiquée par le premier point d'interrogation (« ? ») et se termine par un caractère dièse (« # ») ou par la fin de l'URI.

    http_request.uri_arguments - valeur à faire correspondre

    Version de la demande HTTP Utilisé pour correspondre à la version du protocole HTTP des messages de demande HTTP

    http_request.version - valeur à faire correspondre

    En-tête de demande HTTP Utilisé pour correspondre aux messages de demande HTTP par champ d'en-tête HTTP. Les champs d'en-tête HTTP sont des composants de la section d'en-tête des messages de demande et de réponse HTTP. Ils définissent les paramètres de fonctionnement d'une transaction HTTP.

    http_request.header_name - nom d'en-tête à faire correspondre

    http_request.header_value - valeur à faire correspondre

    Cookie de demande HTTP Utilisé pour correspondre aux messages de demande HTTP par cookie, qui est un type spécifique d'en-tête HTTP. match_type et case_sensitive définissent comment comparer la valeur du cookie.

    http_request.cookie_value - valeur à faire correspondre

    Corps de la demande HTTP Correspondance au contenu du corps d'une demande HTTP.

    http_request.body_value - valeur à faire correspondre

    SSL client Correspondance à l'ID de profil SSL du client.

    ssl_profile_id - valeur à faire correspondre

    Port d'en-tête TCP Correspondance au port TCP source ou de destination.

    tcp_header.source_port - port source à faire correspondre

    tcp_header.destination_port - port de destination à faire correspondre
    Source d'en-tête IP Correspond aux champs d'en-tête IP dans des messages HTTP. Le type de source doit être une adresse IP unique, une plage d'adresses IP ou un groupe. Reportez-vous à la section Ajouter un groupe.
    • Si Source d'en-tête IP est sélectionnée, avec un type de source d'adresse IP, l'adresse IP source des messages HTTP doit correspondre aux adresses IP qui sont configurées dans les groupes. Les adresses IPv4 et IPv6 sont prises en charge.
    • Si Source d'en-tête IP est sélectionnée avec un type de source Groupe, sélectionnez le groupe dans la liste déroulante.

    ip_header.source_address - adresse source à faire correspondre

    ip_header.destination_address - adresse de destination à faire correspondre
    Variable Créez une variable et attribuez une valeur à la variable.
    Sensible à la casse Définissez un indicateur sensible à la casse pour la comparaison des valeurs de l'en-tête HTTP. Si la valeur est true, la casse est significative lors de la comparaison de la valeur du corps HTTP.
  4. Sélectionnez une action :
    Action Description
    Rejet HTTP Utilisée pour rejeter les messages de demande HTTP. La valeur reply_status spécifiée est utilisée comme code d'état pour le message de réponse HTTP correspondant. Le message de réponse est renvoyé au client (généralement un navigateur) indiquant le motif pour lequel il a été rejeté.

    http_forward.reply_status - code d'état HTTP utilisé pour le refus

    http_forward.reply_message - message de refus HTTP
    Redirection HTTP

    Utilisée pour rediriger les messages de demande HTTP vers une nouvelle URL. Le code d'état HTTP pour la redirection est 3xx, par exemple, 301, 302, 303, 307, etc. redirect_url est la nouvelle URL vers laquelle le message de demande HTTP est redirigé.

    http_forward.redirect_status - code d'état HTTP pour la redirection http_forward.redirect_url - URL de redirection HTTP
    Sélectionner un pool

    Forcer la demande sur un pool de serveurs spécifique. L'algorithme configuré du membre du pool spécifié (predictor) est utilisé pour sélectionner un serveur dans le pool de serveurs. Les messages de demande HTTP correspondants sont transférés vers le pool spécifié.

    Lorsque les connexions HTTP persistantes sont activées et que des règles de transfert sont configurées dans l'équilibreur de charge, le paramètre de survie du serveur est prioritaire. Par conséquent, les demandes HTTP sont envoyées aux serveurs déjà connectés avec une connexion de survie.

    Si vous souhaitez toujours accorder la priorité aux règles de transfert lorsque les conditions de la règle d'équilibreur de charge sont satisfaites, désactivez le paramètre de survie.

    Notez que le paramètre de survie est prioritaire sur le paramètre de persistance.

    Le traitement est effectué dans l'ordre suivant : Persistance > Survie > Règles d'équilibreur de charge

    http_forward.select_pool - UUID du pool de serveurs

    Inspection de persistance de variable Sélectionnez un profil de persistance générique et entrez un nom de variable.

    Vous pouvez également activer le champ Variable de hachage. Si la valeur de la variable est longue, le hachage de la variable permet de s'assurer qu'elle est correctement stockée dans le tableau de persistance. Si le champ Variable de hachage n'est pas activé, seule la partie de préfixe fixe de la valeur de la variable est stockée dans le tableau de persistance si la valeur de la variable est longue. Par conséquent, deux demandes différentes avec des valeurs de variables longues peuvent être envoyées au même serveur principal, car leurs valeurs de variables ont la même partie de préfixe lorsqu'elles doivent être envoyées à différents serveurs principaux.

    Abandon de connexion

    Si Inverser est activé dans la condition, lorsque Abandon de connexion est configuré, toutes les demandes ne correspondant pas à la condition sont abandonnées. Les demandes correspondant à la condition sont autorisées.

    Statut de la réponse Affiche l'état de la réponse.
    Message de réponse Le serveur renvoie un message de réponse qui contient les adresses confirmées et la configuration.
  5. Cliquez sur Enregistrer et Appliquer.