Skip To Content

Использование обратного прокси-сервера с ArcGIS Server

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

Если вы используете обратный прокси-сервер с функцией проверки работоспособности, рекомендуем вам использовать точку доступа проверки работоспособности ArcGIS Server, чтобы определить, может ли данный сайт получать запросы. Это используется, чтобы быстро определить, нет ли на сайте аппаратного или программного сбоя. Дополнительные сведения см. в разделе Проверка работоспособности в ArcGIS REST API.

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

Обратный прокси-сервер организации можно настроить для обмена данными либо напрямую с ArcGIS Server, либо через ArcGIS Web Adaptor, добавив соответствующие URL-адреса в директивы прокси.

Например, если в качестве обратного прокси-сервера вы используете Apache, то вам потребуется добавить URL-адрес ArcGIS Server или URL-адрес ArcGIS Web Adaptor в директивы ProxyPass в файл конфигурации веб-сервера Apache httpd.conf:

Если обмен данными осуществляется через ArcGIS Web Adaptor

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

Если обмен данными осуществляется напрямую с ArcGIS Server

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

Если вы используете обратный прокси-сервер, и окончание URL вашего сайта отличается от заданного по умолчанию /arcgis (все буквы строчные), то вам следует также задать для ArcGIS Server параметр WebContextURL. Это позволит ArcGIS Server построить корректные URL-адреса для всех ресурсов, которые он направляет конечному пользователю.

Примечание:

Настроив ArcGIS Web Adaptor с сайтом, используйте параметр WebContextURL, чтобы задать URL-адрес ArcGIS Server, который соответствовал бы своему ArcGIS Web Adaptor (такому как /mygis). Если веб-адаптер не настроен, URL-адрес сайта должен оканчиваться на /arcgis, чтобы избежать возможных проблем с перенаправлением URL.

Чтобы изменить WebContextURL, сделайте следующее:

  1. Войдите в Administrator Directory ArcGIS Server по адресу https://gisserver.domain.com:6443/arcgis/admin как пользователь с правами доступа администратора.
  2. Щелкните система > свойства > обновить.
  3. В окне для текста Свойства вставьте следующий JSON, заменив свой собственный URL-адрес ArcGIS Server, который видят пользователи за пределами брандмауэра вашей организации.
    {
       "WebContextURL": "https://gisserver.domain.com/mygis"
    }
  4. Щелкните Обновить.
  5. Перезапустите ArcGIS Server на всех ГИС-серверах сайта. В Linux это выполняется посредством скриптов stopserver и startserver, которые можно найти в установочной директории каждого компьютера.

Заголовки обратных прокси-серверов и ArcGIS Server

Перед развертыванием обратного прокси-сервера для использования с ArcGIS Server или ArcGIS Web Adaptor, рекомендуется настроить заголовки обратного прокси-сервера для обеспечения связи.

Обратный прокси-сервер должен иметь возможность определять перенаправления (коды HTTP 301 или 302). Обновите заголовок Location, чтобы гарантировать, что полное доменное имя (FQDN) и контекст ответа соответствуют значению WebContextURL сервера.

X-Forwarded-Host

При интеграции обратного прокси-сервера с ArcGIS Server или ArcGIS Web Adaptor необходимо знать, что оба эти компонента ожидают увидеть следующее свойство, установленное в заголовке, который был отправлен обратным прокси-сервером:

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

Если в заголовке указан этот параметр, ArcGIS Server и ArcGIS Web Adaptor возвращает запросы обратному прокси-серверу, которые соответствует URL-адресу обратного прокси-сервера. Например, запрос к ArcGIS Server Services Directory (https://reverseproxy.domain.com/arcgis/rest/services) будет возвращаться клиенту в виде того же URL-адреса.

Если это свойство заголовка X-Forwarded-Host установлено не будет, ArcGIS Server и ArcGIS Web Adaptor возвратит URL внутреннего компьютера, на который был направлен запрос, например, https://gisserver.domain.com/arcgis/rest/services вместо https://reverseproxy.domain.com/arcgis/rest/services. Это проблематично, т.к. клиенты не смогут получить доступ к этому URL-адресу (обычно выглядит как ошибка 404 в браузере). Также, клиент получит некоторые сведения о внутреннем компьютере.

При устранении проблем связи между клиентами и ArcGIS Server или ArcGIS Web Adaptor, рекомендуется задать свойство заголовка X-Forwarded-Host обратного прокси-сервера, т.к. это обычная причина коммуникационных сбоев. Способ задания заголовка зависит от реализации обратного прокси-сервера. Например, в Apache это достигается с помощью директивы ProxyPreserveHost On, задаваемой в конфигурации:

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

Указания по передаче оригинального заголовка хоста можно найти в документации для вашего прокси-сервера.