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

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

При публикации информационных баз 1С на веб-серверах (Apache или IIS) системные администраторы часто сталкиваются с ситуацией, когда веб-клиент не может обнаружить клиентские лицензии, либо их включение на стороне сервера приводит к лавинообразному перерасходу доступных рабочих мест. В типовой терминальной инфраструктуре один пользователь может работать одновременно с несколькими базами данных, занимая всего одну физическую лицензию на устройство. Однако при переходе на веб-клиент или включении раздачи лицензий сервером каждое новое окно или вкладка начинают списывать отдельную лицензию.

В этой статье мы подробно разберем архитектуру лицензирования платформы 1С:Предприятие 8.3, выясним, почему веб-браузер технически не способен искать аппаратные ключи самостоятельно, и найдем оптимальные варианты конфигурации для терминального доступа, тонкого клиента и бесшовной интеграции с 1С:Документооборот.

---

1. Архитектура лицензирования: почему веб-клиент не ищет лицензии сам

Разберем базовый принцип взаимодействия клиентских приложений с системой лицензирования. В экосистеме 1С существует принципиальная разница между классическими клиентами (толстый и тонкий) и веб-клиентом (интернет-браузером):

  1. Толстый и тонкий клиенты: Представляют собой исполняемые бинарные файлы платформы, установленные на конечном рабочем месте пользователя или терминальном сервере. У них есть прямой доступ к сетевым сокетам операционной системы, широковещательным запросам (broadcast) и файлам конфигурации. Они умеют обращаться к службе HASP License Manager по протоколу TCP/UDP через порт 475 или проверять локальные программные файлы лицензий (.lic).
  2. Веб-клиент (браузер Google Chrome, Яндекс.Браузер, Mozilla Firefox и др.): Браузер изолирован в «песочнице» операционной системы. Веб-страница не имеет доступа к портам локальной сети, драйверам USB и низкоуровневым системным вызовам. Поэтому веб-клиент в принципе не может отправить запрос на менеджер лицензий NetHASP или прочитать файл лицензии с диска клиента.

В случае с веб-клиентом фактическим клиентом для платформы является модуль расширения веб-сервера (wsap24.dll, wsap22.dll или wsisapi.dll). Именно веб-сервер или кластер серверов 1С запрашивает лицензию от имени пользователя. При этом действуют строгие правила выдачи:

Любая лицензия, выдаваемая сервером 1С или веб-сервером, всегда является лицензией на сеанс (per-session). Это означает, что если один и тот же сотрудник откроет 4 вкладки в браузере или подключится к 4 базам через веб-сервер, кластер спишет ровно 4 лицензии из общего пула.

---

2. Разница между схемами «на устройство» (per-host) и «на сеанс» (per-session)

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

  1. Лицензирование рабочего места (per-host / per-device):

    Лицензию получает клиентское приложение на локальном ПК или в терминальной RDP-сессии напрямую через службу HASP LM. Менеджер лицензий фиксирует связку сетевого имени компьютера и IP-адреса (а в среде Remote Desktop Services — уникальный ID сеанса терминала). Пользователь может запустить 10 конфигураций 1С одновременно, но менеджер выделит ему ровно 1 аппаратную лицензию на весь сеанс ОС.

  2. Лицензирование сеанса (per-session / per-connection):

    Лицензированием управляет рабочий процесс rphost сервера 1С или модуль веб-сервера. В свойствах информационной базы в консоли администрирования кластера включен параметр Разрешить выдачу лицензий сервером 1С:Предприятия = Да. Сервер забирает лицензии у аппаратного ключа или многопользовательской программной лицензии и прикрепляет по одной лицензии к каждому входящему соединению. В этом режиме 1 пользователь с 5 открытыми базами забирает 5 лицензий.

Если в организации используется много баз (например, 20–40 учетных баз для группы компаний), использование схемы «на сеанс» моментально приводит к блокировке работы из-за исчерпания пула доступных лицензий.

---

3. Тонкий клиент через веб-сервер как альтернатива браузеру

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

  1. Через браузер (веб-клиент): Лицензия выдается строго сервером на каждое соединение.
  2. Через тонкий клиент по протоколу HTTP/HTTPS: Платформа 1С запускается локально на ПК или терминале, но в качестве адреса информационной базы указывается URL-ссылка на публикацию веб-сервера (например, http://web-server/Base_Buh/).

При использовании тонкого клиента через веб-сервер платформа сначала пытается найти лицензию локально на рабочем месте (через HASP LM или программную лицензию). Если локальная лицензия найдена, тонкий клиент передает на веб-сервер специальный маркер валидности, и сервер 1С не тратит свою серверную лицензию на это подключение.

Чтобы заставить тонкий клиент искать лицензию самостоятельно, выполним следующие шаги:

  1. В окне запуска 1С выделим опубликованную базу и нажмем кнопку Изменить.
  2. В поле параметров запуска или в свойствах подключения убедимся, что включен поиск локального ключа защиты (параметр Использовать аппаратный ключ защиты (HASP)).
  3. В свойствах информационной базы в консоли кластера 1С отключим флаг Разрешить выдачу лицензий сервером 1С:Предприятия (установим значение Нет).

---

4. Настройка HASP License Manager и nethasp.ini для терминального сервера

Если в локальной сети установлено несколько физических USB-ключей NetHASP на разных серверах, клиенты на терминальном сервере могут работать нестабильно из-за широковещательных запросов (Broadcast). По умолчанию 1С опрашивает сеть широковещательными пакетами и фиксирует только первый ответивший ключ. Когда на нем заканчиваются лицензии, платформа выдает ошибку Не найдена клиентская лицензия, игнорируя остальные доступные ключи в сети.

Разберем по шагам, как правильно настроить конфигурационный файл nethasp.ini на терминальном сервере:

  1. Перейдем в каталог конфигурации платформы 1С на терминальном сервере (обычно это C:\Program Files\1cv8\conf\ или C:\Program Files (x86)\1cv8\conf\, либо папка bin соответствующего релиза).
  2. Откроем или создадим файл nethasp.ini в текстовом редакторе от имени Администратора.
  3. Отключим широковещательный поиск и неиспользуемые сетевые протоколы, явно перечислив IP-адреса всех хостов, где физически установлены USB-ключи и запущены службы HASP License Manager:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
; Явно перечисляем IP-адреса всех серверов с HASP LM через запятую
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11, 192.168.1.12
; Отключаем широковещательную рассылку
NH_USE_BROADCAST = Disabled
; Задаем таймауты подключения в секундах
NH_SESSION = 5
NH_SEND_RCV = 2
; Порт по умолчанию для NetHASP License Manager
NH_PORT_NUMBER = 475

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

---

5. Особенности бесшовной интеграции с «1С:Документооборот»

Нередко публикация базы на веб-сервере требуется исключительно для интеграции с конфигурацией 1С:Документооборот. Рассмотрим принципы работы этого механизма:

  1. Веб-сервисы вместо веб-клиента: Для бесшовной интеграции веб-клиент не используется. Интеграция работает через вызовы веб-сервисов (SOAP/HTTP). Пользователь работает в привычном интерфейсе учетной системы (например, 1C:Бухгалтерия или 1С:ERP), а данные из 1С:Документооборот подтягиваются в фоновом режиме через веб-сервисы опубликованной базы.
  2. Версии конфигураций (ПРОФ vs КОРП): Бесшовная интеграция на уровне типовых механизмов (Библиотека интеграции с 1С:Документооборот — БИД) поддерживается только в версиях КОРП (например, Бухгалтерия предприятия КОРП). В версиях ПРОФ штатная бесшовная интеграция отсутствует: для ее работы требуется либо апгрейд конфигурации до уровня КОРП, либо внедрение модуля интеграции через специализированное расширение.
  3. Потребление лицензий веб-сервисами: Вызовы веб-сервисов создают фоновые сеансы. Для их авторизации на стороне сервера 1С:Документооборот требуется лицензия. Чтобы не включать общую раздачу лицензий сервером на всех базах, администратор может применить Требования назначения функциональности в консоли кластера 1С, разрешив сервис лицензирования только для конкретной базы 1С:Документооборот или выделив под веб-сервисы отдельный пул лицензий.

---

Сводная таблица вариантов лицензирования

Тип клиента / подключение Кто ищет лицензию Тип учета лицензий Расход при 5 открытых базах
Веб-клиент (Браузер) Веб-сервер / Сервер 1С На каждый сеанс (per-session) 5 лицензий
Тонкий клиент через веб (HTTP) Тонкий клиент (локально / HASP LM) На рабочее место (per-host) 1 лицензия
Тонкий/Толстый клиент в RDP Клиент в сессии RDP (через nethasp.ini) На сеанс ОС (per-host) 1 лицензия
Клиент-сервер (раздача сервером = Да) Кластер серверов 1С На каждый сеанс (per-session) 5 лицензий

---

Итоговые рекомендации

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

  1. Откажемся от веб-клиента (браузера) для ежедневной многооконной работы: Пользователям на терминале или локальных компьютерах следует запускать тонкий клиент.
  2. Отключим раздачу лицензий сервером: В консоли администрирования кластера для рабочих учетных баз установим свойство Разрешить выдачу лицензий сервером 1С:Предприятия = Нет.
  3. Сконфигурируем файл nethasp.ini: Укажем точные IP-адреса всех серверов с ключами защиты HASP LM и отключим бродкаст на терминальном сервере.
  4. Для интеграции с 1С:Документооборот: Опубликуем базу ДО на веб-сервере исключительно для веб-сервисов, проверим совместимость версий (ПРОФ/КОРП) и не переводим обычных пользователей на работу через браузер.
← На главную