Как я могу настроить общий блок конфигурации для набора местоположений?
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;
}
Теперь, если я попытаюсь получить доступ к /api/0.1/user, я получу 404, потому что он не передает запрос на 127.0.0.1:9000
Большинство переменных конфигурации proxy_ * также разрешены в контексте сервера, поэтому вы можете перемещать их вверх, чтобы использовать одни и те же настройки в нескольких местах.
Однако proxy_pass следует использовать только внутри локации. Таким образом, вы должны иметь по крайней мере эту директиву в каждом месте, необязательно переопределяя значения некоторых дополнительных переменных proxy_ *.
источник
proxy_set_header
директивы, зависящие от местоположения, потому что «Эти директивы наследуются от предыдущего уровня тогда и только тогда, когда на текущем уровне не определены директивы proxy_set_header». nginx.org/en/docs/http/...