Microsoft ARR como proxy inverso

04/12/2015 0 Comments

Esta semana me gustaría hablar de una herramienta bastante completa como es Microsoft ARR.

¿Qué es Microsoft ARR?

Microsoft Application Request Routing  (ARR) es una extensión de IIS basada en los módulos en URL Rewrite, Web Farm Framework  y External Cache,  que  permite ampliar las funcionalidades de nuestro IIS, convirtiéndolo en un elemento multipropósito. Entre las tareas que puede desempleñar destacan las siguientes:

    • Balanceador de carga: permite distribuir la carga entre varios servidores de una misma granja.
    • Servidor de caché: mejora el rendimiento de los servidores CDN estableciendo una caché de disco intermedia.
    • Proxy inverso: redirige las peticiones desde Internet hasta el servidor correcto en una red privada.

Para poder emplearlo, debemos instalarlo en nuestro IIS, bien de forma manual (instalando previamente sus requisitos) o de manera más automática y sencilla a través de Web Platform Installer.

Arr como proxy inverso

En este artículo nos vamos a centrar en este aspecto. Como proxy inverso permite redirigir las peticiones recibidas a través de Internet a un servidor en concreto de nuestra red interna. El proceso sería el siguiente:

  1. El usuario abre su explorador de Internet y escribe una url.
  2. Esta url es resuelta por el proveedor DNS correspondiente en Internet y redirigida a una Ip.
  3. El firewall de esa red (conforme a lo que esté establecido en él) redirige el tráfico al ARR.
  4. El ARR examina la cabecera http  recibida y revisa el conjunto de reglas que tiene establecidas en su módulo URL Rewrite
  5. Si la condición se cumple, realiza una acción, en este caso redirije esa petición al servidor destino.
  6. La url es servida al usuario.

image

Reglas de enrutamiento

Las reglas de enrutado son la base del funcionamiento del ARR. Cada regla consta de varias partes :

  • Match Url: se pueden emplear una serie de patrones a aplicar a la url solicitada. Asímismo,  definimos si vamos a emplear comodines, expresiones regulares o la url exacta.

image

  • Condiciones: Se establecen las premisas que se deben cumplir para que se aplique la regla.

image

  • Acciones: la aplicación de la regla tendrá como consecuencia la ejecución de una acción. De entre ellas destacamos las que aplicarían en nuestro caso: Rewrite que reenvia la petición a una url interna, y Route to Server Farm que redirigiría esa url a uno de los servidores que tuviéramos definidos dentro de la granja del ARR.

image

Una vez configurados los parámetros indicados con anterioridad dispondríamos de un proxy inverso listo para enrutar las conexiones que definamos a nuestra red local.

¿Por qué emplearlo?

Las principales ventajas que obtenemos al emplear ARR como proxy inverso son las siguientes:

  • Seguridad: Nuestros servidores no se encuentran expuestos directamente a a Internet por lo que están más protegidos frente a ataques externos. En nuestro firewall sólo tendremos que abrir una regla por cada puerto que redirgir al ARR.
  •  Administración centralizada: gestionamos la redirección a varios servidores a través de las reglas definidas en un único IIS.  No necesitamos varias ip’s públicas, ya que con una podemos reenviar las peticiones al servidor adecuado.

Como habéis podido observar  debido a las aplicaciones que ofrece resulta bastante atractivo a la hora de emplearlo. Y con esto, me despido, ¡hasta la próxima!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *