Aller au contenu

Configuration du répartiteur NGINX

Où le répartiteur NGINX lit sa configuration sur Stack Harbor PaaS — la disposition sous /etc/nginx, ce qui est auto-généré et comment surcharger sans risque.

Le répartiteur NGINX est ajouté automatiquement à un environnement quand vous avez plus d’un serveur applicatif. Cette page est la référence pour la disposition de sa configuration — où vit chaque fichier, ce qui est généré pour vous et où vous pouvez écrire des surcharges sans risque.

Disposition des fichiers

DossierFichierChemin
nginxnginx.conf/etc/nginx
conf.d(plusieurs fichiers de fonctionnalités)/etc/nginx/conf.d
tcpmapsmappings.xml/etc/nginx/tcpmaps

Les trois emplacements sont accessibles depuis la vue Config du tableau de bord sur le nœud répartiteur, et depuis un shell en SSH.

nginx.conf

/etc/nginx/nginx.conf est le fichier de configuration principal. Par défaut, il tire les paramètres auto-générés depuis nginx-jelastic.conf du même répertoire via une directive include.

Ne modifiez pas nginx-jelastic.conf directement. La plateforme le régénère — vos changements seront écrasés à la prochaine opération de topologie, mise à jour de runtime ou rotation. Le bon motif de surcharge est :

  1. Ouvrez /etc/nginx/nginx.conf.
  2. Copiez le contenu de nginx-jelastic.conf dans ce fichier, en remplaçant la ligne :
    include /etc/nginx/nginx-jelastic.conf;
  3. Faites vos modifications dans nginx.conf lui-même.
  4. Enregistrez et redémarrez le nœud répartiteur.

À partir de là, le répartiteur lit votre nginx.conf personnalisé et le fichier auto-généré devient une référence plutôt que la configuration active.

conf.d

/etc/nginx/conf.d/ contient des fragments de configuration par fonctionnalité. Le nginx.conf principal les référence par des directives include. On y trouve typiquement des entêtes partagés, la politique de cache, des règles de location personnalisées et des fragments de contrôle d’accès.

Vous pouvez :

  • modifier n’importe quel fichier sous conf.d/
  • déposer un nouveau fichier avec vos propres directives
  • supprimer les fichiers liés à une fonctionnalité que vous n’utilisez pas

Les fichiers ici ne sont pas régénérés par la plateforme — c’est le bon endroit pour les personnalisations de longue durée que vous voulez garder séparées de nginx.conf proprement dit.

tcpmaps

/etc/nginx/tcpmaps/mappings.xml est l’endroit où vous déclarez les redirections de port pour la répartition TCP. Le fichier est une liste de paires de ports — un sur lequel écouter, un vers lequel rediriger. Le répartiteur lit mappings.xml et génère la configuration de flux (stream) correspondante.

C’est la surface que vous utilisez quand vous voulez que NGINX répartisse du trafic non HTTP, comme un protocole TCP personnalisé ou une base de données placée derrière le répartiteur.

Notes opérationnelles

  • Redémarrez toujours le répartiteur après édition. L’action Restart Nodes du tableau de bord sur le répartiteur recharge la configuration. En SSH, service nginx restart fait l’affaire aussi.
  • Validez avant le redémarrage. Lancez nginx -t en SSH pour attraper les erreurs de syntaxe avant de relancer le service.
  • La configuration vit avec le nœud. Quand le répartiteur est mis à l’échelle horizontalement, chaque réplique a sa propre copie de la configuration — à garder en tête pour les changements manuels.
  • Le cache se configure ici aussi. La même disposition conf.d est l’endroit où vous mettez les directives proxy_cache si vous voulez que NGINX agisse comme cache devant le palier applicatif.

Voir aussi