Configurar un proxy inverso con ArcGIS Mission Server

Un servidor proxy inverso es un equipo implementado en una red perimetral (también conocida como zona desmilitarizada [DMZ] o subred filtrada) que gestiona las solicitudes de Internet y las reenvía a los equipos de la red interna. Con el reenvío de solicitudes, el servidor proxy inverso enmascara la identidad de los equipos detrás del firewall de la organización, lo cual protege los equipos internos del ataque directo de los usuarios de Internet. Se pueden implementar funciones de seguridad adicionales en el servidor proxy inverso para proteger aún más la red interna de los usuarios externos.

Si su servidor proxy inverso admite una función de verificación de estado, puede utilizar el extremo de verificación de estado de ArcGIS Mission Server para determinar si el sitio está disponible para recibir solicitudes. Esto resulta útil para determinar rápidamente si hay un fallo de software o hardware en el sitio. Para ello, vaya a https://machine.domain.com:20443/arcgis/rest/info/healthcheck, por ejemplo.

Nota:

A partir de la versión 10.9 de Enterprise, los administradores pueden configurar Apache HTTPD con ArcGIS Mission Server de forma más sencilla. Los administradores ahora pueden generar un archivo de configuración de proxy de Apache a través del extremo Generar configuración de proxy de la API de administración.

Generar una configuración de proxy

Los administradores ahora pueden configurar Apache HTTPD a través de la API de administración de ArcGIS Mission Server.

  1. Inicie sesión en el Directorio de administrador de ArcGIS Mission Server en https://machine.domain.com:20443/arcgis/admin/proxyGen como usuario con privilegios de administrador.
  2. Introduzca el valor de Contexto superior de su proxy inverso; por ejemplo, si introduce topcontext, se obtendrán directivas de proxy que remitirán las solicitudes a https://my.reverse.proxy/topcontext. Este contexto se utilizará para escribir las directivas de proxy y remitir las solicitudes de forma adecuada en función del protocolo y el contexto de las solicitudes.
  3. Active la casilla de verificación Definir URL de contexto para configurar automáticamente las propiedades del sistema ArcGIS Mission Server WebContextURL y WebSocketContextURL cuando se envía la solicitud.
  4. FQDN del proxy, introduzca el nombre de dominio totalmente calificado (FQDN) de su servidor proxy inverso; por ejemplo, my.reverse.proxy, se obtendrán directivas de proxy que remitirán las solicitudes a https://my.reverse.proxy/topcontext.
  5. En Formato, elija una salida.
  6. El formato de salida predeterminado es html; sin embargo, puede optar por generar el archivo de configuración como json o file.
  7. Haga clic en Enviar.

    Ha generado correctamente un archivo de configuración de Apache HTTPD y ha definido las propiedades del sistema ContextURL apropiadas. A continuación, tendrá que leer la información que se muestra en este archivo y aplicarla a su proxy Apache HTTPD según corresponda. Para ello, consulte la documentación de su respectiva distribución.

Agregar ArcGIS Mission Server manualmente al servidor proxy inverso

Puede configurar el servidor proxy inverso de su organización para que se comunique directamente con ArcGIS Mission Server agregando las URL correspondientes a las directivas proxy.

Para configurar un Apache HTTP Server como proxy inverso, habilite los módulos de Apache: mod_ssl, mod_proxy, mod_proxy_http y mod_proxy_wstunnel. Para habilitar los módulos de Apache, consulte la documentación de Apache para conocer las ubicaciones de configuración específicas de la plataforma, por ejemplo:

LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

Para completar la configuración de un Apache HTTP Server como proxy inverso, tendrá que establecer una combinación de directivas ProxyPass y ProxyPassMatch y configurar los ajustes de SSL correctos. ArcGIS Mission Server utiliza HTTPS; como resultado, tendremos que configurar Apache HTTP server SSL para utilizar también el mismo certificado que está cargado en ArcGIS Mission Server:

##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
 
## Enable Proxy for SSL
SSLProxyEngine on
 
## If using a self-signed certificate on ArcGIS Mission Server, disable strict
## certificate verification
SSLProxyVerify none
 
## Proxy ArcGIS Mission Server URLs to the proper backend ports
## The order of these directives are important.

ProxyPass /topcontext/missions/ wss://machine.domain.com:20301/arcgis/missions/ disablereuse=On

ProxyPass /topcontext/ https://machine.domain.com:20443/arcgis/
ProxyPassReverse /topcontext/ https://machine.domain.com:20443/arcgis/
 
## Use the same SSL Certificate and Key as ArcGIS Mission Server
## (adjust path to your specific certificate locations)
SSLCertificateFile    /path/to/arcgis/mission/<server_cert>.pem
SSLCertificateKeyFile /path/to/arcgis/mission/<private_key>.pem
 
## End of ArcGIS Mission Server reverse proxy config                         https://machine.domain.com:20443/arcgis/

Para que ArcGIS Mission Server cree adecuadamente comunicaciones de WebSocket para los clientes, es necesario que establezca las propiedades del sistema WebContextURL y WebSocketContextURL de ArcGIS Mission Server. Esto ayuda a ArcGIS Mission Server a construir las URL correctas de todos los recursos que envía al usuario final. Haga lo siguiente para cambiar las propiedades WebContextURL y WebSocketContextURL:

  1. Inicie sesión en el Directorio de administrador de ArcGIS Mission Server en https://machine.domain.com:20443/arcgis/admin como usuario con privilegios de administrador.
  2. Haga clic en sistema > propiedades > actualizar.
  3. En el cuadro de texto Propiedades, escriba el siguiente JSON, sustituyendo su propia URL de ArcGIS Mission Server tal como la ven los usuarios de fuera del firewall de su organización.
    {
       "WebContextURL": "https://machine.domain.com/mygis",
    "WebSocketContextURL":"wss://machine.domain.com/mygis"
    }
  4. Haga clic en Actualizar.