Para nginx, apenas "o" bloco de localização correspondente é usado; na questão, isso significa que, para o url /
, não há proxy_pass - ele tratará a solicitação como uma solicitação para um arquivo na raiz (padrão, se não configurada).
Há um exemplo na documentação muito semelhante à pergunta:
location /user/ {
proxy_pass http://user.example.com;
}
location = /user {
proxy_pass http://login.example.com;
}
Aplicando isso à pergunta, a única coisa que falta é adicionar proxy_pass ao bloco = /
location, por exemplo
location / {
proxy_pass http://foo.com/
}
location = / {
proxy_pass http://foo.com/
subs_filter 'foo' 'bar';
}