Настройка обратного прокси-сервера для работы с Workflow Manager

Доступно с лицензией Workflow Manager.

Обратный прокси-сервер – это компьютер, обычно установленный в периметре сети (в так называемой демилитаризованной зоне [DMZ] или промежуточной подсети), который обрабатывает запросы из Интернета и перенаправляет их на компьютеры внутренней сети. Обратный прокси-сервер маскирует идентификационные данные компьютеров за брандмауэром вашей организации, перенаправляя входящие запросы для защиты внутренних компьютеров от прямых атак из Интернета.

ArcGIS Workflow Manager Server можно дополнительно настроить на использование обратного прокси-сервера вашей организации. Если ваша организация не использует обратный прокси-сервер или вы не хотите настраивать обратный прокси-сервер с Workflow Manager Server, настройте Workflow Manager с использованием портала ArcGIS Enterprise.

Добавление Workflow Manager Server к обратному прокси-серверу

Для Workflow Manager Server требуется маршрутизация запросов на основе пути между двумя внутренними портами: 6443 для подключений ArcGIS Server и 13443 для подключений Workflow Manager Server.

ArcGIS Web Adaptor выполняет маршрутизацию как часть своей конфигурации по умолчанию, поэтому обратный прокси-сервер уровня 3/4 или 7 может быть размещен перед ArcGIS Web Adaptor в сетевом пути для клиентского доступа. Если вы решите не использовать ArcGIS Web Adaptor в сетевом пути, для маршрутизации запросов между клиентами и Workflow Manager Server требуется обратный прокси-сервер уровня 7.

Более подробно о типах балансировщиков нагрузки

Обратный прокси-сервер уровня 3/4

Обратные прокси-серверы уровня 3/4 передают трафик по протоколу websocket по умолчанию без необходимости дополнительной настройки. Обратные прокси-серверы уровня 3/4 требуют установки ArcGIS Web Adaptor для правильного маршрутизации к серверным целям.

Обратный прокси-сервер уровня 7

В следующих примерах https://example.domain.com/server используется в качестве URL-адреса сервиса, а FQDN1 и FQDN2 используются в качестве имен целевых хостов серверной части. Если вы используете один компьютер Workflow Manager Server, в целевой группе есть только один хост.

Настройка ArcGIS Web Adaptor в сетевом пути

В этом примере серверные хосты, FQDN1 и FQDN2 размещают ArcGIS Web Adaptor с именем server. Для Workflow Manager требуется, чтобы трафик websocket передавался через обратный прокси-сервер от подключающихся клиентов. Трафик может быть сбалансирован с помощью циклического алгоритма с проверками работоспособности, настроенными на внутренних целевых устройствах, чтобы гарантировать, что веб-сервер передает трафик должным образом.

Ниже приведен шаблон конфигурации для включения протокола websocket в конфигурации 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>

Здесь используется https://example.domain.com/server в качестве URL-адреса сервиса и FQDN как имя хоста компьютера для маршрутизации трафика на узлы 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>

Настройка без ArcGIS Web Adaptor в сетевом пути

Если вы решите не использовать ArcGIS Web Adaptor в сетевом пути, для маршрутизации запросов между клиентами и Workflow Manager требуется обратный прокси-сервер уровня 7. Заголовок X-Forwarded-Host должен быть установлен в прокси-запросах со значением заголовка исходного клиента Host.

Ниже приведен шаблон конфигурации для включения протокола websocket в конфигурации 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>

При настройке внутренних целевых объектов в балансировщике нагрузки должны быть реализованы правила на основе путей для отправки трафика на веб-серверы ArcGIS Server и Workflow Manager.

Здесь https://example.domain.com/server используется в качестве URL-адреса сервиса, а FQDN как имя хоста компьютера в примере шаблона для правил маршрутизации на основе пути. Клиентские запросы к https://example.domain.com/server/workflow/* должны быть направлены к https://FQDN:13443/workflow, в то время как запросы верхнего уровня и другие субпути https://example.domain.com/server/* должны быть направлены к https://FQDN:6443/arcgis:

Ниже приведен шаблон конфигурации для добавления правил маршрутизации на основе путей для пересылки клиентских запросов:


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>