Ubicación 'global' de NGINX


9

¿Es posible crear una ubicación 'global' para un servidor NGINX? Me gustaría que cada sitio servido por NGINX tenga acceso a una carpeta / global /; en la línea 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...]
    }
}

Y poder acceder a archivos en la ubicación global desde http://example.com/global/ http://example.org/global/ etc.

Puedo hacer esto si agrego el bloque de ubicación global a cada serverbloque, pero eso es molesto, me gustaría tenerlo definido globalmente y poder acceder desde dentro de los sitios.

Podría usar una includedirectiva en cada host, pero aún requiere especificación en cada host. El wiki de NGINX dice que el bloque de 'ubicación' solo es válido dentro del servercontexto, pero no sabía si había un truco de reescritura o algo similar.


¿Algún avance en esto? ~ 4 años después?
w00t

Respuestas:


3

No es no y, que yo sepa, tampoco se habla de cambiar eso.


1
Pensé que sí, pero valió la pena intentarlo
Smudge

12
Bueno, eso es deprimente.
Rob

1

Puede hacerlo al revés, utilizando directorios dinámicos de vhost.
por ejemplo:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.