1 votos

Permite localización en NGINX basados en IP - petición viene de barniz

<p>Si el barniz es predeterminar la caché frente a mi servidor NGINX, ¿cómo puedo comprobar la IP original de clientes en el servidor NGINX y tomar una decisión basada en la?<p>Quiero permitir un cierto directorio sólo a determinadas IPs. Barniz ser en frente de NGINX, significa que cada petición viene de <code></code> . Estoy pensando en establecer un encabezado HTTP personalizado, pero ¿cómo podría comprobar que junto con <code></code> sección?</p></p>

2voto

Victor Wong Puntos 273

Por defecto Barniz 4 establecería X-Forwarded-For encabezado por el cliente IP real, pero NGINX haría caso de que, a menos que se establezca explícitamente.

Añadir estas líneas a su la configuración de nginx en el bloque de servidor que hace uso de la ngx_http_realip_module:

server {
    listen 80;
    set_real_ip_from   127.0.0.1;
    real_ip_header     X-Forwarded-For;
    <Other Server Options>
}

Si usas Ubuntu, el módulo ya está habilitada de forma predeterminada. Sin embargo, para algunas distribuciones de linux se debe habilitar o instalar manualmente. Puede comprobar la configuración de los módulos:

nginx -V

No te olvides de recargar nginx después de la actualización de la configuración:

sudo service nginx reload

Una vez que nginx es capaz de conseguir que el cliente IP real fijado por el Barniz, usted sólo tiene que colocar permitir y denegar las opciones en la ubicación de los bloques:

server {
    <Server Options>
    location ~ /folder/ {
        allow <IP to whitelist>;
        deny all;
        <Location Options>
    }
}

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: