Нередко системные администраторы сталкиваются с ситуацией: в организации развернута файловая информационная база, на рабочих станциях успешно активированы программные лицензии (однопользовательские пин-коды), и обычный запуск через толстый или тонкий клиент работает штатно. Однако при попытке опубликовать базу на веб-сервере (IIS или Apache) и зайти через браузер пользователи получают ошибку: «Не обнаружена лицензия. Не найден ключ защиты». При этом на самом компьютере с веб-сервером может быть активирована одна лицензия, но войти все равно не удается.
Проанализируем архитектуру лицензирования платформы 1С при работе через браузер, выясним причины проблемы и пошагово разберем практические способы настройки.
Рассмотрим, как распределяются лицензии в различных сценариях. Веб-клиент (браузер Google Chrome, Яндекс.Браузер, Microsoft Edge и т.д.) по соображениям безопасности операционной системы не имеет доступа к аппаратному обеспечению компьютера и не может сканировать локальные программные файлы лицензий (*.lic) или USB-ключи защиты.
В файловом режиме при подключении через браузер подсчетом и предоставлением лицензий занимается исключительно модуль расширения веб-сервера. Из этого следуют фундаментальные правила:
Разберем типичную проблему: на сервере активирован однопользовательский пин-код, но веб-клиент все равно выдает сообщение об отсутствии лицензий. Выясним две ключевые технические причины такого поведения.
Причина 1: Захват лицензии фоновым заданием
По умолчанию при публикации информационной базы на веб-сервере включена опция исполнения регламентных заданий. Как только веб-сервер запускает пул приложений, файловая база инициализирует фоновый системный сеанс для обработки расписания заданий. Этот фоновый поток мгновенно «съедает» единственную свободную лицензию. В результате для пользовательской сессии в браузере лицензий не остается.
Причина 2: Неправильный каталог активации лицензии
Службы веб-сервера (например, пул IIS под пользователем IUSR / IIS_IUSRS или демон Apache под SYSTEM/daemon) работают в изолированном контексте. Если при активации пин-кода был выбран пункт «Текущему пользователю», файл *.lic сохраняется в каталоге конкретного пользователя (%LOCALAPPDATA%\1C\1Cv8\...). Служба веб-сервера просто не имеет прав доступа к этой папке и считает, что лицензии отсутствуют.
Разберем по шагам, как исправить конфигурацию веб-сервера и правильно распределить лицензии.
Шаг 1. Отключение регламентных заданий на веб-сервере
Чтобы системные процессы не блокировали пользовательские лицензии при их дефиците, отключим фоновые задания в настройках публикации:
Администрирование — Публикация на веб-сервере....default.vrd, найдем и изменим соответствующий параметр:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/base_name"
ib="File="C:\Bases\MyBase";"
allowExecuteScheduledJobs="false">
</point>
Шаг 2. Корректная активация лицензий на компьютере веб-сервера
Все лицензии, предназначенные для работы через браузер, должны быть привязаны непосредственно к компьютеру с веб-сервером:
C:\ProgramData\1C\licenses), к которому службы IIS и Apache гарантированно имеют доступ на чтение.Проанализируем альтернативный путь, если переносить лицензии на сервер невозможно или нежелательно. Если пользователям не принципиально использовать веб-браузер, но требуется подключаться через интернет или маршрутизируемую сеть, идеальным решением станет Тонкий клиент 1С:
http://имя_сервера/имя_базы.