Acceso a Host Access for the Cloud mediante el Proxy inverso 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. Consulte IIS 8.0 WebSocket Protocol Support (Compatibilidad con el protocolo WebSocket IIS 8.0) para obtener información sobre 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.
Configurar el Proxy inverso IIS para HACloud
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
- Inicie el Administrador de Internet Information Services (IIS), navegue hasta el sitio web que desee utilizar y abra el componente URL Rewrite (Reescribir URL).
- Seleccione la acción Add Rule(s) (Agregar reglas) y añada una regla de Proxy inverso.
-
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
. -
Active la regla de salida "Rewrite the domain names..." (Reescribir nombres de dominio...) e introduzca el nombre de host o la dirección IP del servidor IIS en la casilla "To:" (A:).
-
Haga clic en OK para crear la nueva regla de Proxy inverso.
Configuración de HACloud
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.
-
Abra container.properties en un editor de texto. La ubicación por defecto de este archivo es:
/sessionserver/conf. -
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 URL 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). -
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.