Skip To Content

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, protegiendo así 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, por ejemplo, vaya a https://machine.domain.com:20443/arcgis/rest/info/healthcheck.

Nota:

Novedad en la versión 10.9: los administradores ahora pueden configurar Apache HTTPD con ArcGIS Mission Server con mayor facilidad. Los administradores ahora pueden generar un archivo de configuración de proxy de Apache a través del punto final "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 Top Context (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 del proxy y enrutar las solicitudes de forma adecuada en función del protocolo y el contexto de las solicitudes.
  3. Seleccione la casilla Set Context URLs? (¿Establecer las URL de contexto?). De este modo, al enviar la solicitud se establecerán las propiedades del sistema WebContextURL y WebSocketContextURL apropiadas de ArcGIS Mission Server.
  4. Introduzca el valor de Proxy FQDN (FQDN del proxy) de su proxy inverso; por ejemplo, si introduce my.reverse.proxy, se obtendrán directivas de proxy que remitirán las solicitudes a https://my.reverse.proxy/topcontext.
  5. Seleccionar el formato de salida
  6. El formato de salida predeterminado es html, pero puede optar por generar el archivo de configuración en formato json o file.
  7. Haga clic en Enviar.
  8. 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 luego 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, mod_proxy_wstunnel. Para habilitar los módulos de Apache, consulte la documentación de Apache para obtener información sobre 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, tendremos 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 la propiedad 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 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.