Как раздать программную многопользовательскую лицензию 1С по сети на другой веб-сервер

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

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

Архитектурные ограничения платформы 1С при работе с программными лицензиями

Проанализируем базовый принцип работы программных лицензий. В отличие от аппаратных ключей защиты HASP, для которых существует сетевая служба HASP License Manager (HLM), программные лицензии представляют собой файлы с расширением .lic, жестко привязанные к физическим или виртуальным параметрам конкретного компьютера в момент активации.

Выясним, как ведет себя платформа 1С в различных сценариях:

  1. Файловый режим и веб-клиент: Модуль расширения веб-сервера 1С (запущенный в контексте процесса httpd/apache2 или w3wp) ищет файлы лицензий исключительно на локальном сервере, где физически развернут и работает веб-сервер. В Linux поиск осуществляется по стандартным путям, таким как /var/1C/licenses или /opt/1cv8/.../licenses, а также в домашнем каталоге пользователя, от имени которого работает служба. Веб-сервер не опрашивает локальную сеть и не может прочитать файл лицензии с соседнего хоста.
  2. Служба HASP License Manager: Данный сервис разработан исключительно для работы с USB-ключами защиты HASP. Он не умеет и не предназначен для обнаружения или трансляции программных файлов лицензий по протоколу TCP/UDP.
  3. Особенность расхода лицензий веб-клиентом: При веб-подключении лицензия всегда расходуется на каждую сессию (вкладку браузера или отдельное подключение к базе), а не на физическое рабочее место. Получение этой лицензии возлагается на веб-сервер, который должен предоставить её из своего локального пула.

Таким образом, просто указать в конфигурационных файлах сетевой путь к файлу лицензии на другом сервере невозможно. Рассмотрим практические пути решения поставленной задачи.

Вариант 1. Перенос публикации баз на сервер с активированной лицензией

Разберем наиболее прямолинейный способ, не требующий дополнительных финансовых затрат и реорганизации лицензий. Если на первом сервере (Windows) уже успешно активирована многопользовательская программная лицензия, логично поднять веб-сервер непосредственно на нем.

  1. Устанавливаем и настраиваем веб-сервер на машине с Windows (это может быть как встроенный Internet Information Services (IIS), так и Apache HTTP Server).
  2. Устанавливаем модуль расширения веб-сервера из дистрибутива технологической платформы 1С:Предприятие.
  3. Выполняем публикацию информационных баз с помощью утилиты администрирования или прямо из конфигуратора через меню Администрирование → Публикация на веб-сервере.

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

Вариант 2. Использование кластера серверов 1С и сервиса лицензирования

Если специфика инфраструктуры требует разделения ролей и обязательного использования выделенного Linux-сервера для веб-публикаций, разберем клиент-серверный вариант работы (SQL). В полноценном кластере 1С:Предприятия раздача программных лицензий реализована на уровне системных сервисов.

Рассмотрим порядок организации централизованной раздачи лицензий:

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

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

Вариант 3. Разделение пин-кодов и повторная активация

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

  1. Один многопользовательский пин-код: Позволяет активировать все 10 рабочих мест единым файлом на одном сервере (например, для терминального сервера или сервера 1С).
  2. Набор из 10 однопользовательских пин-кодов: Позволяет активировать лицензии по отдельности на разных компьютерах.

Если многопользовательский пин-код уже активирован на Windows-сервере, использовать те же лицензии на Linux-сервере параллельно нельзя. Посмотрим, как поступить в этом случае:

  1. Обращаемся в Центр лицензирования 1С (lic@1c.ru) с заявлением на аннулирование текущей многопользовательской активации и восстановление комплекта (либо используем резервные пин-коды из комплекта поставки).
  2. Активируем необходимое количество однопользовательских пин-кодов непосредственно на Linux-сервере под учетной записью веб-сервера. Каждая такая активация создаст локальный файл .lic, который веб-сервер сможет отдавать веб-клиентам.
  3. Оставшиеся однопользовательские пин-коды активируем на Windows-сервере или на рабочих местах пользователей.

Вариант 4. Организация терминального доступа (RDP)

Если переактивация нежелательна, а веб-доступ планировался лишь для удаленной работы сотрудников, рассмотрим альтернативу в виде Remote Desktop Services на сервере Windows:

  1. Многопользовательская программная лицензия, активированная на Windows-сервере в режиме «для всех пользователей», автоматически доступна всем локальным процессам 1cv8.exe.
  2. Пользователи подключаются к Windows-серверу через RDP-клиент и запускают тонкий или толстый клиент 1С локально внутри терминальной сессии.
  3. В этом режиме каждое физическое рабочее место или терминальная сессия потребляет ровно одну лицензию из 10 доступных, не требуя развертывания веб-сервера на сторонних машинах.

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

← На главную