×
Cómo redirigir tráfico en Nginx según la IP del visitante

Cómo redirigir tráfico en Nginx según la IP del visitante


Dependiendo de las necesidades, muchas veces los desarrolladores necesitan redirigir parte de su tráfico hacia otras áreas de su web, o incluso hacia otras URLs fuera del sitio en si. En este post veremos cómo redirigir via Nginx a tus visitantes de una URL a otra en base a la IP que tengan.

Redirección de tráfico en Nginx usando HttpAccessModule

Nginx soporta el uso de condiciones en su configuración, por lo que haremos uso del módulo HttpAccessModule usando un if contra la IP que se asigna en la variable $remote_addr:

server {
if ($remote_addr = 2.3.4.5) {
rewrite ^ http://www.infranetworking.com/otrapagina.html;
}
}

En este ejemplo la IP 2.3.4.5 es la IP que vamos a redirigir hacia la URL deseada.

Redirección con Nginx como proxy Apache

Si usas Nginx como proxy de Apache, lo que debes hacer es redirigir el tráfico hacia los servidores que están detrás usndo proxy_pass, ejemplo:

if ( $remote_addr = 2.3.4.5 ) {
proxy_pass http://www.infranetworking.com/otrapagina.html;
}

Este tipo de redirecciones se pueden aplicar fácilmente en casos donde necesitas mostrar mensajes de mantenimiento para tus clientes o compañeros de trabajo. O bien para proteger áreas con información sensible donde sólo la IP de tu oficina puede estar permitida (aunque esto también se puede lograr con directivas allow/deny).

¿Qué otras opciones hay para redirigir tráfico con Nginx?

Otra alternativa muy usada es recurrir al módulo GeoIP de Nginx. Este módulo te ayuda (junto al módulo GeoIP de sistema) a definir variables dependiendo de la IP visitante, ejemplo:

geo $usuario_denegado {
default 0;
2.3.4.5/32 1;
}

server {
if ($usuario_denegado) {
rewrite ^ http://www.infranetworking.com/otrapagina.html;
}

En el ejemplo 0 (cero)  es el valor asignado a la variable si la IP del cliente no es igual a ninguna de las especificadas (2.3.4.5/32).

Conclusión

Como vimos, las redirecciones en Nginx son bastante fáciles de usar, en Infranetworking las aplicamos en los Cloud VPS de nuestros clientes a diario y siempre con excelentes resultados, sea con Nginx como único server, o bien usándolo como proxy frente a Apache.

Cuéntanos: ¿Cuál es tu experiencia creando redirecciones en Nginx? ¿Utilizas estos u otros  métodos?

¿Te gustó el artículo? Compártelo:

Escrito por Esteban Borges

Acumula más de 15 años de experiencia en las áreas referentes a Web Hosting y sistemas operativos Linux. Hoy es quien dirige todos los proyectos relacionados con la plataforma de servicios de Web Hosting, Cloud y Servidores Dedicados. Entusiasta del mundo SEO y la Seguridad digital. Ha cursado estudios de Marketing Digital en Platzi, y es Licenciado en Psicología en UNIFA. Conoce más en sus perfiles de LinkedIn y Twitter, o síguelo en su blog.

    Recibe en tu correo electrónico toda la información sobre hosting, desarrollo web y dominios

    Términos y Condiciones de Servicio

    Infranetworking Internacional - Copyright 2002-2024
    Todos los derechos reservados.