- disable (true|false) - с помощью этой настройки можно отключить web сервер, например для распределения нагрузки между несколькими экземплярами ALEPIZ. По умолчанию false.
- httpPort или port - TCP порт для работы HTTP сервера. По умолчанию 80
- httpsPort - TCP порт для работы HTTPS сервера. По умолчанию 443. Порт может быть задан переменными окружения app_port или PORT. Переменные окружения Имеют приоритет перед настройкой.
- childrenNumber - количество потоков, которые будут формировать список объектов и действий в зависимости от прав пользователей, настроек действий и установленных фильтров объектов. По умолчанию 20.
- downloadWebServerMaxSize - Максимальный объем данных, который можно получить с Веб-сервера. К параметру можно добавлять единицы измерения (Kb, Mb, Gb). По умолчанию "100gb".
- sessionMaxAgeInDays - время жизни сессии для пользователя в днях, после которого пользователю будет предложено повторно ввести свои учетные данные. По умолчанию 7.
- parameterLimit - максимальное число параметров, которое можно передать серверу при выполнении HTTP запроса. По умолчанию 100000,
- privatePath - каталог с SSL ключами для сервера HTTPS и файлом для шифрования cookies. По умолчанию private. Если не существует, будет создан при старте сервиса
- webSecretFile файл JSON, содержащий ключ для шифрования cookies в формате {"cookieSecret":"<ключ>"}. По умолчанию webSecret.json. Файл находится в каталоге, установленном в настройке privatePath. Если при старте сервиса файл отсутствует, он будет создан автоматически.
- httpsKeyFile - SSL ключ для шифрования пользовательских подключений к HTTPS серверу. По умолчанию key.pem. Файл находится в каталоге, установленном в настройке privatePath.
- httpsCertFile - SSL сертификат для шифрования пользовательских подключений к HTTPS серверу. По умолчанию cert.pem. Файл находится в каталоге, установленном в настройке privatePath.
- sessionDB - относительный путь и файл базы банных SQLite, в которой хранятся пользовательские сессии. По умолчанию db/session.db. Расширение .db обязательно.
- sessionTableName - имя таблицы в базе данных sessionDB, в которой хранятся пользовательские сессии. По умолчанию session.
- cacheExpirationTime - время в мс сохранения в кэша списка объектов, прав на действия, конфигураций действий и других данных, требуемых для отрисовки системного меню с объектами и действиями. По умолчанию 60000
- downloadFileRestrictions - настройка разрешений для скачивания файлов действиями. Для скачивания файла в действии необходимо создать HTTP запрос GET /downloadFile/?filename=<полный путь до файла> Содержит массив объектов с разрешениями:
- description - описание
- regExp - регулярное выражение, с которым будет сравниваться имя файла для скачивания. Если имя файла соответствует регулярному выражению, проверка на имя файла будет пройдена
- roles - массив с перечнем ролей пользователей, которым можно скачивать файл
- maxSize - максимальный размер файла, который можно скачивать. Можно указывать суффиксы Kb, Mb, Gb, Tb. Если не указано, используется глобальная настройка downloadWebServerMaxSize. Если и она не указана, то используется размер в 1Gb
- fileNameRoles - массив с правилами по которым формируется имя файла для сохранения. Правила в порядке следования в массиве применяются к исходному имени файла. Для изменения имени файла используется функция JavaScript replace(<src>, <dest>). Поиск производится с флагами "ig".
- src - регулярное выражение с описанием, что нужно заменить в имени файла
- dest - выражение с описанием на что нужно заменить имя файла.
Пример функции для скачивания файла
Функция должны вызываться по какому-то событию в web интерфейсе. Например, при нажатии на кнопку "Скачать"
function downloadFile (fileName) { let hiddenIFrameID = 'hiddenDownloader', iframe = document.getElementById(hiddenIFrameID); if (iframe === null) { iframe = document.createElement('iframe'); iframe.id = hiddenIFrameID; iframe.style.display = 'none'; document.body.appendChild(iframe); } iframe.src = '/downloadFile/?filename=' + encodeURIComponent(fileName); }