Обратный прокси-сервер – это компьютер, установленный в пределах пограничной сети (так называемой демилитаризованной зоны [DMZ] или промежуточной подсети), который обрабатывает запросы из Интернета и перенаправляет их на компьютеры внутренней сети. Перенаправляя запросы, обратный прокси-сервер маскирует идентичность компьютеров, находящихся за брандмауэром организации, защищая таким образом внутренние компьютеры от прямых атак со стороны пользователей интернета. На обратном прокси-сервере можно реализовать дополнительные функции безопасности, позволяющие еще больше защитить внутреннюю сеть от пользователей извне.
Вы можете настроить свой сайт ArcGIS Notebook Server на использование обратного прокси-сервера вашей организации. Является необязательным. Если ваша организация еще не использует обратный прокси-сервер или вы не хотите настраивать его использование для своего сайта ArcGIS Notebook Server, перейдите к настройке своего сайта с порталом.
Добавление ArcGIS Notebook Server к обратному прокси-серверу
Обратный прокси-сервер организации нужно настроить для обмена данными с ArcGIS Web Adaptor, добавив соответствующие URL-адреса в директивы прокси.
Например, если вы используете Apache в качестве обратного прокси-сервера, вам потребуется добавить URL ArcGIS Web Adaptor в ProxyPassдирективы в файле конфигурации веб-сервера Apachehttpd.conf:
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
Задание свойства WebContextURL
Если вы используете обратный прокси-сервер, и окончание URL вашего сайта отличается от заданного по умолчанию /arcgis (все буквы строчные), то вам следует также задать для ArcGIS Notebook Server параметр WebContextURL. Это позволит ArcGIS Notebook Server построить корректные URL-адреса для всех ресурсов, которые он направляет конечному пользователю.
Примечание:
Воспользуйтесь свойством WebContextURL, чтобы задать URL ArcGIS Notebook Server, соответствующий ArcGIS Web Adaptor (например, /notebook).
- Откройте ArcGIS Notebook Server Administrator Directory по адресу https://notebookserver.domain.com:11443/arcgis/admin и войдите как пользователь с правами администратора.
- Щелкните система > свойства > обновить.
- В текстовом окне Свойства вставьте следующий JSON, заменив собственный URL ArcGIS Notebook Server, который видят пользователи за пределами брандмауэра вашей организации.
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- Щёлкните Обновить.
- Перезапустите ArcGIS Notebook Server. В Linux выполните скрипты stopnotebookserver.sh и startnotebookserver.sh, которые можно найти в установочной директории.
Заголовки обратного прокси-сервера и ArcGIS Notebook Server
При интеграции обратного прокси-сервера с ArcGIS Web Adaptor нужно задать следующее свойство, установленное в заголовке, который был отправлен обратным прокси-сервером:
X-Forwarded-Host=<FQDN of reverse proxy server>
Если в заголовке указан этот параметр, ArcGIS Web Adaptor будет возвращать запросы обратному прокси-серверу, которые соответствуют URL-адресу обратного прокси-сервера. Так, запрос к ArcGIS Notebook Server Services Directory (https://reverseproxy.domain.com/arcgis/rest/services) будет возвращен клиенту в виде того же URL-адреса.
Если это свойство заголовка X-Forwarded-Host установлено не будет, ArcGIS Web Adaptor может возвратить URL внутреннего компьютера, на который был направлен запрос, например, https://notebookserver.domain.com/arcgis/rest/services вместо https://reverseproxy.domain.com/arcgis/rest/services. Это проблематично, т.к. клиенты не смогут получить доступ к этому URL-адресу (обычно выглядит как ошибка 404 в браузере). Также клиент получит некоторые сведения о внутреннем компьютере.
При устранении проблем связи между клиентами и ArcGIS Web Adaptor, рекомендуется задать свойство X-Forwarded-Host заголовка обратного прокси-сервера, т.к. это обычная причина коммуникационных сбоев. Способ задания заголовка зависит от реализации обратного прокси-сервера. Например, в Apache это достигается с помощью директивы ProxyPreserveHost On, задаваемой в конфигурации:
...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...
Указания по передаче оригинального заголовка хоста можно найти в документации для вашего прокси-сервера.
Пример: Настройка Apache и Tomcat с ArcGIS Notebook Server
Вы можете настроить для обратного прокси-сервера с ArcGIS Notebook Server любой веб-сервер. Ниже описаны действия, которые необходимо выполнить для настройки для обратного прокси-сервера Apache HTTP Server и Apache Tomcat. Это только один из вариантов конфигурации обратного прокси-сервера, а не обязательные инструкции.
В этом примере рабочего процесса используются следующие программы и версии, установленные на том же компьютере, что и ArcGIS Notebook Server:
- Red Hat Enterprise Linux Server 7.5
- Apache HTTP Server , httpd 2.4.6
- Apache Tomcat 9.0.20 / OpenJDK 1.8.0
Эти компоненты программного обеспечения могут работать и в распределенной архитектуре - с ArcGIS Notebook Server, Apache HTTP Server и Apache Tomcat на отдельных компьютерах.
Следующие шаги нужно выполнить после того, как будут установлены и настроены ArcGIS Notebook Server и Mirantis Container Runtime, а экземпляр ArcGIS Web Adaptor будет установлен на веб-сервере Java, но не был настроен.
- Установите Tomcat для его запуска через порт 8080 через протокол Apache JServ Protocol (AJP), который включен по умолчанию.
- Поскольку порт 8443 по умолчанию в Tomcat не включен, включите SSL и добавьте коннектор для порта 8443.
Это позволит создать сертификат SSL и отредактировать файл конфигурации Tomcat для добавления коннектора. С точки зрения обеспечения безопасности лучше всего включить только TLS версии 1.2.
... sslProtocol="TLS" SSLProtocol="TLSv1.2" ...
- Разверните файл arcgis.war для имеющегося ArcGIS Web Adaptor (Java Platform) в Tomcat.
К примеру, URL ArcGIS Web Adaptor - это /nbs.
- Установите Apache HTTP Server .
В этом случае будет использоваться менеджер пакетов yum. Возможности SSL также устанавливаются в yum.
yum install httpd -y yum install mod_ssl -y
- Проверьте ваш сертификат SSL для Apache HTTP Server в файле ssl.conf.
- Измените файл Apache httpd.conf, используя правила прокси (как обсуждалось в предыдущем разделе) для прокси-вызовов ArcGIS Web Adaptor на порт AJP Tomcat.
ProxyPass /nbs ajp://myserver.acme.com:8009/nbs ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs
- Для файла ssl.conf Apache HTTP Server используйте правила прокси для SSL прокси-вызовов ArcGIS Web Adaptor к порту AJP Tomcat. Также важно проксировать запросы WebSocket, которые используются ArcGIS Notebook Server. Если запросы WebSocket не обрабатываются должным образом, ArcGIS Notebooks не будут корректно открываться.
SSLProxyEngine On # Use RewriteEngine to handle WebSocket connection upgrades RewriteEngine On RewriteCond %{HTTP:Connection} Upgrade [NC] RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteRule /(.*) wss://myserver.acme.com:8443/$1 [P,L] <Location "/nbs"> ProxyPreserveHost On ProxyPass ajp://myserver.acme.com:8009/nbs ProxyPassReverse ajp://myserver.acme.com:8009/nbs </Location>
- Перезапустите сервис Apache HTTP Server , чтобы изменения конфигурации вступили в силу.
- Настройте ArcGIS Web Adaptor с ArcGIS Notebook Server.