Posizione 'globale' di NGINX


9

È possibile creare un percorso "globale" per un server NGINX? Vorrei che ogni sito servito da NGINX avesse accesso a una cartella / global /; lungo le linee di

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...]
    }
}

Ed essere in grado di accedere ai file nella posizione globale da http://example.com/global/ http://example.org/global/ ecc.

Posso farlo se aggiungo il blocco di posizione globale a ogni serverblocco ma questo è fastidioso, mi piacerebbe averlo definito a livello globale ed essere in grado di accedervi dai siti.

Potrei usare una includedirettiva in ogni host, ma richiede comunque delle specifiche in ogni host. Il wiki di NGINX afferma che il blocco 'location' è valido solo nel servercontesto, ma non sapevo se ci fosse un trucco di riscrittura o qualcosa di simile.


Qualche aggiornamento a questo proposito? ~ 4 anni dopo?
wt

Risposte:


3

Non è no e per quanto ne so non si parla nemmeno di cambiarlo.


1
Pensato di sì, ma ne è valsa la pena provare
Smudge,

12
Bene, è deprimente.
Rob

1

Puoi in qualche modo farlo al contrario, usando le directory dinamiche del vhost.
per esempio:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.