Localização 'global' da NGINX

9

É possível criar um local 'global' para um servidor NGINX? Eu gostaria que todos os sites atendidos pelo NGINX tivessem acesso a uma pasta / global /; ao longo das linhas de

http {
    [...stuff...]

    #Global path
    location /global/ {
        root /my/global/location/;
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.com;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.org;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.net;

        [...standard config...]
    }
}

E pode acessar arquivos no local global em http://example.com/global/ http://example.org/global/ etc.

Eu posso fazer isso se adicionar o bloco de localização global a cada serverbloco, mas isso é irritante, gostaria de defini-lo globalmente e poder acessá-lo de dentro dos sites.

Eu poderia usar uma includediretiva em cada host, mas ainda requer especificação em cada host. O wiki do NGINX diz que o bloco 'location' é válido apenas dentro do servercontexto, mas eu não sabia se havia um truque de reescrita ou algo semelhante.

mancha
fonte
alguma atualização disso? ~ 4 anos depois?
W00t

Respostas:

3

Não é não e, tanto quanto sei, também não se fala em mudar isso.

Martin Fjordvald
fonte
1
Pensava assim, mas era uma tentativa vale a pena
Smudge
12
Bem, isso é deprimente.
Rob
1

Você pode fazer o contrário, usando diretórios vhost dinâmicos.
por exemplo:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
moddie
fonte