J'ai besoin de faire quelques actions conditionnelles dans nginx qui fonctionne comme un proxy. Fondamentalement, tout se résume à être en mesure de définir une certaine variable nginx à partir d'une source externe. Cela peut être un bash script ou un résultat généré par url ou quelque chose comme ça.
Par exemple :
set $var = [result of http request]
ou
set $var = [result of bash command]
Existe-t-il des solutions fiables pour cela ? Des modules ? Si ce n'est pas une bonne idée de le faire avec nginx, quelles sont les alternatives ?
0 votes
Eh bien, c'est une question trop vaste. Peut-être que le module Lua de Nginx pourrait vous aider.
0 votes
@AlexeyTen si vous "promouvez" votre commentaire sur Lua en une réponse avec un exemple, je serai heureux de l'accepter.
0 votes
Si vous êtes plus précis, il se peut qu'il y ait des variables que vous voulez et que vous n'ayez pas besoin de lua.
0 votes
@AlexeyTen - non, il n'y a pas de variables qui pourraient m'aider. J'ai besoin de faire une redirection conditionnelle ou un proxy en fonction de certains facteurs. Je ne peux pas coder la logique dont j'ai besoin dans la configuration de nginx, c'est pourquoi je dois être en mesure de lire les données à partir d'une source externe. Un exemple simple (bien que ce ne soit pas le cas ici) : rediriger les utilisateurs vers un domaine différent si la chaîne de l'agent de l'utilisateur répond à des critères spécifiques. Supposons qu'une simple regex sur la chaîne UA ne soit pas suffisante et que nous devions coder une logique sophistiquée dans un Shell Shell pour analyser la chaîne UA. Le Shell renvoie une chaîne de caractères qui sera la valeur de notre variable nginx.