Настройка обратного прокси-сервера с ArcGIS Mission Server

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

Если вы используете обратный прокси-сервер с функцией проверки работоспособности, рекомендуем вам использовать точку доступа проверки работоспособности ArcGIS Mission Server, чтобы определить, может ли данный сайт получать запросы. Это используется, чтобы быстро определить, нет ли на сайте аппаратного или программного сбоя. Для того, чтобы это сделайте, перейдите, например, к https://machine.domain.com:20443/arcgis/rest/info/healthcheck.

Примечание:

Начиная с версии Enterprise 10.9, администраторы могут легче настраивать Apache HTTPD с ArcGIS Mission Server. Теперь администраторы могут сгенерировать файл конфигурации прокси-сервера Apache через конечную точку «Создать конфигурацию прокси» в Admin API.

Создание конфигурации прокси

Теперь администраторы могут настраивать Apache HTTPD через ArcGIS Mission Server Admin API.

  1. Войдите в ArcGIS Mission Server Administrator Directory на https://machine.domain.com:20443/arcgis/admin/proxyGen от имени пользователя с правами администратора.
  2. Введите Top Context вашего обратного прокси-сервера, например, ввод topcontext приведет к прокси-директивам, которые будут перенаправлять запросы на https://my.reverse.proxy/topcontext. Этот контекст будет использоваться для написания директив прокси и маршрутизации запросов соответствующим образом на основе протокола запросов и контекста.
  3. Установите отметку Set Context URL для автоматической установки соответствующих ArcGIS Mission Server WebContextURL и системных свойств WebSocketContextURL при отправке запроса.
  4. Для Proxy FQDN введите Полное доменное имя (FQDN) вашего обратного прокси-сервера, например, my.reverse.proxy, что приведет к прокси-директивам, которые будут перенаправлять запросы на https://my.reverse.proxy/topcontext.
  5. Для Формата выберите выходной.
  6. Формат вывода по умолчанию - это html, однако вы можете выбрать выводить файл конфигурации как json или file.
  7. Щелкните Подтвердить.

    Вы успешно создали файл конфигурации Apache HTTPD и установили правильные системные свойства ContextURL. Затем вам нужно будет прочитать информацию, отображаемую в этом файле, и при необходимости применить ее к вашему прокси-серверу Apache HTTPD. Для этого обратитесь к документации соответствующего дистрибутива.

Добавление ArcGIS Mission Server к обратному прокси-серверу вручную

Вы можете настроить обратный прокси-сервер вашей организации для прямого сообщения с ArcGIS Mission Server путем добавления соответствующего URL-адреса к директивам прокси.

Чтобы настроить Apache HTTP Server в качестве обратного прокси-сервера, включите следующие модули Apache: mod_ssl, mod_proxy, mod_proxy_http и mod_proxy_wstunnel. Чтобы включить модули Apache см. документацию по Apache для получения сведений о настройке на выбранной платформе, например:


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

Чтобы выполнить конфигурацию Apache HTTP Server в качестве обратного прокси, необходимо настроить комбинацию директив ProxyPass и ProxyPassMatch, а также задать корректные настройки SSL. ArcGIS Mission Server использует HTTPS, в результате нам нужно настроить сервер Apache HTTP SSL, чтобы также использовать тот же сертификат, загруженный на 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/

В ArcGIS Mission Server для соответствующего создания сообщения WebSocket с клиентами рекомендуется настроить ArcGIS Mission Server WebContextURL и системные свойства WebSocketContextURL. Это позволит ArcGIS Mission Server построить корректные URL-адреса для всех ресурсов, которые он направляет конечному пользователю. Для изменения свойств WebContextURL и WebSocketContextURL выполните следующее:

  1. Войдите в ArcGIS Mission Server Administrator Directory на https://machine.domain.com:20443/arcgis/admin от имени пользователя с правами администратора.
  2. Щелкните система > свойства > обновить.
  3. В текстовом окне Свойства вставьте следующий JSON, заменив собственный URL ArcGIS Mission Server, который видят пользователи за пределами брандмауэра вашей организации.
    {
       "WebContextURL": "https://machine.domain.com/mygis",
    "WebSocketContextURL":"wss://machine.domain.com/mygis"
    }
  4. Щёлкните Обновить.