Como posso configurar um bloco de configuração compartilhado para um conjunto de locais?
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;
}
Agora, se eu tentar acessar o /api/0.1/user, receberei 404 porque ele não passa a solicitação para 127.0.0.1:9000
A maioria das variáveis de configuração proxy_ * também é permitida no contexto do servidor, para que você possa movê-las para compartilhar as mesmas configurações em vários locais.
No entanto, proxy_pass deve ser usado apenas dentro do local. Portanto, você deve ter pelo menos essa diretiva em cada local, substituindo opcionalmente os valores de alguns proxy_ * vars extras.
fonte
proxy_set_header
diretivas específicas de local porque "Essas diretivas são herdadas do nível anterior se, e somente se, não houver diretivas proxy_set_header definidas no nível atual". nginx.org/en/docs/http/...