IIS ARR desde PowerShell para Skype for Business

Los que trabajamos con Skype for Business/Lync tenemos un rol que, si bien pertenece a la solución, no viene dentro del paquete de implementación: el Reverse Proxy. Existen varias soluciones para poder llevar a cabo este rol aunque la más extendida es utilizar un servidor web (IIS). Para ello se debe agregar el módulo de Application Request Routing (ARR) y luego configurar nuestros requerimientos. En este post pretendo compartir cómo implementar un reverse proxy para utilizar en nuestros proyectos de comunicaciones unificadas utilizando IIS ARR desde PowerShell.

Instalación de requisitos

Cómo requisito esencial es contar con un Windows Server limpio (instalación nueva), con todos los updates necesarios y las configuraciones pertinentes (por ejemplo: Remote Desktop). Teniendo lo anterior veremos como instalar el rol de IIS y los módulos necesarios desde la consola de PowerShell:

$MsiFolder = 'C:/msi'
New-Item $MsiFolder -Type Directory | Out-Null
Invoke-WebRequest 'http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi' -OutFile "$MsiFolder/WebPlatformInstaller_amd64_en-US.msi"
Start-Process "$MsiFolder/WebPlatformInstaller_amd64_en-US.msi" -ArgumentList '/qn' -PassThru | Wait-Process
cd "C:/Program Files/Microsoft/Web Platform Installer"
.\WebpiCmd.exe /Install /Products:'UrlRewrite2,ARRv3_0' /AcceptEULA /Log:$MsiFolder/WebpiCmd.logd

Vamos a comenzar creando un directorio para alojar nuestros binarios necesarios para la instalación. Posteriormente descargaremos el instalador necesario y como último paso comenzar la instalación de los módulos necesarios (URL Rewrite y ARR 3.0).

Configuración

Ahora que tenemos el servidor con todo el software necesario instalado, vamos a comenzar a configurar nuestro Reverse Proxy. Para ello vamos a hacer una pequeña revisión de lo que necesitamos.

En primer lugar, tenemos que tener definidas las direcciones que necesitamos configurar, siendo las más comunes las siguientes:

  • meet.dominio.com
  • dialin.dominio.com
  • sip.dominio.com
  • lyncdiscover.dominio.com

Éstas URL necesitan direccionarse de los puertos 80 y 443 al 8080 y 4443 respectivamente.

En el siguiente ejemplo vamos a configurar el farm que va a manipular la URL sip.dominio.com tomando como destino el “ server” PoolSfB.dominio.local.

Ahora tenemos que repetir lo anterior para cada sitio que necesitemos configurar en nuestro IIS ARR desde PowerShell para finalizar la configuración del Reverse Proxy.

OWA (WAC)

En caso de contar con un servidor Office Web App, tendremos que tener en cuenta también la siguiente dirección (por ejemplo):

  • office.dominio.com

Ésta dirección no necesita redireccionar los puertos, simplemente tendremos que agregarla para que permita el tráfico al servidor correspondiente, ejecutando:

Happy scripting!

Comments