Как правильно настроить лицензирование веб-клиента 1С без сервера 1С:Предприятия?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Нередко системные администраторы сталкиваются с ситуацией: в организации развернута файловая информационная база, на рабочих станциях успешно активированы программные лицензии (однопользовательские пин-коды), и обычный запуск через толстый или тонкий клиент работает штатно. Однако при попытке опубликовать базу на веб-сервере (IIS или Apache) и зайти через браузер пользователи получают ошибку: «Не обнаружена лицензия. Не найден ключ защиты». При этом на самом компьютере с веб-сервером может быть активирована одна лицензия, но войти все равно не удается.

Проанализируем архитектуру лицензирования платформы 1С при работе через браузер, выясним причины проблемы и пошагово разберем практические способы настройки.

Принцип работы лицензий в связке «веб-клиент — файловая база»

Рассмотрим, как распределяются лицензии в различных сценариях. Веб-клиент (браузер Google Chrome, Яндекс.Браузер, Microsoft Edge и т.д.) по соображениям безопасности операционной системы не имеет доступа к аппаратному обеспечению компьютера и не может сканировать локальные программные файлы лицензий (*.lic) или USB-ключи защиты.

В файловом режиме при подключении через браузер подсчетом и предоставлением лицензий занимается исключительно модуль расширения веб-сервера. Из этого следуют фундаментальные правила:

  1. Модуль расширения берет лицензии только там, где он физически запущен — то есть непосредственно на компьютере или сервере с веб-сервером. Лицензии, разбросанные по локальным дискам рабочих станций пользователей сети, веб-клиенту недоступны.
  2. Лицензии расходуются по принципу «один сеанс — одна лицензия». Если один и тот же сотрудник откроет две разные вкладки браузера с одной информационной базой, веб-сервер спишет две лицензии.
  3. Однопользовательские программные лицензии можно складывать на самом веб-сервере. Если последовательно активировать несколько однопользовательских пин-кодов на машине веб-сервера, модуль расширения объединит их и будет выдавать входящим веб-пользователям.

Почему веб-клиент не запускается даже при одной активированной лицензии на сервере?

Разберем типичную проблему: на сервере активирован однопользовательский пин-код, но веб-клиент все равно выдает сообщение об отсутствии лицензий. Выясним две ключевые технические причины такого поведения.

Причина 1: Захват лицензии фоновым заданием

По умолчанию при публикации информационной базы на веб-сервере включена опция исполнения регламентных заданий. Как только веб-сервер запускает пул приложений, файловая база инициализирует фоновый системный сеанс для обработки расписания заданий. Этот фоновый поток мгновенно «съедает» единственную свободную лицензию. В результате для пользовательской сессии в браузере лицензий не остается.

Причина 2: Неправильный каталог активации лицензии

Службы веб-сервера (например, пул IIS под пользователем IUSR / IIS_IUSRS или демон Apache под SYSTEM/daemon) работают в изолированном контексте. Если при активации пин-кода был выбран пункт «Текущему пользователю», файл *.lic сохраняется в каталоге конкретного пользователя (%LOCALAPPDATA%\1C\1Cv8\...). Служба веб-сервера просто не имеет прав доступа к этой папке и считает, что лицензии отсутствуют.

Пошаговое решение проблемы

Разберем по шагам, как исправить конфигурацию веб-сервера и правильно распределить лицензии.

Шаг 1. Отключение регламентных заданий на веб-сервере

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

  1. Откроем Конфигуратор информационной базы от имени администратора.
  2. Перейдем в меню Администрирование — Публикация на веб-сервере....
  3. Снимем флажок «Исполнять регламентные задания» и нажмем «Опубликовать».
  4. Если правка выполняется вручную в конфигурационном файле публикации default.vrd, найдем и изменим соответствующий параметр:
    
    <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
           base="/base_name"
           ib="File=&quot;C:\Bases\MyBase&quot;;"
           allowExecuteScheduledJobs="false">
    </point>
    
  5. Перезапустим службу веб-сервера, чтобы изменения вступили в силу.

Шаг 2. Корректная активация лицензий на компьютере веб-сервера

Все лицензии, предназначенные для работы через браузер, должны быть привязаны непосредственно к компьютеру с веб-сервером:

  1. Запустим Конфигуратор на машине веб-сервера от имени администратора Windows.
  2. При мастере получения лицензии обязательно выберем пункт «Всем пользователям данного компьютера». В этом случае файл лицензии запишется в общедоступный системный каталог (например, C:\ProgramData\1C\licenses), к которому службы IIS и Apache гарантированно имеют доступ на чтение.
  3. Если требуется пустить 5 или 7 пользователей одновременно через браузер, на веб-сервере необходимо последовательно активировать 5 или 7 свободных пин-кодов из имеющихся комплектов (перенеся их с рабочих мест с помощью резервных пин-кодов). Модуль веб-сервера суммирует эти файлы.

Альтернативный вариант: подключение Тонкого клиента по HTTP без переноса лицензий

Проанализируем альтернативный путь, если переносить лицензии на сервер невозможно или нежелательно. Если пользователям не принципиально использовать веб-браузер, но требуется подключаться через интернет или маршрутизируемую сеть, идеальным решением станет Тонкий клиент 1С:

  1. Оставляем однопользовательские лицензии активированными на рабочих местах сотрудников.
  2. В окне запуска 1С на рабочей станции добавляем базу с типом подключения «Веб-сервер» и указываем строку вида: http://имя_сервера/имя_базы.
  3. При запуске тонкий клиент 1С способен самостоятельно найти и захватить лицензию, находящуюся на локальном ПК пользователя. Веб-сервер в такой схеме занимается лишь передачей данных и не расходует серверные лицензии.
← На главную