Почему при запуске второй базы 1С через веб-сервер Apache возникает ошибка нехватки лицензий и как это исправить?

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

Рассмотрим распространенную и крайне неприятную проблему, с которой сталкиваются системные администраторы при оптимизации работы сотрудников в 1С. Ситуация выглядит следующим образом: для ускорения работы базы данных 1С публикуются на веб-сервере Apache, который развернут на мощном компьютере (например, на компьютере директора). Главный бухгалтер, работающий на слабом моноблоке, подключается к базам 1С (Бухгалтерия и Зарплата и Управление Персоналом - ЗУП) через тонкий клиент. Однако при попытке открыть вторую базу одновременно система выдает критическую ошибку: "Не найдена лицензия. Свободных лицензий нет".

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

Разбор ситуации: почему "перенос ключа на сервер" ломает работу пользователя?

Давайте проанализируем действия системного администратора из исходной темы. Пытаясь сделать доброе дело, он перенес однопользовательский аппаратный USB-ключ защиты (HASP) с компьютера главного бухгалтера на компьютер директора (где теперь крутится веб-сервер Apache и лежат файловые базы данных). После этого главбух запускает Бухгалтерию — все работает быстро. Но как только совершается попытка запустить ЗУП, программа блокирует вход из-за нехватки лицензий.

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

Ключевое отличие: Посеансовое лицензирование веб-сервера против Локального лицензирования

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

1. Локальное лицензирование (ключ установлен на компьютере пользователя)

Если однопользовательский USB-ключ (фиолетового цвета, маркировка ORGL8) или однопользовательская программная лицензия установлены непосредственно на рабочей станции пользователя, то применяется правило: одна лицензия на один компьютер. В этом режиме пользователь может запускать на своем компьютере неограниченное количество сеансов 1С:Предприятие (открывать 3, 5, 10 разных баз данных параллельно, запускать конфигуратор и т.д.). Все эти процессы будут успешно авторизованы одной-единственной локальной лицензией.

2. Лицензирование силами веб-сервера (ключ установлен на сервере)

Если же ключ защиты установлен на компьютере, где запущен веб-сервер Apache (или IIS), и у самого подключающегося клиента локальной лицензии нет, то обязанность по лицензированию сессии берет на себя веб-сервер. В этом случае действует жесткое правило: одна лицензия на один сеанс (подключение).

Когда главный бухгалтер открывает информационную базу "Бухгалтерия", веб-сервер забирает единственный однопользовательский USB-ключ на компьютере директора под это подключение. Лицензия занята. Когда тот же бухгалтер пытается открыть базу "ЗУП", веб-сервер снова пытается найти свободную лицензию для обеспечения нового сеанса связи, но ключ на компьютере директора всего один, и он уже занят Бухгалтерией. В результате веб-сервер возвращает ошибку нехватки лицензий.

Развенчание мифа: Нужен ли ключ на веб-сервере во время работы?

В процессе обсуждения подобных проблем на форумах часто возникает опасное заблуждение (сформулированное, например, в сообщении 10): «Когда базу публиковали, ключ был нужен. Теперь все опубликовали и запустили - больше не нужен».

Давайте выясним техническую правду. Это абсолютно неверно!

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

Однако в процессе дальнейшей работы пользователей веб-сервер выполняет роль посредника. При каждом обращении клиента модуль расширения веб-сервера (например, файл wsap24.dll для Apache 2.4) инициализирует сеанс работы с базой данных. Если у веб-сервера в этот момент не будет физического доступа к действующему и свободному ключу защиты (или программной лицензии), то ни один пользователь, у которого нет собственного локального ключа, не сможет войти в систему. Ключ на сервере должен быть активен непрерывно в течение всего рабочего дня.

Технические ограничения однопользовательских USB-ключей HASP

Также стоит упомянуть аппаратные ограничения. Однопользовательские USB-ключи маркировки ORGL8 физически не могут раздаваться по локальной сети с помощью утилиты HASP License Manager (в отличие от многопользовательских сетевых ключей красного цвета на 5, 10 и более рабочих мест).

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

Пошаговое практическое решение проблемы (без финансовых затрат)

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

Разберем по шагам алгоритм настройки, который позволит бухгалтеру запускать одновременно и Бухгалтерию, и ЗУП без покупки каких-либо дополнительных лицензий:

  1. Извлеките однопользовательский USB-ключ защиты из компьютера директора.
  2. Установите этот USB-ключ в свободный порт компьютера главного бухгалтера. Если на моноблоке отсутствуют драйверы HASP, скачайте и установите их (утилита Sentinel HASP Run-time Installer).
  3. На компьютере директора оставьте работать веб-сервер Apache в штатном режиме. Базы данных по-прежнему остаются там. Сам веб-сервер теперь будет работать вообще без ключей защиты (если за этим компьютером физически никто не работает в 1С).
  4. На компьютере главного бухгалтера запустите Тонкий клиент 1С.
  5. В окне запуска выберите информационную базу (например, "Бухгалтерия"), опубликованную на веб-сервере директора, и нажмите "Изменить". На шаге настройки параметров подключения убедитесь, что адрес указывает на веб-сервер (например, http://имя_компьютера_директора/Buh).
  6. Запустите Бухгалтерию. Тонкий клиент при старте начнет опрашивать локальные USB-порты компьютера главбуха. Он мгновенно обнаружит установленный там фиолетовый ключ ORGL8, успешно авторизуется им и отправит запрос на веб-сервер уже со статусом "Лицензия получена на клиенте".
  7. Теперь запустите ЗУП. Тонкий клиент проделает аналогичную операцию, снова обнаружит тот же локальный USB-ключ и позволит открыть вторую базу. Поскольку лицензирование происходит локально, одна физическая флешка обеспечит одновременную работу обоих сеансов.

Сводная таблица логики работы Тонкого клиента

Для лучшего понимания рассмотрим, как ведет себя тонкий клиент и веб-сервер в зависимости от места установки лицензии:

Где установлен ключ защиты Тип клиента Как расходуются лицензии Результат запуска двух баз (Бухгалтерия + ЗУП)
На компьютере пользователя (Локально) Тонкий клиент 1С 1 лицензия на компьютер (безлимит сессий) Успешно. Обе базы работают одновременно под одной лицензией.
На компьютере с веб-сервером Тонкий клиент 1С Посеансовая раздача (1 сессия = 1 лицензия) Ошибка. Вторая база потребует вторую лицензию, которой нет на сервере.
На компьютере с веб-сервером Веб-браузер (Chrome/Safari) Посеансовая раздача (1 вкладка = 1 лицензия) Ошибка. Браузер в принципе не умеет искать локальные USB-ключи, лицензирование всегда идет на сервере.

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

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

Таким образом, самым простым, надежным и технически грамотным решением в вашей текущей конфигурации является возвращение физического USB-интерфейса защиты (флешки) на рабочее место главного бухгалтера. Это полностью устранит проблему с нехваткой лицензий при одновременной работе в ЗУП и Бухгалтерии через Apache.

← На главную