Lokasi 'global' NGINX


9

Apakah mungkin membuat lokasi 'global' untuk server NGINX? Saya ingin setiap situs yang dilayani oleh NGINX memiliki akses ke / global / folder; Sepanjang garis

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

Dan dapat mengakses file di lokasi global dari http://example.com/global/ http://example.org/global/ dll.

Saya dapat melakukan ini jika saya menambahkan blok lokasi global ke setiap serverblok tetapi itu menjengkelkan, saya ingin mendefinisikannya secara global dan dapat mengaksesnya dari dalam situs.

Saya bisa menggunakan includearahan di setiap host, tetapi masih membutuhkan spesifikasi di setiap host. Wiki NGINX mengatakan blok 'lokasi' hanya valid dalam serverkonteks tetapi saya tidak tahu apakah ada trik menulis ulang atau sesuatu yang serupa.


ada pembaruan tentang ini? ~ 4 tahun kemudian?
w00t

Jawaban:


3

Ini bukan tidak dan sejauh yang saya tahu tidak ada pembicaraan untuk mengubahnya juga.


1
Kupikir begitu, tapi itu patut dicoba
Smudge

12
Yah itu menyedihkan.
Rob

1

Anda dapat melakukannya dengan cara lain, dengan menggunakan direktori vhost dinamis.
sebagai contoh:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.