Configurar un servidor proxy inverso con Workflow Manager

Disponible con una licencia de Workflow Manager.

Un servidor proxy inverso es un equipo normalmente 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. El proxy inverso enmascara la identidad de los equipos detrás del firewall de la organización mediante el reenvío de las solicitudes entrantes para proteger los equipos internos del ataque directo de los usuarios de Internet.

Si se desea, ArcGIS Workflow Manager Server se puede configurar para que use el servidor proxy inverso de su organización. Si su organización no utiliza el servidor proxy inverso o no desea configurar uno con Workflow Manager Server, configure Workflow Manager con un portal de ArcGIS Enterprise.

Agregar Workflow Manager Server a un servidor proxy inverso

Workflow Manager Server requiere enrutamiento de solicitudes basado en rutas entre los dos puertos de backend: 6443 para conexiones ArcGIS Server y 13443 para conexiones Workflow Manager Server.

ArcGIS Web Adaptor realiza el enrutamiento como parte de su configuración predeterminada, por lo que se puede colocar un proxy inverso de capa 3/4 o 7 delante de ArcGIS Web Adaptor en la ruta de red para el acceso de los clientes. Si decide no utilizar ArcGIS Web Adaptor en la ruta de red, se requiere un proxy inverso de capa 7 para dirigir las solicitudes entre los clientes y Workflow Manager Server.

Más información sobre los tipos de equilibrados de carga

Proxy inverso de capa 3/4

El proxy inverso de capa 3/4 conduce el tráfico del protocolo websocket de forma predetermina sin necesidad de configuración adicional. Este proxy requiere instalar ArcGIS Web Adaptor para dirigir correctamente el tráfico a los destinos de backend.

Proxy inverso de capa 7

En los ejemplos siguientes, https://example.domain.com/server se utiliza como URL de servicio, y FQDN1 y FQDN2 se usan como nombres de host de destinos de backend. Si está utilizando un solo equipo de Workflow Manager Server, en el grupo de destino hay un único host.

Configurar con ArcGIS Web Adaptor en la ruta de red

En este ejemplo, los hosts de backend, FQDN1 y FQDN2, alojan un ArcGIS Web Adaptor denominado server. Workflow Manager requiere que el tráfico de websocket pase por el proxy inverso desde los clientes de conexión. El tráfico puede equilibrarse utilizando un algoritmo Round-robin con comprobaciones de estado configurado en los destinos de backend para garantizar que el servidor web dirija el tráfico según lo previsto.

La siguiente es una plantilla de configuración para habilitar el protocolo websocket en una configuración de Apache httpd:


RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteRule ^/server/workflow/(.*)? "balancer://wss_webadaptor_endpoint/$1" [P,L]

<Proxy balancer://wss_webadaptor_endpoint>
    BalancerMember wss://FQDN1/server
    BalancerMember wss://FQDN2/server
</Proxy>

A continuación se utiliza https://example.domain.com/server como URL de servicios y FQDN como nombre de host de equipo para dirigir el tráfico a los hosts de Web Adaptor:


ProxyPass /server balancer://webadaptor_endpoint/server
ProxyPassReverse /server balancer://webadaptor_endpoint/server

<Proxy balancer://webadaptor_endpoint>
    BalancerMember https://FQDN1/server
    BalancerMember https://FQDN2/server
</Proxy>

Configurar sin ArcGIS Web Adaptor en la ruta de red

Si decide no utilizar ArcGIS Web Adaptor en la ruta de red, se requiere un proxy inverso de capa 7 para dirigir las solicitudes entre los clientes y Workflow Manager. El encabezado de X-Forwarded-Host y X-Forwarded-Request-Context debe configurarse en las solicitudes con proxy con el valor del encabezado Host del cliente original.

La siguiente es una plantilla de configuración para habilitar el protocolo websocket en una configuración de Apache httpd:


RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteRule ^/server/workflow/(.*)? "balancer://workflow_endpoint_wss/$1" [P,L]

<Proxy balancer://workflow_endpoint_wss>
    BalancerMember wss://FQDN1:13443
    BalancerMember wss://FQDN2:13443
</Proxy>

Cuando se configuran los destinos de backend, las reglas basadas en rutas deben implementarse en el equilibrador de carga para enviar el tráfico a los servidores web de ArcGIS Server y Workflow Manager.

A continuación se utiliza https://example.domain.com/server como URL de servicios y FQDN como nombre de host de equipo en la plantilla de ejemplo para las reglas de enrutamiento basadas en rutas. Las solicitudes de clientes a https://example.domain.com/server/workflow/* deben dirigirse a https://FQDN:13443/workflow, mientras que las solicitudes al nivel superior o a otras rutas secundarias de https://example.domain.com/server/* deben dirigirse a https://FQDN:6443/arcgis:

La siguiente es una plantilla de configuración para agregar reglas de enrutamiento basadas en rutas para remitir las solicitudes de clientes:


ProxyPass /server/workflow balancer://workflow_manager_endpoint/workflow
ProxyPassReverse /server/workflow balancer://workflow_manager_endpoint/workflow

ProxyPass /server balancer://server_endpoint/arcgis
ProxyPassReverse /server balancer://server_endpoint/arcgis

<Proxy balancer://server_endpoint>
    BalancerMember https://FQDN1:6443
    BalancerMember https://FQDN2:6443
</Proxy>

<Proxy balancer://workflow_manager_endpoint>
    BalancerMember https://FQDN1:13443
    BalancerMember https://FQDN2:13443
</Proxy>