Skip To Content

Configurar un servidor proxy inverso con ArcGIS 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 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 obtener más información, consulte Verificación de estado en API REST de ArcGIS.

Agregar ArcGIS Server a su servidor proxy inverso

El servidor proxy inverso de su organización se puede configurar para que se comunique directamente con ArcGIS Server o medianteArcGIS Web Adaptor agregando las URL correspondientes a las directivas proxy.

Nota:

Debe asegurarse de que el nombre de contexto del servidor proxy inverso solo profundice un nivel en la URL. Por ejemplo, puede tener una URL de proxy inverso como https://proxy.domain.com/enterprise, pero no puede tener una URL de proxy inverso como https://proxy.domain.com/myorg/enterprise.

Por ejemplo, si utiliza Apache como servidor proxy inverso, tendrá que agregar la URL de ArcGIS Server o la URL de ArcGIS Web Adaptor a las directivas de ProxyPass en el archivo httpd.conf de configuración del servidor web de Apache:

Si se comunica a través de ArcGIS Web Adaptor

ProxyPass /server https://gisserver.domain.com/server
ProxyPassReverse /server https://gisserver.domain.com/server

Si se comunica directamente con ArcGIS Server

ProxyPass /arcgis https://gisserver.domain.com:6443/arcgis
ProxyPassReverse /arcgis https://gisserver.domain.com:6443/arcgis

Si utiliza un servidor proxy inverso y la URL a su sitio no termina con la cadena predeterminada /arcgis (todo en minúsculas), también se deberá establecer la propiedad de ArcGIS Server WebContextURL. Esto ayuda a ArcGIS Server a construir las URL correctas de todos los recursos que envía al usuario final.

Nota:

Si ha configurado ArcGIS Web Adaptor con su sitio, utilice la propiedad WebContextURL para definir la URL de ArcGIS Server para que coincida con la de su ArcGIS Web Adaptor (como /mygis). Si no hay Web Adaptor configurado, la URL del sitio debe terminar en /arcgis para evitar posibles problemas de redirección de URL.

Haga lo siguiente para cambiar la WebContextURL:

  1. Inicie una sesión en el Directorio de administrador de ArcGIS Server en https://gisserver.domain.com:6443/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 Server tal como la ven los usuarios de fuera del firewall de su organización.
    {
       "WebContextURL": "https://gisserver.domain.com/mygis"
    }
  4. Haga clic en Actualizar.
  5. Reinicie ArcGIS Server en todos los servidores SIG del sitio. En Windows, esto se puede lograr reiniciando el servicio de Windows de ArcGIS Server en cada equipo.

Encabezados del proxy inverso y ArcGIS Server

Antes de implementar su servidor proxy inverso para utilizarlo con ArcGIS Server o ArcGIS Web Adaptor, se recomienda configurar parte de los encabezados del proxy inverso para garantizar una comunicación adecuada.

Su servidor proxy inverso debe ser capaz de detectar redirecciones (códigos HTTP 301 o 302). Actualice su encabezado Ubicación para garantizar que el nombre de dominio totalmente calificado (FQDN) y el contexto de la respuesta coincidan con el valor WebContextURL del servidor.

X-Forwarded-Host

Al integrar el proxy inverso con ArcGIS Server o ArcGIS Web Adaptor, tenga en cuenta que ambos componentes esperan ver la siguiente propiedad establecida en el encabezado que envíe el servidor proxy inverso:

X-Forwarded-Host=<FQDN of reverse proxy server>

Si esta propiedad está establecida en el encabezado, ArcGIS Server y ArcGIS Web Adaptor devuelven al servidor proxy inverso las solicitudes que coincidan con la URL del servidor proxy inverso. Por ejemplo, una solicitud al Directorio de servicios de ArcGIS Server (https://reverseproxy.domain.com/arcgis/rest/services) se devolverá al cliente como la misma URL.

Si la propiedad de encabezado X-Forwarded-Host no está definida, ArcGIS Server y ArcGIS Web Adaptor pueden devolver la URL del equipo interno donde se dirigió la solicitud (por ejemplo, https://gisserver.domain.com/arcgis/rest/services en lugar de https://reverseproxy.domain.com/arcgis/rest/services). Esto es problemático, ya que no clientes no podrán acceder a esta URL (marcado comúnmente como error 404 del navegador). Además, el cliente tendrá cierto conocimiento sobre el equipo interno.

Durante la solución de problemas de comunicación entre clientes y ArcGIS Server o ArcGIS Web Adaptor, se recomienda establecer la propiedad de encabezado X-Forwarded-Host en el servidor proxy inverso, ya que es una causa muy común de fallos de comunicación. La forma en que puede establecer este encabezado varía según la implementación del servidor proxy inverso. Por ejemplo, en Apache se consigue con la directiva ProxyPreserveHost On dentro de su configuración:

...
ProxyPreserveHost On
ProxyPass /server https://gisserver.domain.com/server
ProxyPassReverse /server https://gisserver.domain.com/server
...

Para obtener instrucciones sobre cómo pasar el encabezado del host original, consulte la documentación del producto para el servidor proxy inverso.