7.10 Acceso a Host Access for the Cloud mediante el Proxy Reverso IIS

En esta nota, se describe cómo utilizar el Proxy Reverso IIS con Host Access for the Cloud. Para cumplir los requisitos de seguridad de Common Criteria, es necesario colocar Host Access for the Cloud detrás de un proxy del siguiente modo.

Requisitos previos

  • Se necesita Internet Information Services (IIS) 8.0 o posterior.

  • El protocolo WebSockets de IIS debe estar habilitado. Véase IIS 8.0 WebSocket Protocol Support (Soporte de protocolo WebSocket IIS 8.0) para informarse de cómo se habilita este protocolo.

  • Se necesita Application Request Routing (ARR) 3.0 (Enrutamiento de solicitud de aplicaciones 3.0) de IIS o posterior.

  • El módulo URL Rewrite (Reescribir URL) de IIS debe estar instalado.

7.10.1 Configurar el Proxy Reverso IIS para Host Access for the Cloud

En este ejemplo, se muestra la configuración de un servidor IIS con la dirección IP 192.168.1.1 para establecer conexiones de proxy en el servidor de sesión de Host Access for the Cloud, en http://10.10.10.1:7070.

Configurar IIS

  1. Inicie el Administrador de Internet Information Services (IIS), navegue hasta el sitio web que desee utilizar y abra el componente URL Rewrite (Reescribir URL).

  2. Seleccione la acción Add Rule(s) (Agregar regla(s)) y agregue una regla de Proxy Reverso.

  3. Para la regla de entrada, introduzca la dirección IP o el nombre de host y el puerto del servidor de Host Access for the Cloud. Por ejemplo, si el servidor de sesión se encuentra en el mismo equipo que IIS y está utilizando el puerto por defecto, introduzca localhost:7443.

  4. Active la regla de salida Rewrite the domain names... (Reescribir nombres de dominio...) e ingrese el nombre de host o dirección IP del servidor IIS en la casilla A:

  5. Haga clic en OK para crear la nueva regla de Proxy Reverso.

Configuración de Host Access for the Cloud

Para las conexiones proxy, el módulo URL Rewrite (Reescribir URL) de IIS debe inspeccionar y reescribir las páginas web y las conexiones WebSocket que pasan por el proxy. Para que la reescritura se realice correctamente, estos elementos se deben enviar de forma no comprimida. Recuerde que, de estar configurada, la compresión seguirá teniendo lugar del servidor IIS al navegador del cliente. Por lo tanto, el servidor de sesión debe estar configurado para permitir conexiones WebSocket originadas desde el proxy.

  1. Abra container.properties en un editor de texto. La ubicación predeterminada de este archivo es: <install dir>/sessionserver/conf.

  2. Añada las siguientes líneas a container.properties:

    • websocket.compression.enable=false
    • server.compression.enabled=false
    • websocket.allowed.origins=http://<nombre de servidor IIS o dirección IP>. Por ejemplo: 192.168.1.1.

    Guarde los cambios en el archivo. La propiedad Allowed Origins (Orígenes Permitidos) es una lista de URLs delimitadas por comas. Si los clientes web se van a conectar a su sitio web utilizando una conexión HTTPS, ajuste la URL correspondientemente. Si se van a utilizar conexiones seguras y no seguras, utilice las dos URLs como valor: websocket.allowed.origins=http://192.168.1.1,https://192.168.1.1. Para evitar errores, asegúrese de que todos los formatos de dirección posibles estén incluidos en la lista Allowed Origins (Orígenes permitidos).

  3. Reinicie el sitio Web y el servidor de sesión, y pruebe el proxy. Para ello, conéctese a: http(s)://192.168.1.1.

Solución de problemas

Si recibe errores de servidor web, habilitar los errores detallados puede ayudar a diagnosticar el problema. En el administrador de IIS, abra el componente Error Pages (Páginas de Error) y active Detailed errors (Errores detallados):

Normalmente, en el rango 5XX los errores vienen causados por problemas con la habilitación de la compresión o por errores en el valor Allowed Origins (Orígenes Permitidos).

Si el proxy IIS se va a conectar al servidor de sesión con HTTPS, el certificado utilizado con el servidor de sesión debe ser de confianza para el servidor IIS. Si el servidor de sesión está utilizando un certificado autofirmado, este certificado se debe añadir al almacén de certificados de confianza de Windows. Si el servidor de sesión está utilizando un certificado firmado, el firmante debe ser una CA de confianza.