Un jeton Web JSON (JWT) est un format standardisé, validé et/ou chiffré, qui est utilisé pour transférer en toute sécurité des informations entre deux parties.

Dans la phase d'accès HTTP, les utilisateurs peuvent définir l'action pour valider JWT à partir des clients et transmettre ou supprimer JWT des serveurs principaux.

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.

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.

Procédure

  1. Ouvrez le serveur virtuel HTTP de couche 7.
  2. Dans la section Règles d'équilibreur de charge, en regard de Phase d'accès HTTP, cliquez sur Définir > Ajouter une règle pour configurer les règles d'équilibreur de charge pour la phase de réécriture de la demande HTTP.
  3. Dans le menu déroulant, 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 Correspondance à un argument de requête d'URI d'une demande HTTP.

    http_request.uri_arguments - valeur à faire correspondre

    Version de la demande HTTP Correspondance à la version d'une demande HTTP.

    http_request.version - valeur à faire correspondre

    En-tête de demande HTTP Correspondance à n'importe quel en-tête de demande HTTP.

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

    http_request.header_value - valeur à faire correspondre

    Cookie de demande HTTP Correspondance à n'importe quel cookie de demande HTTP.

    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

    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 zones de texte 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 le menu déroulant.

    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.
    SSL client Correspondance à l'ID de profil SSL du client.

    ssl_profile_id - valeur à faire correspondre

    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. Dans la liste déroulante, sélectionnez un Type de correspondance : commence par, se termine par, est égal à, contient, correspond à Regex.
  5. Si nécessaire, entrez l'URI.
  6. Dans la liste déroulante, sélectionnez une Stratégie de correspondance :
    Stratégie de correspondance Description
    Quelconque Un hôte ou un chemin d'accès peut correspondre pour que cette règle soit considérée comme une correspondance.
    Tout

    L'hôte et le chemin d'accès doivent correspondre pour que cette règle soit considérée comme une correspondance.

  7. Dans le menu déroulant, sélectionnez une Action :
    Action Description
    Authentification JWT
    Le jeton Web JSON (JWT) est une norme ouverte qui définit une méthode compacte et autonome pour transmettre en toute sécurité des informations entre les parties en tant qu'objet JSON. Ces informations peuvent être vérifiées et approuvées, car elles sont signées numériquement.
    • Domaine : description de la zone protégée. Si aucun domaine n'est spécifié, les clients affichent souvent un nom d'hôte formaté. Le domaine configuré est renvoyé lorsqu'une demande client est rejetée avec l'état HTTP 401. La réponse est : « WWW-Authentication: Bearer realm=<realm> ».
    • Jetons : ce paramètre est facultatif. L'équilibreur de charge recherche chaque jeton spécifié un par un pour le message JWT jusqu'à ce qu'il le trouve. S'il est introuvable, ou si cette zone de texte n'est pas configurée, l'équilibreur de charge recherche l'en-tête du porteur par défaut dans la demande « Authorization: Bearer <token> »
    • Type de clé : clé symétrique ou clé publique asymétrique (ID de certificat)
    • Conserver JWT : il s'agit d'un indicateur pour conserver JWT et le transmettre au serveur principal. Si elle est désactivée, la clé JWT vers le serveur principal est supprimée.
    Abandon de connexion

    Si Inverser est activé, lorsqu'Abandon de connexion est configurée, toutes les demandes ne correspondant pas à la condition de correspondance spécifiée sont abandonnées. Les demandes correspondant à la condition de correspondance spécifiée sont autorisées.

    Attribution de variable

    Permet aux utilisateurs d'attribuer une valeur à une variable dans la phase d'accès HTTP, de sorte que le résultat peut être utilisé comme condition dans d'autres phases de règle d'équilibreur de charge.

  8. Cliquez sur Enregistrer et Appliquer.