Descripción general de ARR de IIS
ARR es un complemento (plugin) que se instala sobre IIS y que permite transformar el servidor Web de Windows en Reverse Proxy.
ARR es un complemento gratuito que se instala en un servicio IIS y permite:
- Hacer enrutamiento HTTP(S)
- Distribución de carga (Load Balancing)
- Descarga de SSL.
- CDN (cache)
Ejemplo de despliegue con IIS/ARR:
Requisito previo
Para configurar ARR necesitará:
- Servicios web para publicar (IIS/Apache/nginx…)
- Un servidor con IIS instalado.
Instalación de ARR
Desde la consola de IIS, inicie el Instalador de plataforma web.
En el cuadro de búsqueda, ingrese ARR 1 y presione Enter en el teclado.
Seleccione Application Request Routing 3.0 Beta 1 y presione el botón Agregar 2.
Haga clic en el botón Instalar 1.
Haga clic en Acepto 1.
Espere mientras instala.
Se instalan los 3 componentes necesarios para la instalación y funcionamiento de ARR, haga clic en Finalizar 1 para cerrar el asistente de instalación.
Vuelva a iniciar la consola IIS, los componentes de administración ARR 1 deberían estar disponibles.
Configuración: enrutamiento simple
En esta parte configuraremos un enrutamiento simple del protocolo HTTP. Las solicitudes HTTP llegarán al servidor ARR y este las transferirá al servidor WEB que aloja el sitio o sitios.
El primer paso es crear una granja de servidores que corresponda a uno o más servidores web que alojan la aplicación y luego modificar la regla de reescritura para el enrutamiento a la granja correcta según la URL.
Seleccione Granja de servidores 1, haga clic derecho sobre ella y haga clic en Crear granja de servidores… 2 o vaya al menú Acciones.
Introduzca el nombre de la Granja de servidores 1 (por convención el nombre DNS de acceso), marque la casilla En línea 2 si no está hecho y haga clic en Siguiente 3.
Ingrese el nombre o IP del sitio de alojamiento de servidores 1 y haga clic en Agregar 2.
Una vez que se hayan agregado los servidores 1, haga clic en el botón Finalizar 2.
Haga clic en Sí 1 para confirmar la creación automática de la regla de reescritura (enrutamiento).
Las reglas automáticas se basan en el nombre de la granja para realizar la reescritura. Más adelante veremos cómo modificar las reglas de confiabilidad.
La primera «granja de servidores» 1 se crea y está disponible en la interfaz de administración de IIS.
Expanda la carpeta Granjas de servidores 1 y seleccione la granja recién creada 2. En el área central 3 están las acciones disponibles.
Ahora vamos a echar un vistazo más de cerca a las reglas de reescritura.
Haga clic en Reglas de enrutamiento 1.
En el menú Acciones, haga clic en Url Rewrite … 1.
Vemos que la regla de reenvío crea automáticamente 1. Haga doble clic en él para mostrar los detalles de la regla.
En el caso de que un solo servidor web aloje todos los sitios web en vhosts (sitios), sería posible crear una sola regla manteniendo el encabezado del host.
A : vemos aquí que el tráfico que llega al servidor se reenvía y no se reescribe como podemos ver en la lista de reglas. Ahora vamos a limitar la transferencia a la url lab.rdr-it.intra. Haga clic en Condiciones 1.
Haga clic en el botón Agregar 1. En la nueva ventana que se abre, ingrese la variable del servidor que vamos a probar aquí {HTTP_HOST} 2, en el campo del modelo 03 ingrese el (sub)dominio a procesar y haga clic en OK < <4 para guardar la condición.
A : se agrega la condición, haga clic en Aplicar 1 para tenerla en cuenta.
A los fines del tutorial, agregué un segundo sitio arr-demo.rdr-it.intra que pasa por ARR y que está alojado en el mismo servidor IIS.
Los registros DNS de tipo A del sitio deben apuntar al servidor ARR.
Inicie un navegador de Internet y vaya a los sitios.
Para validar el pasaje en ARR, es posible verificarlo a nivel de los registros de IIS que se encuentra en C:/inetpub/LogFiles/W3SVC1 (por defecto). El paso por ARR también se puede monitorear en el nivel de monitoreo 1 en la granja con una página dedicada a las estadísticas 2.
Configuración: Descarga SSL
El propósito de la descarga de SSL es publicar un sitio usando ARR a través de HTTPS y hacer que el servidor ARR se comunique con el servidor web a través de HTTP. Esta solución libera al servidor web del cifrado.
Instalación del certificado en el servidor ARR
Dado que ARR está vinculado a un solo sitio (sitio web predeterminado) en IIS, si se deben admitir varios dominios, es necesario tener un certificado tipo SAN.
Para el tutorial, generé un certificado autofirmado en *.rdr-it.intra para cubrir todos los subdominios. Aquí encontrará un generador de certificados autofirmados.
Vaya a la raíz de la consola IIS 1 y luego a Certificados de servidor 2.
Haga clic en Importar 1 en el menú Acciones. Seleccione el certificado en formato pfx 2, introduzca la clave privada (contraseña) 3, elija el almacén de almacenamiento 4 (Web Hosting) y haga clic en Aceptar 5.
El certificado se importa 1>.
Muestre la lista de sitios disponibles en el servidor haciendo clic en la carpeta Sitios 1, seleccione el sitio predeterminado 2, haga clic derecho sobre él y haga clic en Enlaces… 3.
Haga clic en el botón Agregar 1.
Tipo de enlace elija https 1, seleccione el certificado 2 y luego presione el botón OK 3.
El enlace HTTPS se agrega 1. Salga haciendo clic en Cerrar 2.
Configuración de reglas de reescritura: enrutamiento
Vaya a la página de administración de reglas de reescritura.
Agregue una nueva regla desde el menú Acción haciendo clic en Agregar reglas 1, elija Regla vacía 2 y luego haga clic en Aceptar 3.
Nombra la regla 1, haz clic en Condiciones 2 para expandir la opción, agrega las dos reglas 3 (la primera comprueba que la llamada se realiza en https y la segunda limita el dominio). En la parte Acción, seleccione el esquema 4, luego la granja de servidores 5 y haga clic en Aplicar 6.
Volver a la lista de reglas, se agrega 1.
Inicie un navegador y acceda al sitio en https.
Como se puede ver a continuación, no hay enlace SSL en el sitio IIS .
Para forzar el acceso en HTTPS (SSL), es necesario agregar antes de la regla de descarga, una regla que realiza una redirección 301 HTTP a HTTPS.
Configuración: Habilitar caché
Una de las funciones disponibles con ARR es el sistema de caché, que guarda las solicitudes en los servidores web.
En el servidor creó una carpeta para almacenar el caché.
Desde la consola de IIS, haga clic en Enrutamiento de solicitudes de aplicaciones 1.
En el menú Acciones, haga clic en Agregar unidad… 1.
Introduzca la ruta de la carpeta 1, defina un límite 2 y luego haga clic en Aceptar 3.
El almacenamiento para el caché se declara 1.
Vaya a uno de los sitios declarados en la granja 1 y haga clic en Almacenamiento en caché 2.
Si no es así, active la caché marcando la casilla 1 Habilitar caché de disco y haga clic en Aplicar 2.
Actualice el sitio donde está habilitado el almacenamiento en caché.
Abra la carpeta donde está escrito el caché, debe tener archivos A.