Comprendre F5 · NGINX

NGINX : lire les contextes, includes et héritages

Comprendre la configuration effective de NGINX, les contextes main, events et http, les includes et les limites de l’héritage.

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

  • Référence de F5CAN1 consultée le · Objectifs abordés : F5CAN1 1.1, F5CAN1 1.2.
  • Référence de F5CANR consultée le · Objectifs abordés : F5CANR 1.1, F5CANR 1.2.

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

Lire une configuration comme une arborescence

NGINX peut servir des fichiers, relayer des requêtes, répartir du trafic et utiliser un cache. Ces rôles sont déterminés par des directives placées dans leurs contextes. Une configuration se lit comme une arborescence ; l’ordre d’un fichier n’est pas un scénario d’exécution ligne par ligne.

Le contexte principal contient notamment les paramètres des processus. events décrit leur traitement des connexions. http contient la configuration HTTP, avec des blocs server puis location. Le contexte autorisé est une propriété de chaque directive, à vérifier dans sa référence.

Repère visuellire les contextes, includes et héritages
lire les contextes, includes et héritages La configuration part du binaire et du fichier réellement utilisés. Les includes conservent leur contexte ; la sélection HTTP détermine les directives pertinentes. 01 Processus binaire et options 02 Fichier configuration principale 03 Includes fragments et contexte 04 Server hôte sélectionné 05 Location URI sélectionnée 06 Directive valeur effective
La configuration part du binaire et du fichier réellement utilisés. Les includes conservent leur contexte ; la sélection HTTP détermine les directives pertinentes.

Sources : NGINX / F5, Beginner’s Guide ; NGINX / F5, Core functionality ; NGINX / F5, Module ngx_http_core_module.

Identifier le fichier effectivement chargé

Le fichier principal et les répertoires inclus varient selon le paquet et les options de compilation. Ne présumez pas qu’un fichier placé dans un dossier sera lu. Un include insère les directives du fichier dans le contexte où il se trouve ; il ne donne pas automatiquement un contexte HTTP à un fragment.

nginx -V affiche les options de construction ; nginx -T vérifie et affiche les fichiers de configuration. Ce dernier peut révéler des informations sensibles. Un fichier sur disque peut encore différer de la configuration utilisée par les workers tant qu’un rechargement réussi n’a pas eu lieu.

Lire les options et la configuration, sans rechargementBash
nginx -V
sudo nginx -t
sudo nginx -T

Sources : NGINX / F5, Command-line parameters ; NGINX / F5, Controlling nginx.

Vérifier l’héritage directive par directive

Il n’existe pas une règle d’héritage unique applicable à toutes les directives. Certaines valeurs sont reprises du niveau parent si le niveau courant n’en définit aucune ; d’autres utilisent une liste ou un comportement particulier. La référence officielle reste nécessaire, notamment pour les en-têtes et les limites.

Pour expliquer un comportement, localisez le server choisi puis la location choisie, relevez les directives locales et recherchez les valeurs héritées. Un bloc visuellement proche dans le fichier peut concerner un autre hôte. La structure logique compte davantage que la proximité des lignes.

Sources : NGINX / F5, Module ngx_http_core_module ; NGINX / F5, Module ngx_http_proxy_module.

Exercice : un fichier qui ne change rien

Vous modifiez un fragment mais le service se comporte comme avant. Vérifiez le chemin de configuration utilisé, les includes, la validation syntaxique et le dernier rechargement. Indiquez ensuite quelle requête cible l’hôte et la location attendus ; ne changez pas plusieurs variables en même temps.

Le résultat attendu de cet exercice est un inventaire des fichiers et des contextes, pas une copie de la configuration dans un ticket public. Poursuivez avec le cycle de rechargement pour distinguer validation, signal et observation du service.

Sources : NGINX / F5, Command-line parameters ; NGINX / F5, Controlling nginx.

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.