Diretiva de localização no nginx apenas para raiz, aninhada em /

1

Eu tenho um proxy_pass trabalhando em / e quero que certas configurações só se apliquem ao root.

Eu tentei

location / {
   proxy_pass http://foo.com/
}

location = / {
   subs_filter 'foo' 'bar';
}

Mas estou recebendo um 404 do foo.com - como eu faria o subs_filter aplicar-se apenas à raiz?

    
por Alex Turner 02.12.2014 / 07:57

1 resposta

2

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';
}
    
por 02.12.2014 / 10:05

Tags