Temps de cache variable Nginx

Je travaille actuellement avec fastcgi_cache et je voulais passer une variable à fastcgi_cache_valid pour avoir une durée de cache variable selon le fichier. Mais il semble qu'il n'acceptera pas de variable.

J'ai essayé ce qui suit:

set $cache_time 15s;
fastcgi_cache_valid 200 ${cache_time};
fastcgi_cache_valid 200 $cache_time;


set $cache_time "15s";
fastcgi_cache_valid 200 ${cache_time};
fastcgi_cache_valid 200 $cache_time;


set $cache_time 15;
fastcgi_cache_valid 200 ${cache_time}s;
fastcgi_cache_valid 200 $cache_time;

Mais j'ai reçu les erreurs suivantes:

nginx: [emerg] invalid time value "$cache_time" in /etc/nginx/conf.d/www.com.conf:118

nginx: [emerg] directive "fastcgi_cache_valid" is not terminated by ";" in /etc/nginx/conf.d/www.com.conf:118
0
@AlexeyTen Je veux un temps de cache standard pour toutes les pages d'un temps relativement faible. Mais j'ai 2-3 pages qui devraient avoir un temps de cache beaucoup plus long en raison de prendre ~ 5 + secondes pour charger et le contenu changeant non-essentiel seulement tous les quelques jours ou quelques semaines.
ajouté l'auteur Steven10172, source
Toutes les directives de nginx n'autorisent pas les variables. Pourquoi voulez-vous variable ici?
ajouté l'auteur Alexey Ten, source
Eh bien, vous pouvez contrôler l'heure du cache depuis le côté fastcgi via les en-têtes x-accel - * . Voir nginx doc pour plus de détails
ajouté l'auteur Alexey Ten, source
Définir le même serveur dans plusieurs instructions backend fastcgi et chacun peut avoir sa propre valeur de cache ...
ajouté l'auteur Marki555, source

Il n'y a pas de réponses.

0