Это многостраничный печатный вид этого раздела. Нажмите что бы печатать.

Вернуться к обычному просмотру страницы.

Основные настройки

Modus: Аналитический портал является веб-приложением и состоит условно из трёх частей:

  • «Клиента» (Frontend) — средство отображения интерфейсов приложения в браузере;
  • «Сервера» (Backend) — основное приложение, выполняющее роль веб-сервера, взаимодействующего с источниками данных и выполняющего пользовательские команды;
  • «Данные и метаданные» — служебные данные необходимые для работы (настройки, команды, списки сущностей и т.д.). Распологаются в базе данных Аналитического портала. Для размещения базы данных Аналитического портала используется СУБД PostgreSQL.

1 - Настройки конфигурации Аналитического портала

Изменение базовых настроек портала выполняются из WEB-клиента аналитического портала и в файле настроек «modusbi.json», расположенного в каталоге исполняемого файла аналитического портала.
Настройки Аналитического портала, редактируемые из WEB-клиента сохраняются и считываются в базе метаданных.
Настройки в файле редактируются вручную, изменения в WEB-клиенте не изменяют файл настроек.
Часть настроек доступных из WEB-клиента дублируется настройками из файла. Настройки из файла имеют более высокий приоритет. Список смежных настроек приведён ниже.
Если есть необходимость настраивать смежные настройки из WEB-клиента, настройку из файла необходимо убрать (как значение, так и само свойство).

Настройки из WEB-клиента

Используя WEB-клиент, перейдите в меню «Администрирование» и выберите раздел «Настройки портала»:

Откроется окно с настройками:

Доступные из WEB-клиента настройки:

— позволяет загрузить файл обновления Frontend. Нужно выбрать файл в диалоге и указать под каким именем будет загружен дистрибутив. Под указанным именем в дальнейшем дистрибутив будет доступен для выбора в выпадающем списке настроек «Версия Frontend портала».

— позволяет загрузить файл обновления. Нужно выбрать файл в диалоге.

— позволяет загрузить лицензии для обновления лицензии портала. Файл лицензии содержит настройки и лицензионные ограничения для конкретной реализации портала по количеству пользователей, сроку работы, доступности функционала отдельных модулей (формы ввода данных, RLS, коррекции данных и т.д.).

— кнопка смены мастер-паролей позволяет заменить пароли к встроенным учетным записям. Новые пароли будут записаны в файлы developer.secret и system.secret в каталоге где размещён исполняемый файл портала.

Пункт настройки Описание
Адрес сервера Строка, содержащая сетевой адрес, по которому сервер (Backend) будет принимать клиентские подключения.
Запись 0.0.0.0 позволяет задействовать все адреса IPv4.
По умолчанию равно «localhost»
Порт Строка, содержащая TCP-порт, открываемый сервером (Backend) Аналитического портала.
По умолчанию равно «5000».
Корневой каталог приложения на сервере Строка, содержащая путь к публикации Аналитического портала относительно домена компании.
По умолчанию равно «/».
Пример 1:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/».
Аналитический портал доступен по адресу http://www.mysite.com/.
Пример 2:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/bi-portal».
Аналитический портал доступен по адресу http://www.mysite.com/bi-portal/
Наименование (заголовок окна) Заголовок окна для пользователя
Версия Frontend портала Версия Frontend портала.
В списке отображаются доступные для настройки версии
По умолчанию устанавливается максимально доступная версия FE-портала.
Источник дат обновления Настройка / подключение информации по датам обновления источников данных, отображаемая в описании отчета.
Для настройки источника необходимо подключить источник с необходимой информацией (например, таблица). Связать поля фильтр и значения, где фильтр — поле с наименованием источника данных, значение — дата последнего обновления данных в источнике.
По умолчанию источник не указан
Протокол сервера данных Строка, содержащая наименование протокола, который будет использовать Аналитический портал.
По умолчанию равно «HTTP».
Допустимые значения: «HTTP», «HTTPS».
Адрес сервера данных Строка, содержащая сетевой адрес для обращений клиентского приложения (Frontend) к серверу (Backend) Аналитического портала
Порт сервера данных Строка, содержащая порт, по которому будут выполняться обращения клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
По умолчанию равно «5000».
Путь к API данных Пути в URL, используемое для доступа к API аналитического портала.
По умолчанию равно «/v1/api/».
Ключ SSL Настройка позволяющая выбрать файл закрытого ключа для TLS.
Используется только при значении настройки «protocol» равной «HTTPS».
Сертификат SSL Настройка позволяющая выбрать файл сертификата для TLS.
Используется только при значении настройки «protocol» равной «HTTPS».
Заголовок сервисного режима Строка заголовка для информационного сообщения портала во время сервисного режима.
По умолчанию «Сервис временно недоступен»
Сообщение сервисного режима Строка для информационного сообщения пользователям портала во время сервисного режима.
По умолчанию «Портал находится на сервисном обслуживании. Попробуйте обновить страницу через некоторое время».
Заголовок при недоступности сервиса Строка заголовка для информационного сообщения портала во время сервисного режима.
По умолчанию «Сервис недоступен».
Сообщение при недоступности сервиса< Строка для информационного сообщения пользователям портала во время сервисного режима.
По умолчанию «Портал недоступен. Попробуйте зайти позже».
Максимальное число получаемых записей данных Число, использующееся по умолчанию для ограничения количества строк набора данных при отображении в отчете.
Ограничение количества строк устанавливается для сокращения времени отображения отчетов на портале. При необходимости это число можно увеличить или уменьшить.
По умолчанию 5000.
Шаблон Excel по умолчанию Настраиваемый общий шаблон для выгрузки данных с портала в Excel.
Максимальный размер загружаемого файла Excel Число в мегабайтах — максимальный размер для загружаемых на портал файлов с данными.
Корневой каталог приложения
Форм Ввода Данных
Путь в URL для доступа к ресурсам Форм Ввода Данных аналитического портала.
По умолчанию равно «/fvd».
Фасеты
Источник таблиц
Источник полей
Источник значений
«Фасеты» содержат статистику по полям таблиц хранилища данных. Возможно указать имена таблиц, полей и значений по которым будет работать интерфейс «Администрирование» / «Фасеты».
Обычно таблицы фасетов создаются, заполняются и обновляются, при использовании соответствующего функционала Modus ETL.
Мультиязычность Настройка позволяющая включить или выключить режим «Мультиязычность».
По умолчанию «Выкл.».
Пользователь для автоматической аутентификации Настройка позволяет выбрать профиль пользователя для входа при автоматической аутентификации
Токен Yandex TilesApi Строка для ввода API-токена для получения изображений подложки Яндекс Карт.
Токен 2Gis TilesApi Строка для ввода API-токена для получения изображений подложки карт 2Gis.
Управление геоданными Настройка, которая позволяет добавить новый тип геоданных или редактировать существующие типы.
Для настройки геоданных необходимо загрузить файл с геоданными.

Файл настроек «modusbi.json»

Файл настроек «modusbi.json» находится в каталоге размещения исполняемого файла аналитического портала.

{
	"metadata": {
		"driver": "postgres",
		"datasource": "postgres://pg_user:pg_passw@pg_server:5432/BASE_NAME?application_name=modusbi&sslmode=disable",
		"maxopenconns": 100,
		"maxidleconns" : 20,
		"maxlifetime": 3600
	},
	"server": {
		"host": "192.168.0.1",
		"port": 3000,
		"debug": "enabled"
	},
	"backend": {
		"protocol": "http",
		"host": "192.168.0.1",
		"port": 3000,
		"base_url": "/v1/api/"
	},
	"frontend": {
		"base_url": "/"
	},
	"form": {
		"base_url": "/fvd"
	},
	"update": {
		"path": "update"
	},
	"backup": {
		"path": "backup"
	},
	"Databases": {
		"Vertica" : {
			"InMemoryResultRowLimit": 1000			
		}
	},
	"CollLogger": "enabled",
	"auth": {
		"log": {
			"to_file": true,
			"to_metadata": false
		}
	}
}	

, где

Настройка Тип json Описание
$.server.host Строка Сетевой адрес, по которому сервер (Backend) будет принимать клиентские подключения.
Запись 0.0.0.0 позволяет задействовать все адреса IPv4.
По умолчанию равно «localhost».
$.server.port Число TCP-порт, открываемый сервером (Backend) Аналитического портала.
По умолчанию равно «5000».
$.backend.host Строка Сетевой адрес для обращений клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
$.backend.port Число Порт, по которому будут выполняться обращения клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
По умолчанию равно «5000».
$.backend.protocol Строка Наименование протокола, который будет использовать Аналитический портал.
По умолчанию равно «http».
Допустимые значения: «http», «https».
$.metadata.driver Строка Имя драйвера СУБД , где размещена база данных аналитического портала. Всегда «postgres».
$.metadata.datasource Строка Параметры подключения к базе данных СУБД, где размещена база данных аналитического портала. За подробностями обратитесь к разделу База данных.
$.metadata.maxidleconns Число Максимальное количество открытых (ожидающих) соединений (в пуле) к базе данных СУБД, где размещена база данных аналитического портала.
$.metadata.maxlifetime Число Максимальное время жизни соединения (в пуле), к базе данных СУБД, где размещена база данных аналитического портала. Указывается в секундах.
$.metadata.maxopenconns Число Максимальное количество одновременно открытых соединений к базе данных СУБД, где размещена база данных аналитического портала. Не должно быть больше значения max_connections в настройках СУБД PostgreSQL.
$.backend.base_url Строка Пути в URL, используемое для доступа к API аналитического портала.
По умолчанию равно «/v1/api/».
$.form.base_url Строка Путь в URL для доступа к ресурсам Форм Ввода Данных аналитического портала.
По умолчанию равно «/fvd».
$.frontend.base_url Строка Строка, содержащая путь к публикации Аналитического портала относительно домена компании.
По умолчанию равно «/».
Пример 1:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/».
Аналитический портал доступен по адресу www.mysite.com.
Пример 2:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/bi-portal».
Аналитический портал доступен по адресу http://www.mysite.com/bi-portal/.
$.server.debug Строка Строка, содержащая указания к включению или выключению режима отладки.
$.update.path Строка Строка, содержащая путь к файлам обновления.
$.backup.path Строка Строка, содержащая путь к файлам резервных копий.
$.auth.log.to_file Булево Флаг используемый для указания, нужно ли писать в файл лог аутентификации, отдельно от основного лога.
$.auth.log.to_metadata Булево Флаг используемый для указания, нужно ли писать в базу данных Аналитического портала лог аутентификации, отдельно от основного лога.
$.Databases.Vertica.InMemoryResultRowLimit Число Параметр ограничивающий количество строк под которое отводится память на серверах источников данных вида СУБД Vertica, при обращении к ним со стороны Аналитического портала.

Соответствие настроек WEB-клиента и ифайла настроек

Некоторые настройки можно редактировать как в интерфейсе WEB-клиента так и в файле настроек «modusbi.json»:

WEB-клиент Файл настроек
Адрес сервера $.server.host
Порт $.server.port
Адрес сервера данных $.backend.host
Порт сервера данных $.backend.port
Протокол сервера данных $.backend.protocol
Корневой каталог приложения Форм Ввода Данных $.form.base_url
Корневой каталог приложения на сервере $.frontend.base_url
Путь к API данных $.backend.base_url

Примечание: Настройки в файле имеют приоритет перед аналогичными настройками в WEB-клиенте. Если необходимо иметь возможность выполнять некоторые настройки из WEB-клиента, аналогичную настройку из файла необходимо убрать (как значение, так и само свойство).

2 - База данных Аналитического портала

Совокупность объектов, используемых Аналитическим порталом для хранения служебной информации: структуры команд API, настроек, данных о пользователях, дашбордах и т.д.
Объекты, используемые порталом локализованы в рамках одной базы данных, которая используется порталом постоянно для работы и является его неотъемлемой частью.
Перед использованием Аналитического портала, базу данных необходимо создать. О том как сделать базу данных для Аналитического портала будет описано ниже.

В качестве СУБД, для размещения базы данных Аналитическому порталу требуется PostgreSQL (версии не ниже 10).
Всё дальнейшее описание будет вестись из расчета использования именно этой СУБД.
СУБД PostgreSQL предварительно необходимо установить и настроить.

Примечание: за дистрибутивами СУБД PostgreSQL и инструкциями по установке и настройке перейдите на официальный сайт разработчика:

Если СУБД PostgreSQL устанавливается впервые и будет использоваться без дополнительного ПО – пуллеров соединений (PgBouncer, Pgpool-II и т.д.), то для корректной работы с Аналитическим порталом в файле конфигурации PostgreSQL необходимо правильно сконфигурировать следующий параметр:

  • max\_connections — пиковое количество одновременно работающих пользователей (значение рассчитывается в зависимости от мощности сервера, по-умолчанию 100).

Примечание: до версии Аналитического портала 3.0 использовалась встраиваемая СУБД — SQLite.

Инициализация базы данных портала

Для инициализации базы данных Аналитического портала необходимо:

  1. создать пустую базу данных;
  2. указать параметры подключения к базе данных в файле настроек;
  3. выполнить первоначальное заполнение при помощи специальной команды.

Шаг 1. Создание базы данных СУБД

В СУБД необходимо создать базу данных с любой основной схемой (в PostgreSQL по умолчанию — это «public»).
Никаких элементов внутри созданной базы данных дополнительно создавать не требуется.

Примечание: О том, как создать базу данных в СУБД PostgreSQL можно прочесть в официальном руководстве:

Шаг 2. Указание параметров подключения к базе в файле настроек

Для подключения Аналитического портала к базе данных, необходимо в файле настроек Аналитического портала «modusbi.json», в разделе metadata указать параметры подключения к базе данных:

{
  ...
  "metadata": {
    "driver": "postgres",
    "datasource": "postgres://<ПОЛЬЗОВАТЕЛЬ_БД>:<ПАРОЛЬ_БД>@<IP-АДРЕС_PG>:<ПОРТ_PG>/<ИМЯ_БД>?application_name=modusbi&sslmode=disable",
    "maxopenconns": <максимальное количество одновременно открытых соединений>,
    "maxidleconns" : <максимальное количество открытых соединений в пуле>,
    "maxlifetime": <максимальное время жизни соединения в пуле>
  }
  ...
}
  • driver — Строка — Имя драйвера для подключения к серверу СУБД, всегда «postgres»;
  • datasource — Строка — Строка, в которой закодированы параметры подключения к базе данных:
    • <ПОЛЬЗОВАТЕЛЬ_БД> — Строка — Логин пользователя СУБД;
    • <ПАРОЛЬ_БД> — Строка — Пароль пользователя СУБД;
    • <IP-АДРЕС_PG> — Строка — IP-адрес сервера СУБД;
    • <ПОРТ_PG> — Число — Порт используемый сервером СУБД;
    • <ИМЯ_БД> — Строка — Имя базы данных на сервере СУБД, созданной на предыдущем шаге;
  • maxopenconns — Число — Максимальное количество одновременно открытых соединений. Не должно быть больше значения max_connections в настройках СУБД PostgreSQL;
  • maxidleconns — Число — Максимальное количество открытых (ожидающих) соединений в пуле;
  • maxlifetime — Число — Максимальное время жизни соединения в пуле. Указывается в секундах.

Пример: Аналитический портал и СУБД PostgreSQL установлены на одном сервере. Сервер СУБД PostgreSQL «слушает» стандартный порт «5432». Для подключения используется учетная запись пользователя СУБД с логином «admin» и паролем «pass». Имя базы данных для портала — «modusbi». Для описываемого случая, раздел «metadata» файла настроек будет следующим:

{
  ...
  "metadata": {
    "driver": "postgres",
    "datasource": "postgres://admin:pass@localhost:5432/modusbi?application_name=modusbi&sslmode=disable",
    "maxopenconns": 100,
    "maxidleconns" : 20,
    "maxlifetime": 3600
    }
  ...
}

Примечание: Пользователь СУБД, чей логин и пароль указывается в файле настроек портала, должен иметь в подключаемой базе данных права следующих типов: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, USAGE.

Шаг 3. Первоначальное заполнение базы данных

Для первоначального заполнения базы данных необходимо запустить выполнение файла портала в режиме инициализации. Для запуска портала в режиме инициализации используется ключ -init.
Для Windows:

C:\portal>modusbi.exe -init

Для Linux:

/opt/modusbi# ./modusbi -init

Примечание: Пользователь операционной системы, под чьей учетной записи производится запуск приложения портала, должен иметь право на создание, изменение, удаление файлов в каталоге размещения исполняемого файла портала и на запуск исполняемого файла портала.

Если всё настроено верно, в файле лога «modusbi.log» появится соответствующее сообщение:

«Cозданы метаданные в <БД PostgreSQL>, необходимо перезапустить сервер.»

где

  • <БД PostgreSQL> — Имя созданной вами базы данных;
  • сервер — (который необходимо перезапустить) — это сам Аналитический портал, исполняющий роль сервера в клиент-серверной архитектуре.

Запуск с ключом -init выполняется только при первоначальной настройке. Последующие запуски производятся без использования данного ключа.

3 - Сетевые настройки Аналитического портала

В этом разделе отдельно перечислены настройки, используемые для взаимодействия клиента и сервера Аналитического портала.

Сетевые настройки портала устанавливаются в WEB-клиенте аналитического портала или в файле настроек «modusbi.json», находящегося в каталоге исполняемого файла аналитического портала. Настройки в файле редактируются вручную. Изменения сделанные в WEB-клиенте не изменяют файл настроек.
Часть настроек доступных из WEB-клиента дублируется настройками из файла. Настройки из файла имеют более высокий приоритет, список смежных настроек приведён ниже.
Если есть необходимость настраивать смежные настройки из WEB-клиента, настройку из файла необходимо убрать (как значение, так и само свойство).

Структура URL

После загрузки клиентской части Аналитического портала в память браузера по первоначальной ссылке, клиент отправляет запросы на сервер, генерируя URL на основании настроек:

  • «Протокол»:
    • «Протокол сервера данных»;
  • «Доменная часть»:
    • «Адрес сервера данных»;
    • «Порт сервера данных»;
  • «Путь на сервере»:
    • «Корневой каталог приложения на сервере» — имя службы, если доменное имя маскирует несколько служб или «/» если доменное имя представляет только Аналитический портал;
    • «Путь к API данных» — путь относительно корневого каталога, где опубликован API сервера портала, по умолчанию «/v1/api/»;
      • «Корневой каталог приложения Форм Ввода Данных» — путь к подразделу форм ввода данных относительно пути к API. По умолчанию «/fvd».

Настройки из WEB-клиента

Пункт настройки Описание
Адрес сервера Строка, содержащая сетевой адрес, по которому сервер(Backend) будет принимать клиентские подключения.
Запись 0.0.0.0 позволяет задействовать все адреса IPv4.
По умолчанию равно «localhost»
Порт Строка, содержащая TCP-порт, открываемый сервером(Backend) Аналитического портала.
По умолчанию равно «5000».
Корневой каталог приложения на сервере Строка, содержащая путь к публикации Аналитического портала относительно домена компании.
По умолчанию равно «/».
Пример 1:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/».
Аналитический портал доступен по адресу http://www.mysite.com/.
Пример 2:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/bi-portal».
Аналитический портал доступен по адресу http://www.mysite.com/bi-portal/
Протокол сервера данных Строка, содержащая наименование протокола, который будет использовать Аналитический портал.
По умолчанию равно «HTTP».
Допустимые значения: «HTTP», «HTTPS».
Адрес сервера данных Строка, содержащая сетевой адрес для обращений клиентского приложения (Frontend) к серверу (Backend) Аналитического портала
Порт сервера данных Строка, содержащая порт, по которому будут выполняться обращения клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
По умолчанию равно «5000».
Путь к API данных Пути в URL, используемое для доступа к API аналитического портала.
По умолчанию равно «/v1/api/».
Корневой каталог приложения
Форм Ввода Данных
Путь в URL для доступа к ресурсам Форм Ввода Данных аналитического портала.
По умолчанию равно «/fvd».
Ключ SSL Настройка позволяющая выбрать файл закрытого ключа для TLS.
Используется только при значении настройки «protocol» равной «HTTPS».
Сертификат SSL Настройка позволяющая выбрать файл сертификата для TLS.
Используется только при значении настройки «protocol» равной «HTTPS».

Файл настроек modusbi.json

Файл настроек «modusbi.json» находится в каталоге размещения исполняемого файла аналитического портала.

{
	"metadata": {
    ...
	"server": {
		"host": "192.168.0.1",
		"port": 3000,
		"debug": "enabled"
	},
	"backend": {
		"protocol": "http",
		"host": "192.168.0.1",
		"port": 3000,
		"base_url": "/v1/api/"
	},
	"frontend": {
		"base_url": "/"
	},
	"form": {
		"base_url": "/fvd"
	},
	...
}	

, где

Настройка Тип json Описание
$.server.host Строка Сетевой адрес, по которому сервер(Backend) будет принимать клиентские подключения.
Запись 0.0.0.0 позволяет задействовать все адреса IPv4.
По умолчанию равно «localhost».
$.server.port Число TCP-порт, открываемый сервером(Backend) Аналитического портала.
По умолчанию равно «5000».
$.backend.host Строка Сетевой адрес для обращений клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
$.backend.port Число Порт, по которому будут выполняться обращения клиентского приложения (Frontend) к серверу (Backend) Аналитического портала.
По умолчанию равно «5000».
$.backend.protocol Строка Наименование протокола, который будет использовать Аналитический портал.
По умолчанию равно «http».
Допустимые значения: «http», «https».
$.backend.base_url Строка Пути в URL, используемое для доступа к API аналитического портала.
По умолчанию равно «/v1/api/».
$.form.base_url Строка Путь в URL для доступа к ресурсам Форм Ввода Данных аналитического портала.
По умолчанию равно «/fvd».
$.frontend.base_url Строка Строка, содержащая путь к публикации Аналитического портала относительно домена компании.
По умолчанию равно «/».
Пример 1:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/».
Аналитический портал доступен по адресу http://www.mysite.com.
Пример 2:
Доменное имя, используемое для сайтов компании в www.mysite.com.
Значение параметра равно «/bi-portal».
Аналитический портал доступен по адресу http://www.mysite.com/bi-portal/

Соответствие сетевых настроек WEB-клиента и файла настроек

Некоторые настройки можно редактировать как в интерфейсе WEB-клиента так и в файле настроек modusbi.json:

WEB-клиент Файл настроек
Адрес сервера $.server.host
Порт $.server.port
Адрес сервера данных $.backend.host
Порт сервера данных $.backend.port
Протокол сервера данных $.backend.protocol
Корневой каталог приложения Форм Ввода Данных $.form.base_url
Корневой каталог приложения на сервере $.frontend.base_url
Путь к API данных $.backend.base_url

Примечание: Настройки в файле имеют приоритет перед аналогичными настройками в WEB-клиенте. Если необходимо иметь возможность выполнять некоторые настройки из WEB-клиента, аналогичную настройку из файла необходимо убрать (как значение, так и само свойство).

4 - Как настроить https

Использование протокола https для связи клиента и сервера можно организовать как сторонними средствами (например, при помощи прокси сервер), так и средствами Аналитического портала.
В данной статье описывается как включить использование https протокола средствами Аналитического портала.

Для включения HTTPS протокола вам понадобится файл сертификата и файл закрытого ключа, оба в формате PEM. Данные файлы необходимо загрузить в настройки Аналитического портала.

Примечание: Более подробная информация о используемых форматах и стандартах находится в разделе “TLS: стандарты, ключи, шифры”

Далее описан процесс настройкй по шагам.

Шаг 1: Загрузка файлов

Используя WEB-клиент, перейдите в меню «Администрирование» и выберите раздел «Настройки портала»:

В этом разделе вам нужно поочерёдно загрузить файлы сертификата и закрытого ключа:

  • «Ключ SSL» — настройка для загрузки закрытого ключа
  • «Сертификат SSL» — настройка для загрузки сертификата

Для загрузки файла нажмите на кнопку с надписью «Выберите файл».
Файл будет загружен, а вместо кнопки выбора появится кнопка очистки:

Если вы хотите заменить ранее загруженный файл, нужно нажать на кнопку с надписью «Очистить». Кнопка очистки исчезнет, а на её месте вновь появится кнопка выбора.

Примечание: Загрузка и очистка производят изменения локально, в памяти WEB-Клиента. То есть, файл сначала загружается в память WEB-клиента, а после сохранения настроек (кнопка «Сохранить настройки») файл из памяти клиента попадает в базу данных Аналитического портала. При очистке, клиент запоминает факт очистки, и при записи файл удаляется из базы данных Аналитического портала.

Шаг 2: Выбор протокола

В том же разделе «Настройки портала», выберете протокол HTTPS в качестве значения для настройки «Протокол сервера данных».

Аналогично, выбор протокола можно произвести, указав его в файле настроек modusbi.json:

{
  ...
  "backend": {
    "protocol": "https",
  ...
  },
  ...
}

Примечание:

  1. Настройка «Протокол сервера данных», находящаяся в файле, имеет приоритет перед аналогичной настройкой в WEB-клиенте. Если есть необходимость иметь возможность настраивать протокол из WEB-клиента, настройку из файла необходимо убрать (как значение, так и само свойство protocol).

  2. Параметры «Ключ SSL» и «Сертификат SSL» настраиваются только из WEB-клиента.

Шаг 3: Сохранить настройки

После того как файлы загружены и выбран протокол, необходимо сохранить сделанные изменения в настройках.
Для сохранения изменений, сделанных в WEB-клиенте, в том же разделе «Настройки портала» нажмите на кнопку «Сохранить настройки».

Шаг 4: Перезагрузить сервер Аналитического портала

Для применения сохраненных изменений настроек сервер Аналитического портала нужно перезагрузить.
Для перезагрузки сервера с новыми настройками можно воспользоваться кнопкой «Перезагрузка», в том же разделе «Настройки портала».

После перезагрузки, если всё было настроено верно, сервер портала будет использовать https-протокол для связи с WEB-клиентом.

Примечание:

  1. В текущей реализации сервера, валидация загруженных файлов сертификата и ключа на предмет их соответствия техническим требованиям происходит только при запуске сервера Аналитического портала. Если при запуске файлы не пройдут проверку, то сервер запустится с поддержкой http-протокола, о чём в файле лога будет сделана отметка. Там же, в файле лога будет указана причина несоответствия файлов нужным требованиям.

  2. В текущей реализации сервера, проверка файлов на предмет соответствия параметрам производится при условии правильного определения mime типа файлов сертификата и ключа со стороны браузера WEB-клиента. Если сервер не переходит в режим использования https-протокола, а в файле лога присутствует сообщение о ошибке декодирования файла сертификата или ключа, обратитесь в техническую поддержку.

5 - Технические сведения о используемых стандартах для HTTPS

Транспорт

В качестве транспортного механизма для HTTPS Аналитический портал использует TLS.
Поддерживаемые версии TLS: 1.0, 1.1, 1.2 (RFC 5246), 1.3 (RFC 8446).

Файлы

  • Файл сертификата:

    • Должен быть в формате Privacy Enhanced Mail (PEM);
    • PEM должен быть контейнером для ASN.1 DER.
  • Файл закрытого ключа:

    • Должен быть в формате Privacy Enhanced Mail (PEM);
    • PEM должен быть контейнером для ASN.1 DER;
    • Поддерживаются PKCS#1 и PKCS#8.

Допустимые комбинации стандартов для файла закрытого ключа:

  • PEM » ASN.1 DER » PKCS#1 » RSA;
  • PEM » ASN.1 DER » PKCS#8 » RSA;
  • PEM » ASN.1 DER » PKCS#8 » ECDSA;
  • PEM » ASN.1 DER » PKCS#8 » ED25519;
  • PEM » ASN.1 DER » ED25519.

Сертификат

Формат сертификата определён стандартом X.509. Данный тип сертификата в обиходе имеет второе, не техническое наименование — сертификат SSL. Поддерживаются версии до X.509v3 включительно. Актуальной на момент написания инструкции является версия X.509v3.

Ключевая пара

Поддерживаются следующие типы ключей:

  • RSA – PKCS#1v2, RFC8017 — без ограничения на размер ключа. Максимальное значение открытой экспоненты (2^31)-1;
  • ECDSA – FIPS186-4, SEC1v2 — поддерживаются именованные кривые: secp224r1, secp256r1, prime256v1, secp384r1, secp521r1;
  • ED25519 – RFC8032 — только для TLS 1.3.

Защита передаваемых данных

Поддерживаемые типовые шифронаборы для TLS 1.0–1.2:

  • TLS_ECDHE_RSA_WITH_RC4_128_SHA;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA;
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA;
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_256_CBC_SHA;
  • TLS_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_128_CBC_SHA;
  • TLS_RSA_WITH_RC4_128_SHA;
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA;
  • TLS_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_RSA_WITH_AES_128_GCM_SHA256.

Поддерживаемые типовые шифронаборы для TLS только 1.2:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256;
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256;
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305;
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384;
  • TLS_RSA_WITH_AES_128_GCM_SHA256;
  • TLS_RSA_WITH_AES_128_CBC_SHA256;
  • TLS_RSA_WITH_AES_256_GCM_SHA384.

Общий шаблон имени набора для TLS 1.0–1.2:

TLS_<**Алгоритм аутентификации**>_WITH_<**Шифр данных**>_<**Хеш-функция**>

, где

  • «Алгоритм аутентификации» — криптосистема, используемая для аутентификации (аутентифицируются сервер и сеансовый секрет);
  • «Шифр данных» — симметричный алгоритм, который послужит для защиты передаваемых данных;
  • «Хеш-функция» — хеш-функция, являющаяся основой для HMAC.

Поддерживаемые типовые шифронаборы для TLS только 1.3:

  • TLS_AES_128_GCM_SHA256;
  • TLS_CHACHA20_POLY1305_SHA256;
  • TLS_AES_256_GCM_SHA384.

Общий шаблон имени набора для TLS 1.3:

TLS_<**Шифр данных**>_<**Хеш-функция**>

, где

  • «Шифр данных» — симметричный алгоритм, который послужит для защиты передаваемых данных;
  • «Хеш-функция» — хеш-функция, являющаяся основой для HMAC.

Примечание: Списки поддерживаемых версий TLS и типовых шифронаборов используются в указанном составе. Однако есть техническая возможность доработать продукт в части добавления возможности выбора минимальной и максимальной версии протокола TLS и ручного комплектования списков шифронаборов из числа перечисленных. Подобная доработка может быть произведена при согласовании с заказчиком.

6 - Как настроить https с прокси-сервером

Альтернативным вариантом настройки протокола HTTPS для связи клиента и сервера является использование прокси- сервера, как промежуточного звена между клиентом и сервером Аналитического портала. При этом сервер аналитического портала должен иметь соответствующие настройки.

Настройки сервера Аналитического портала

Сервер Аналитического портала сообщает клиенту аналитического портала информацию нужную для построения URL к API сервера, с указанием типа используемого протокола. При использовании HTTPS протокола, настроенного на прокси-сервере, связь прокси-сервера с Аналитическим порталом имеет смысл вести с использованием протокола HTTP, для снижения нагрузки. Нагрузка при этом ложится на прокси-сервер.

Если в настройках сервера выбрать в качестве протокола HTTPS, но файлы сертификата и закрытого ключа не загружать, то сервер будет использовать HTTP протокол, а параметры для построения URL клиенту будет сообщать нужные для построения HTTPS запросов.

WEB-клиент Файл настроек «modusbi.json» Значение настройки
Протокол сервера данных $.backend.protocol https
Ключ SSL - Файл не выбран
Сертификат SSL - Файл не выбран

Примечания:

  1. Настройка «Протокол сервера данных» находящаяся в файле имеет приоритет перед аналогичной настройкой в WEB-клиенте. Если есть необходимость иметь возможность настраивать протокол из WEB-клиента, настройку из файла необходимо убрать (как значение, так и само свойство protocol).
  2. Параметры «Ключ SSL» и «Сертификат SSL» настраиваются только из WEB-клиента.

Настройки прокси-сервера

Настройка прокси-сервера будет показана на примере Ngnix.

Nginx

Операционная система: Debian GNU/Linux 12 (bookworm).

Способ установки: из репозитория дистрибутива.

Шаг 1. Обновление информации и установка Ngnix

Обновляем информацию о репозитории и устанавливаем пакет Ngnix:

apt-get update  
apt-get install nginx

Шаг 2. Перенос файлов в каталоги

Помещаем сертификат и ключ в каталоги:

cp ./ssl-cert.pem /etc/ssl/certs/
cp ./ssl-cert.key /etc/ssl/private/

Шаг 3. Создание файла конфигурации

Создаем файл конфигурации SSL nginx:

nano /etc/nginx/snippets/ssl.conf

Добавляем строки о сертификате и ключе в созданный файл:

ssl_certificate /etc/ssl/certs/ssl-cert.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert.key;

Сохраняем изменения.

Шаг 4. Настройка файла nginx

Настраиваем Ngnix. Удаляем link дефолтного файла конфигурации:

rm /etc/nginx/sites-enabled/*

Создаём новый файл конфигурации:

nano /etc/nginx/sites-available/new_site

Добавляем в файл строки:

server {
 	listen 443 ssl;
	server_name  new_site;
	include snippets/ssl.conf;

	location / {
		proxy_pass http://127.0.0.1:3000;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

		client_max_body_size 200M;
		proxy_max_temp_file_size 0;
		proxy_buffering off;
	}
}

, где

  • http://127.0.0.1:3000 — адрес сервера и порта на котором запущена служба Аналитического портала.
  • new_site — адрес сайта.

Сохраняем и выходим.

Создаем link на созданный нами файл конфигурации:

ln -s /etc/nginx/sites-available/new_site /etc/nginx/sites-enabled/new_site

Шаг 5. Настройка внешнего адреса в файле «modusbi.json»

Необходимо настроить параметры подключения к серверу Backend в файле «modusbi.json». К указанному адресу будут обращаться клиентские соединения из браузера при работе с аналитическим порталом. В общем случае обращение должно выполняться к устройству, на котором запущен аналитический портал.

Примечание: По умолчанию сервер обращается к локальному хосту 127.0.0.1 на порт 3000. Для работы с других устройств необходимо указать значения и параметры подключения к внутреннему или внешнему адресу сервера, с указанием протокола, по которому будет проходить соединение.

Добавляем в файл «modusbi.json» строки:

{
...
  "backend": {
    "protocol": "https",
    "host": "new_site",
    "port": 443,
    "base_url": "/v1/api/"
  }
...
}

, где

  • new_site — адрес сайта.

Шаг 6. Перезагрузка

Перезапускаем службу Nginx:

systemctl reload nginx.service

Настройка завершена.