Capacité

Moteur de Règles de Trafic

Écrivez des règles visuellement, obtenez un comportement de trafic compilé — gérez le flux des requêtes et des réponses sans scripting.

Le Moteur de Règles de Trafic de TR7 transforme le répartiteur de charge d'un composant qui distribue simplement le trafic en un moteur de décision central qui applique des politiques à chaque requête et réponse. Les opérateurs définissent le comportement du trafic en sélectionnant des déclencheurs, des conditions et des actions dans l'éditeur de règles visuel. Le moteur prend en charge plus de 30 types d'action — notamment l'ajout de header, la modification de header, la redirection, la réécriture de chemin, CORS, la sécurité des cookies, le chiffrement des cookies, les règles de bande passante, le déclenchement de captcha, la table de quarantaine, la journalisation silencieuse et les règles manuelles. Les conditions sont écrites dans le langage d'expression FX, qui s'appuie sur 14 groupes de variables ; l'IP source, le chemin, le header, le champ du corps, le contexte utilisateur, le score WAAP ou la valeur de minuterie peuvent tous être combinés dans une seule règle. Chaque action est consciente du type de service et de la phase de trafic. Les actions spécifiques HTTP sont masquées pour les services TCP ; une action qui doit s'exécuter lors de la phase de requête ne peut pas être accidentellement attachée au côté réponse. La nouvelle configuration est validée avant d'être mise en production, et toute règle qui échoue à la validation est arrêtée avant d'atteindre le trafic de production. Résultat : TR7 convertit les comportements de trafic complexes en règles visuellement gérables et compilées à l'exécution — sans recourir à des fichiers de configuration bruts ou des flux de scripting.

30+
Types d'action prêts à l'emploi sélectionnables depuis l'éditeur visuel
2
Phases de trafic régies indépendamment : requête et réponse
0
Erreurs de production contournant la validation de configuration

Une règle de trafic trop rigide ne peut pas gérer les scénarios modernes ; une règle trop brute transforme les opérations en développement logiciel.

Les décisions de routage dans le trafic des applications d'entreprise ne dépendent plus seulement de l'hôte, du chemin ou du port. La correction de headers, la compatibilité avec les applications legacy, la politique CORS, la sécurité des cookies, la limitation de bande passante, le déclenchement de captcha, la quarantaine, les pages d'erreur personnalisées et la transformation de réponse apparaissent tous sur le même chemin de trafic. Les règles simples d'équilibrage de charge sont insuffisantes pour répondre à cette diversité.

La plupart des approches traditionnelles tombent vers l'un des deux extrêmes. Soit les opérateurs ne disposent que d'une poignée d'actions prédéfinies et les cas d'utilisation modernes deviennent insolubles, soit la flexibilité totale exige d'écrire des scripts bruts ou une configuration de bas niveau. Dans le second modèle, chaque changement de règle se rattache à des processus lourds — développement logiciel, tests, revue de code et audit de sécurité.

Le risque augmente encore lorsqu'il n'y a pas de contrôle clair sur le type de service ou la phase de trafic à laquelle une action s'applique. Écrire une action de header HTTP sur un service TCP, attendre un comportement de requête côté réponse, ou ajouter une action avec limite par pool plus d'une fois peuvent tous causer des problèmes à l'exécution.

Le bon modèle combine un éditeur de règles visuel avec un comportement d'exécution compilé. L'interface doit afficher uniquement les combinaisons valides ; les métadonnées d'action doivent régir le type de service et la phase requête/réponse ; et une trappe d'échappement pour les règles manuelles contrôlées doit rester disponible pour les cas limites.

Le Moteur de Règles de Trafic de TR7 établit cet équilibre : il donne aux opérateurs plus de 30 actions prêtes à l'emploi, masque les combinaisons invalides et promeut les règles correctes vers le trafic de production comme configuration validée.

Notre approche

TR7 applique les règles de trafic via une taxonomie d'actions, une conscience de phase, une configuration compilée et un modèle de promotion validé.

Les métadonnées d'action déterminent les combinaisons valides dès le départ

Chaque action porte des métadonnées pour le type de service, la phase requête/réponse, la prise en charge des conditions, le besoin de contenu, le comportement de code d'erreur et la limite d'utilisation par pool. L'interface lit ces métadonnées et n'affiche que les options de règle valides pour le contexte actuel.

Les règles sont compilées dans la configuration d'exécution dans le bon ordre

Les actions composées dans l'éditeur visuel sont émises dans la configuration de travail selon une séquence de priorité définie. L'affectation de variables, le routage, les opérations sur les headers, le comportement d'erreur et la sélection du backend s'exécutent tous dans un ordre prévisible.

Les actions avancées sont acheminées via un chemin d'exécution Lua si nécessaire

Certaines actions avancées qui ne peuvent pas être exprimées comme des directives statiques sont converties en fonctions appelables à l'exécution. Les opérateurs peuvent gérer des comportements de trafic complexes via le moteur de règles sans écrire de code eux-mêmes.

Un nouveau jeu de règles ne peut pas atteindre le trafic actif avant d'être validé

La nouvelle configuration est générée puis passée par une étape de validation. Si la validation échoue, la configuration en cours d'exécution est préservée et la règle défectueuse n'atteint jamais le trafic de production.

Capacités

Le Moteur de Règles de Trafic combine des actions prêtes à l'emploi avec des conditions FX pour assurer une application de politique contrôlée sur le chemin des requêtes et des réponses.

Plus de 30 actions prêtes à l'emploi définissent le comportement du trafic sans scripting

TR7 fournit plus de 30 actions incluant add_header, del_header, set_header, replace_header, redirect_scheme, req_redirect_location, set_path, normalize_uri, req_auth, cors, ipMask, cookieEncryption, bandwidthRule, advancedCaptcha, modifyResponse, silentLog, securityHeaders, cookieSecurity, deny, quarantine_table, manualRule et prometheusService. Les opérateurs sélectionnent les actions dans l'éditeur visuel, renseignent les paramètres et attachent les conditions. Cela retire les tâches courantes de manipulation du trafic du domaine du scripting. Les équipes opérationnelles produisent des règles plus rapidement et réduisent leur dépendance envers les équipes de développement.

Les groupes d'actions séparent les scénarios de requête, réponse et erreur

Les actions sont présentées sous des groupes sémantiques tels que atRequest, atResponse, errorRules, cookieBased et tcpRules. Cette séparation rend immédiatement clair à quelle phase de trafic une règle s'exécutera. Les opérations de header et de chemin côté requête ne se mélangent pas avec les headers de sécurité et le comportement de page d'erreur côté réponse. L'interface réduit la complexité technique et organise la rédaction des règles par intention.

La conscience du type de service empêche les actions invalides d'apparaître

Chaque action porte des informations de compatibilité pour les types de service HTTP, TCP ou les deux. Les actions spécifiques HTTP telles que CORS, la manipulation de headers, la sécurité des cookies et la réécriture de chemins ne sont pas affichées pour les services TCP. Les actions spécifiques TCP telles que les options de gestion des connexions ne sont pas présentées comme choix dans un service HTTP. Cette approche empêche les opérateurs de sélectionner une règle qui ne peut pas fonctionner avant même d'essayer de la sauvegarder.

Le contrôle de phase requête et réponse réduit les erreurs d'exécution

Les métadonnées définissent exactement dans quelle phase chaque action est valide. Les actions qui doivent s'exécuter lors de la phase de requête ne peuvent pas être accidentellement attachées au côté réponse, et les actions orientées réponse ne peuvent pas être mal liées au chemin de requête. Lorsqu'une action est valide dans les deux phases, c'est géré explicitement. Les combinaisons invalides sont interceptées lors de la validation de configuration avant d'atteindre le trafic de production.

Les conditions FX lient les actions à un contexte de trafic riche

Les actions peuvent s'exécuter sans condition ou être liées à des conditions écrites dans le langage d'expression FX. L'IP source, le pays, l'ASN, le chemin, le header, le cookie, le champ du corps, le rôle utilisateur, le score WAAP et les valeurs de minuterie peuvent tous être utilisés dans le même modèle de condition. Plusieurs conditions sont combinées avec une logique ACL pour déterminer quand une action se déclenche. Cela fait du moteur de règles un décideur conscient du contexte et du contenu, pas seulement une table de routage statique.

Les limites par pool réduisent le risque d'utilisation dupliquée et conflictuelle

Certaines actions ne devraient apparaître qu'une seule fois dans un pool donné. Ajouter une deuxième instance de chiffrement de cookie, de correction IP ou de préservation du nom de header peut produire des résultats inattendus. TR7 porte le nombre d'utilisations maximum par pool dans les métadonnées de chaque action et empêche l'interface d'ajouter une deuxième instance. Cette protection réduit les incohérences opérationnelles avant qu'elles n'atteignent la production.

La trappe d'échappement pour règles manuelles offre une flexibilité contrôlée pour les cas limites

Lorsqu'une action prédéfinie ne couvre pas un scénario spécifique, manualRule permet d'insérer une règle de trafic brute. Cette fonctionnalité agit comme une trappe d'échappement pour les scénarios avancés en dehors du catalogue standard du moteur. Les règles manuelles passent toujours par l'étape de validation de configuration et doivent être utilisées avec soin, car elles affectent directement le comportement du service. La plateforme offre ainsi à la fois la commodité des règles visuelles et une flexibilité avancée dans le même modèle.

Les actions cookie, CORS, header de sécurité et quarantaine sont fournies prêtes à l'emploi

L'action cookieSecurity peut appliquer les attributs de cookie Secure, HttpOnly et SameSite ; cookieEncryption peut chiffrer des valeurs de cookie sélectionnées en transit. L'action cors consolide la liste d'origines autorisées, les méthodes, les headers et les paramètres de cache preflight sous une seule politique. securityHeaders applique un ensemble de base de headers de sécurité de manière centralisée. quarantine_table place une IP spécifique ou une signature client en quarantaine pour une période définie, contenant les comportements malveillants répétés à l'edge.

Profondeur opérationnelle

Les règles de trafic sont opérées avec une promotion atomique, un versionnage, une synchronisation de cluster, une gestion des conflits, une surveillance et une gestion des cas limites.

01

Promotion atomique de configuration

Un nouveau jeu de règles est généré séparément et validé avant de devenir actif. Si la validation réussit, la configuration active est permutée ; si elle échoue, la configuration en cours d'exécution est préservée. Ce modèle aide à empêcher qu'une règle défectueuse interrompe le trafic de production.

02

Enregistrements de version et d'audit

Chaque changement de règle doit être enregistré avec une identité et un horodatage. L'équipe opérationnelle peut voir qui a changé quelle règle, quel pool a été affecté et vers quelle version revenir si nécessaire. Ces enregistrements ont une importance particulière lors des revues de sécurité et de conformité.

03

Synchronisation de cluster

Dans les déploiements à haute disponibilité, le même jeu de règles doit être distribué à tous les nœuds pairs. Sans cela, différents nœuds derrière la même VIP peuvent présenter des comportements de trafic différents. TR7 traite le maintien de la cohérence des jeux de règles au sein du cluster comme faisant partie de son modèle opérationnel.

04

Comportement des actions conflictuelles

Lorsque plus d'une action cible le même header ou champ de trafic, l'ordre de priorité est le facteur décisif. Le système émet les actions dans une séquence définie ; le comportement final dépend de cette séquence. Les opérateurs doivent évaluer les conflits potentiels dans les règles critiques en utilisant les enregistrements d'audit et la logique de priorité.

05

Surveillance de l'exécution des actions

Le fait que les actions s'exécutent ou non peut être suivi via silentLog et transmis à un SIEM comme champ dédié. Cela révèle combien de requêtes une règle a effectivement correspondues, sous quelles conditions elle s'est déclenchée et si elle a produit l'effet attendu. L'observabilité empêche le moteur de règles de se comporter comme une boîte noire.

06

Comportement des headers HTTP/2

Certains backends legacy sont sensibles à la capitalisation des noms de headers. L'action keepHeaderNames aide à préserver la casse originale des noms de headers dans ces scénarios de compatibilité. Ce paramètre ne doit être utilisé que sur les services qui en ont genuinement besoin et doit être testé avec le comportement de l'application.

Quand l'utiliser

Transformer les attentes de headers pour les applications legacy

Les équipes de modernisation peuvent utiliser replace_header ou set_header pour traduire un nom de header attendu par un backend legacy en la forme que l'application requiert. Une couche de compatibilité est créée au point d'entrée du trafic sans toucher au code applicatif.

Appliquer des headers de sécurité de manière centralisée sur les services

Les équipes SaaS peuvent utiliser l'action securityHeaders pour ajouter des headers de sécurité couramment requis devant les services de manière centralisée. La base de sécurité est renforcée sans que chaque équipe applicative ait à configurer les mêmes paramètres indépendamment.

Limitation de débit et déclenchement de captcha sur les flux de connexion

Les applications financières peuvent combiner les actions bandwidthRule et advancedCaptcha pour déclencher un challenge captcha après des tentatives de connexion échouées répétées. Les comportements suspects répétés sont acheminés vers un flux de vérification plus strict sans interrompre complètement l'expérience utilisateur.

Protéger les cookies de session côté client

Les services e-commerce et financiers peuvent utiliser cookieEncryption pour délivrer les cookies de session au client sous forme chiffrée. Le backend continue de voir la valeur qu'il attend tandis que le contenu du cookie est illisible de manière significative côté client.

Questions fréquentes

Quels groupes d'actions sont les plus souvent utilisés parmi les 30+ ?
Les domaines les plus courants sont la manipulation de headers (add_header, set_header, replace_header, del_header), les redirections (redirect_scheme, req_redirect_location), la sécurité (securityHeaders, cookieSecurity, deny) et l'observabilité (silentLog, prometheusService). cookieEncryption et quarantine_table sont utilisés pour des scénarios de sécurité plus ciblés.
Que se passe-t-il si une action est attachée à la mauvaise phase — requête ou réponse ?
TR7 définit dans les métadonnées pour quelle phase de trafic chaque action est valide. L'interface n'affiche que les actions qui peuvent s'exécuter dans la phase sélectionnée. Même si une combinaison invalide est tentée, la validation de configuration l'intercepte avant que la règle n'atteigne le trafic de production.
Quelles actions sont disponibles pour les services TCP ?
Les actions spécifiques HTTP — CORS, manipulation de headers, réécriture de chemins, opérations sur les cookies — ne sont pas affichées pour les services TCP. La gestion des connexions TCP et les autres actions spécifiques TCP n'apparaissent que là où le type de service correspond. Cette séparation empêche un opérateur de sélectionner une règle qui ne peut pas fonctionner avant même de la sauvegarder.
Quand l'action manualRule doit-elle être préférée ?
manualRule est destiné aux scénarios avancés que le catalogue d'actions standard ne couvre pas. Les règles manuelles passent toujours par la validation de configuration. Si une action prédéfinie peut satisfaire le besoin, elle doit être utilisée ; manualRule doit être réservé aux situations genuinement hors catalogue.
Quelles sources de données les conditions FX prennent-elles en charge ?
Le langage d'expression FX couvre 14 groupes de variables : IP source, pays, ASN, chemin, header, cookie, champ du corps, rôle utilisateur, score WAAP, valeur de minuterie et plus encore. Plusieurs conditions peuvent être combinées avec une logique ACL (AND/OR) pour contrôler exactement quand une action se déclenche.
Comment une règle est-elle mise à jour sans affecter négativement le trafic de production ?
TR7 applique une promotion atomique de configuration. Le nouveau jeu de règles est généré séparément et passé par validation ; si la validation réussit, la configuration active est permutée. Si la validation échoue, la configuration en cours d'exécution est préservée et la règle défectueuse n'est jamais appliquée au trafic de production.

Prenez le contrôle de votre flux de trafic avec le moteur de règles

Contrôle total sur le chemin des requêtes et des réponses avec plus de 30 actions prêtes à l'emploi, des conditions FX et une promotion atomique de configuration. Laissez-nous parcourir une mise en place en direct sur vos propres services.