В этой статье:

Настройка взаимодействия через серверную часть веб-приложения

Настройка взаимодействия в обход серверной части веб-приложения

Настройка механизма CORS

Настройка взаимодействия браузера с BI-сервером

При разработке системы на базе веб-приложения продукта «Форсайт. Аналитическая платформа» в контуре разработки или тестирования доступно два способа взаимодействия браузера с BI-сервером:

При переносе разработанной системы в контур промышленной эксплуатации используется только один способ взаимодействия браузера с кластером BI-серверов - в обход серверной части веб-приложения.

Схема взаимодействия браузера с BI-сервером через серверную часть веб-приложения:

Схема взаимодействия браузера с BI-сервером в обход серверной части веб-приложения:

Условные обозначения:

Рассмотрим настройки взаимодействия браузера с BI-сервером через серверную часть веб-приложения и напрямую при работе веб-приложения по протоколу HTTPS.

Настройка взаимодействия через серверную часть веб-приложения

Настройка взаимодействия браузера с BI-сервером через серверную часть веб-приложения отличается в зависимости от операционной системы.

Для настройки взаимодействия браузера с BI-сервером через серверную часть веб-приложения в ОС Linux:

  1. Задайте обработчик запросов PPServices.axd в поле serviceUrl в файле config.json:

"serviceUrl": "https://<веб-сервер>:<номер порта>/fp10.x/app/PPService.axd"

Где:

    • <веб-сервер>. IP-адрес или DNS-имя сервера, на котором установлена серверная часть веб-приложения;

    • <номер порта>. Номер порта, по которому доступна серверная часть веб-приложения. По умолчанию используется порт 443 для HTTPS, 8110 для HTTP.

  1. Проверьте настройки экземпляра веб-сервера Apache2 с серверной частью веб-приложения. По умолчанию запросы браузера перенаправляются через серверную часть веб-приложения с помощью обработчика запросов PPService.axd к BI-серверу в соответствии с параметрами, содержащимися в файлах:

    • /etc/opt/foresight/fp10.x-webserver/envvars. В переменной PP_SOM содержится адрес веб-сервиса PP.SOM по умолчанию:

PP_SOM=https://localhost:8810/FPBI_App_v10.x/axis2/services/PP.SOM.Som

    • /etc/apache2-fp10.x-web/sites-available/webserver.conf в Debian-подобных дистрибутивах, /etc/httpd-fp10.x-web/conf.d/00-virtualhost.conf в RedHat-подобных дистрибутивах, /etc/httpd2-fp10.x-web/conf/sites-available/default.conf в ALT Linux. В параметре ProxyPass содержится обработчик запросов PPService.axd и переменная PP_SOM по умолчанию:

ProxyPass /fp10.x/app/PPService.axd ${PP_SOM} retry=1 acquire=3000 timeout=6000 Keepalive=On

После выполнения действий запросы браузера будут перенаправляться через серверную часть веб-приложения к BI-серверу.

Для настройки взаимодействия браузера с BI-сервером через серверную часть веб-приложения в ОС Windows:

  1. Задайте обработчик запросов PPServices.axd в поле serviceUrl в файле config.json:

"serviceUrl": "https://<веб-сервер>:<номер порта>/FP_App_v10.x/app/PPService.axd"

Где:

    • <веб-сервер>. IP-адрес или DNS-имя сервера, на котором установлена серверная часть веб-приложения;

    • <номер порта>. Номер порта, по которому доступна серверная часть веб-приложения. По умолчанию используется порт 443 для HTTPS, 80 для HTTP.

  1. Задайте адрес веб-сервиса PP.SOM в качестве значения атрибута url в разделе <proxy> в файле PP.xml для работы с менеджером безопасности:

<proxy url="https://<BI-сервер>:<номер порта>/FPBI_App_v10.x/axis2/services/PP.SOM.Som" />

Где:

    • <BI-сервер>. IP-адрес или DNS-имя сервера, на котором установлен BI-сервер;

    • <номер порта>. Номер порта, по которому доступен BI-сервер. По умолчанию используется порт 80.

После выполнения действий запросы браузера будут перенаправляться через серверную часть веб-приложения к BI-серверу.

Настройка взаимодействия в обход серверной части веб-приложения

Настройка взаимодействия браузера с BI-сервером в обход серверной части веб-приложения отличается в зависимости от операционной системы.

Для настройки взаимодействия браузера с BI-сервером в обход серверной части веб-приложения в ОС Linux:

  1. Задайте адрес веб-сервиса PP.SOM в поле serviceUrl в файле config.json:

"serviceUrl": "https://<BI-сервер>:<номер порта>/FPBI_App_v10.x/axis2/services/PP.SOM.Som"

Где:

    • <BI-сервер>. IP-адрес или DNS-имя сервера, на котором установлен BI-сервер;

    • <номер порта>. Номер порта, по которому доступен BI-сервер. По умолчанию используется порт 443 для HTTPS, 8810 для HTTP.

  1. Задайте аналогичный адрес веб-сервиса PP.SOM в качестве значения атрибута url в разделе <service> в файле PP.xml для работы с менеджером безопасности:

<service url="https://<BI-сервер>:<номер порта>/FPBI_App_v10.x/axis2/services/PP.SOM.Som" />

  1. Настройте механизм CORS.

После выполнения действий запросы браузера будут идти напрямую к BI-серверу, в обход серверной части веб-приложения.

Для настройки взаимодействия браузера с BI-сервером в обход серверной части веб-приложения в ОС Windows:

  1. Задайте адрес веб-сервиса PP.SOM в поле serviceUrl в файле config.json:

"serviceUrl": "https://<BI-сервер>:<номер порта>/FPBI_App_v10.x/axis2/services/PP.SOM.Som"

Где:

    • <BI-сервер>. IP-адрес или DNS-имя сервера, на котором установлен BI-сервер;

    • <номер порта>. Номер порта, по которому доступен BI-сервер. По умолчанию используется порт 443 для HTTPS, 80 для HTTP.

  1. Задайте аналогичный адрес веб-сервиса PP.SOM в качестве значения атрибута url в разделе <service> в файле PP.xml для работы с менеджером безопасности:

<service url="https://<BI-сервер>:<номер порта>/FPBI_App_v10.x/axis2/services/PP.SOM.Som" />

После выполнения действий запросы браузера будут идти напрямую к BI-серверу, в обход серверной части веб-приложения.

Настройка механизма CORS

В ОС Linux при взаимодействии браузера с BI-сервером в обход серверной части веб-приложения могут возникнуть ошибки, связанные с ограничениями политики CORS.

Для настройки механизма CORS и повышения безопасности системы:

  1. Откройте файл:

  1. Задайте заголовки Origin, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers:

<IfModule mod_headers.c>
    SetEnvIf Origin ^(<разрешённый домен>)$ CORS_ALLOW_ORIGIN=$1
    Header always set Access-Control-Allow-Origin %{CORS_ALLOW_ORIGIN}e env=CORS_ALLOW_ORIGIN
    Header merge Vary "Origin"
    Header always set Access-Control-Allow-Methods "POST, OPTIONS, <методы HTTP-запросов>"
    Header always set Access-Control-Allow-Headers "get-ppbi-time, content-type, soapaction, accept-language, cache-control, Authorization, <заголовки HTTP-запросов>"
</IfModule>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS
    RewriteRule ^(.*)$ $1 [R=200,L]

В подстановках:

https?://(?:.+\.)?example\.com(?::\d{1,5})?

Данная настройка включает использование механизма CORS на родительском и дочерних ему доменах, а также динамически устанавливается на текущий протокол, домен, порт без использования правил перезаписи;

Примечание. Убедитесь, что указанные параметры механизма CORS соответствуют требованиям используемого ресурса.

  1. Подключите модули headers, rewrite в Astra Linux:

sudo a2enmod-fp10.x headers rewrite

  1. Перезапустите BI-сервер.

После выполнения действий будет настроен механизм CORS.

См. также:

Дополнительные настройки веб-приложения