Como aplicar as mesmas regras a vários locais com o Nginx?

4

Em um projeto, tenho uma configuração muito grande do nginx com muitas linhas redundantes.

O estado atual é semelhante ao seguinte

location ~ /loc1/ {
    common rules;
}
location ~ /some/other/location/ {
    common rules;
}
location ~ /yet/anotherone {
    common rules;
}

etc .....

O que eu gostaria de ter é separado, onde há um modelo de regra genérico e uma lista de locais.

Em outras questões relacionadas, as pessoas usaram o regex para combinar vários locais, como

location ~ (/loc1/|/some/other/location/|/yet/anotherone) {
    common rules;
}

No meu caso, isso resultaria em uma linha enorme que seria muito difícil de manter.

Existe outra maneira mais clara de fazer isso?

Muito obrigado.

    
por PhilippN 26.03.2014 / 11:13

1 resposta

2

A primeira opção é colocar common rules; no arquivo e include no arquivo.

Outra depende do que está exatamente nessas regras. Em muitos casos, você poderia movê-los para o nível superior como:

common rules;

location /a {
}

location /b/whatever {
}

e eles serão herdados.

    
por 26.03.2014 / 11:25

Tags