Como o coredump disse, não, use vários locais.
Mas é possível tornar o conteúdo dos blocos location
menos repetitivos. A chave aqui é um bloco denominado location
que contém as diretivas root
e proxy_...
.
Por exemplo:
location / {
try_files $uri @proxy;
}
location ~ /(abc|def|ghi) {
allow 10.0.0.0/8;
allow 1.2.3.4;
deny all;
try_files $uri @proxy;
}
location @proxy {
root /var/www/docs;
proxy_pass http://backend;
proxy_buffering on;
proxy_buffer_size 64k;
proxy_buffers 256 64k;
}
E provavelmente ainda melhor seria colocar a diretiva root
fora de todos os blocos location
.