Comment puis-je configurer un bloc de configuration partagé pour un ensemble d'emplacements?
location / {
proxy_pass http://127.0.0.1:9000/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cache-test;
proxy_cache_valid 200 302 24h;
proxy_cache_valid 404 60s;
add_header X-Cache-Status $upstream_cache_status;
}
location /api/0.1/user{
proxy_cache_key /user/$http_authorization;
}
Maintenant, si j’essaie d’accéder à /api/0.1/user, j’obtiendrai 404 car il ne transmet pas la demande à 127.0.0.1:9000
La plupart des variables de configuration proxy_ * sont également autorisées dans le contexte du serveur. Vous pouvez donc les déplacer pour partager les mêmes paramètres sur plusieurs emplacements.
Toutefois, proxy_pass ne doit être utilisé que dans l'emplacement. Vous devriez donc avoir au moins cette directive dans chaque emplacement, en remplaçant éventuellement les valeurs de certains variables supplémentaires proxy_ *.
la source
proxy_set_header
directives spécifiques à l'emplacement car "Ces directives sont héritées du niveau précédent si et seulement si aucune directive proxy_set_header n'est définie au niveau actuel". nginx.org/fr/docs/http/…