Comprendre F5 · NGINX

NGINX : stream TCP/UDP, mirroring et routes d’API

Distinguer proxy de transport, copie HTTP en sous-requête et routage d’API dans NGINX Open Source, avec leurs limites.

Thomas SAUTIER · Publié le · Révisions de certification

  • Référence de F5CAN1 consultée le · Objectifs abordés : F5CAN1 1.1.
  • Référence de F5CAN2 consultée le · Objectifs abordés : F5CAN2 1.1.
  • Référence de F5CAN3 consultée le · Objectifs abordés : F5CAN3 1.5.
  • Référence de F5CANR consultée le · Objectifs abordés : F5CANR 1.1, F5CANR 2.1, F5CANR 3.5.

Ce guide concerne NGINX Open Source. Vérifiez la version, les modules compilés ou chargés et les particularités de votre paquet.

Choisir le niveau auquel le trafic est traité

Le contexte stream concerne des échanges TCP ou UDP. Le contexte http traite des requêtes HTTP et peut sélectionner une location à partir d’une URI. Une règle HTTP ne peut pas être supposée disponible dans un flux stream : identifiez d’abord le protocole et la terminaison éventuelle de TLS.

Le binaire doit inclure ou charger les modules nécessaires. Vérifiez ses options et la documentation de votre paquet. La présence d’un exemple stream sur le web ne démontre pas la disponibilité du module dans votre installation ; nginx -V et le test de configuration font partie de l’inventaire.

Repère visuelstream TCP/UDP, mirroring et routes d’API
stream TCP/UDP, mirroring et routes d’API Le niveau de traitement sépare stream et HTTP. Dans HTTP, copie de requête et routage d’API ont des buts et des conséquences différents. 01 Besoin transport ou HTTP 02 Stream TCP ou UDP 03 HTTP location et requête 04 Mirror copie en sous-requête 05 API routes et contrôles 06 Limites modules et effets
Le niveau de traitement sépare stream et HTTP. Dans HTTP, copie de requête et routage d’API ont des buts et des conséquences différents.

Sources : NGINX / F5, Module ngx_stream_core_module ; NGINX / F5, Module ngx_stream_proxy_module ; NGINX / F5, Command-line parameters.

Relayer un flux de transport

Le fragment appartient au niveau principal et nécessite stream. Il relaie un service TCP local, sans inspection HTTP ni terminaison TLS ajoutée. Dans un scénario passthrough TLS, le certificat demeure celui du service qui termine TLS ; ce proxy ne devient pas automatiquement un WAF.

Pour UDP, le choix du protocole, les timeouts et le nombre de réponses attendues nécessitent une configuration adaptée. Ne transposez pas le raisonnement de session HTTP à tous les échanges de transport. Définissez les points d’observation de chaque côté.

Proxy TCP local : module stream et backend requisConfiguration NGINX · niveau principal
stream {
    server {
        listen 127.0.0.1:9443;
        proxy_pass 127.0.0.1:10443;
    }
}

Sources : NGINX / F5, Module ngx_stream_core_module ; NGINX / F5, Module ngx_stream_proxy_module.

Une copie HTTP n’est pas une duplication métier sûre

Le module mirror crée des sous-requêtes de copie et ignore leurs réponses. Il ne remplace pas une stratégie de haute disponibilité. Le service destinataire peut recevoir des données et produire des effets : utiliser un environnement prévu pour observer ces copies est une décision de sécurité et de fonctionnement.

Pour une API, NGINX peut router des chemins et appliquer des contrôles HTTP. Cela ne signifie pas que toute fonction d’une plateforme de gestion d’API est intégrée. Authentification déléguée, quotas, schéma et observabilité doivent être décrits individuellement, avec leurs modules et dépendances.

Sources : NGINX / F5, Module ngx_http_mirror_module ; NGINX / F5, Module ngx_http_proxy_module ; NGINX / F5, Module ngx_http_auth_request_module.

Exercice : choisir entre trois mécanismes

Une application exige de conserver la terminaison TLS sur son serveur, une autre veut observer une copie de trafic HTTP et une troisième veut router une route d’API. Pour chacune, indiquez le contexte, les données visibles et le mécanisme adapté.

Pour la copie, énumérez les secrets susceptibles de partir et les opérations qui ne doivent pas être rejouées. Pour l’API, distinguez routage et autorisation. Pour le transport, définissez le diagnostic sans présumer qu’un statut HTTP sera disponible dans les journaux du proxy.

Sources : NGINX / F5, Module ngx_stream_proxy_module ; NGINX / F5, Module ngx_http_mirror_module ; NGINX / F5, Module ngx_http_auth_request_module.

Sources et portée

Références consultées le . Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 NGINX

Continuer la série F5

Explorer tous les guides du parcours F5 NGINX

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et votre services applicatifs.