NGINX 'globaler' Standort


9

Ist es möglich, einen "globalen" Speicherort für einen NGINX-Server zu erstellen? Ich möchte, dass jede von NGINX bereitgestellte Site Zugriff auf einen / global / -Ordner hat. nach dem Vorbild von

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

Und Sie können über http://example.com/global/ http://example.org/global/ usw. auf Dateien am globalen Speicherort zugreifen .

Ich kann dies tun, wenn ich jedem serverBlock den globalen Standortblock hinzufüge , aber das ist ärgerlich. Ich möchte, dass er global definiert wird und von den Sites aus darauf zugreifen kann.

Ich könnte includein jedem Host eine Direktive verwenden, aber es ist immer noch eine Angabe in jedem Host erforderlich. Das NGINX-Wiki sagt, dass der 'Standort'-Block nur innerhalb des serverKontexts gültig ist, aber ich wusste nicht, ob es einen Umschreibungstrick oder ähnliches gab.


Gibt es hierzu Neuigkeiten? ~ 4 Jahre später?
w00t

Antworten:


3

Es ist nicht nein und soweit ich weiß, ist auch nicht die Rede davon, das zu ändern.


1
Dachte so, aber es war einen Versuch wert
Smudge

12
Das ist deprimierend.
Rob

1

Sie können es auch andersherum tun, indem Sie dynamische vhost-Verzeichnisse verwenden.
zum Beispiel:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.