46 votos

¿Cómo puedo configurar nginx lugares para compartir opciones de configuración comunes?

¿Cómo puedo configurar una compartido bloque de configuración para un conjunto de lugares?

    location / {

            proxy_pass        http://127.0.0.1:9000/;
            proxy_redirect    off;
            proxy_set_header  Host             $http_host;
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

            proxy_cache cache-test;
            proxy_cache_valid 200 302 24h;
            proxy_cache_valid 404 60s;
            add_header X-Cache-Status $upstream_cache_status;

    }


    location /api/0.1/user{
            proxy_cache_key /user/$http_authorization;
    }

Ahora, si intento acceder a /api/0.1/usuario, a continuación, voy a tener 404 porque no pasa la solicitud a la dirección 127.0.0.1:9000

61voto

SleighBoy Puntos 298

Crear un proxy comunes de configuración y se incluyen, según sea necesario.

/etc/nginx/api_proxy.conf

proxy_pass        http://127.0.0.1:9000/;
proxy_redirect    off;
proxy_set_header  Host             $http_host;
proxy_set_header  X-Real-IP        $remote_addr;
proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

proxy_cache cache-test;
proxy_cache_valid 200 302 24h;
proxy_cache_valid 404 60s;
add_header X-Cache-Status $upstream_cache_status;

Su Archivo De Configuración De Host

...
location /api/0.1/user {
    include /etc/nginx/api_proxy.conf;
    proxy_cache_key /user/$http_authorization;
}
...

1voto

Vadym S. Khondar Puntos 462

La mayoría de proxy_* variables de configuración también son permitidos dentro del contexto del servidor, así que usted puede mover a compartir la misma configuración a través de varios lugares.

Sin embargo, proxy_pass solo debe ser utilizada dentro de la ubicación. Así que usted debe tener, al menos, la presente directiva en cada ubicación, opcionalmente reemplazando los valores de algunos extra proxy_* vars.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X