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

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

При развертывании веб-доступа к базе «1С:Предприятие 8.3» на сервере Linux (в частности, CentOS) системные администраторы часто сталкиваются со следующей ситуацией: тонкий клиент 1С запускается без каких-либо проблем, однако при попытке зайти в базу через браузер появляется заставка и всплывает ошибка: «Не найдена лицензия. Не обнаружен ключ защиты программы!».

Рассмотрим детально, почему возникает подобное поведение платформы, как устроена система лицензирования веб-клиентов и какими способами можно устранить эту проблему.

Проанализируем механику работы тонкого и веб-клиентов с аппаратными ключами защиты HASP:

  1. Тонкий клиент: Запускается как полноценное приложение на рабочей станции пользователя. Он может искать клиентские лицензии самостоятельно — как на локальном ПК, так и в локальной сети с помощью менеджера лицензий HASP (служба hasplmd) по протоколу NetBIOS/UDP/TCP. В справке «О программе» при этом отображается запись вида: Сетевой HASP4 ORGL8, получило клиентское приложение.
  2. Веб-клиент: Работает строго внутри браузерного окружения. По соображениям безопасности браузер не имеет прямого доступа к USB-портам компьютера и не умеет опрашивать сеть на наличие HASP License Manager. По этой причине веб-клиент всегда запрашивает лицензию у сервера приложений 1С (или веб-сервера).

Если в настройках информационной базы включена опция «Разрешить выдачу лицензий сервером = Да», сервер приложений пытается найти доступную клиентскую лицензию среди ресурсов, доступных непосредственно ему самому. Если физический сетевой ключ (серии ORGL8) вставлен в рабочую станцию пользователя, а сервер 1С о нем не осведомлен, веб-клиент не сможет стартовать.

Взаимодействие Linux-сервера 1С с ключами HASP

Выясним, какие службы отвечают за работу разных типов ключей защиты на CentOS:

  1. Серверный ключ 1С (маркировка EN8SA / ENSR8): Не требует службы hasplmd. Процессы сервера 1С (ragent, rphost) считывают серверную лицензию напрямую через низкоуровневый драйвер защиты USB (демон aksusbd из состава пакета haspd).
  2. Сетевой клиентский ключ (маркировка ORGL8): Требует обязательного запуска менеджера лицензий hasplmd на той машине, где физически установлен ключ, и доступности сетевого порта 475 (UDP/TCP).

Варианты решения проблемы

Способ 1. Установка клиентского ключа на сервер 1С

Это наиболее надежный и простой в обслуживании вариант. Разберем его по шагам:

  1. Извлеките сетевой клиентский ключ защиты (ORGL8) из ПК пользователя и подключите его непосредственно в USB-порт сервера под управлением CentOS.
  2. Убедитесь, что на сервере запущен пакет haspd, включающий службу hasplmd: /etc/init.d/haspd status В выводе команды процессы aksusbd и hasplmd должны иметь статус running.
  3. Проверьте, что в свойствах информационной базы в кластере серверов 1С параметр «Разрешить выдачу лицензий сервером» установлен в значение «Да».
  4. Перезапустите службу сервера 1С:Предприятия. Теперь сервер 1С будет напрямую забирать клиентские лицензии с ключа ORGL8 и успешно раздавать их веб-клиентам.

Способ 2. Настройка поиска удаленного клиентского ключа через nethasp.ini

Если физически перенести USB-ключ на сервер невозможно, и он должен оставаться на одном из ПК в локальной сети, выполните следующие настройки:

  1. Убедитесь, что на ПК с клиентским ключом запущен HASP License Manager, и в брандмауэре (файрволе) открыт порт 475 (TCP и UDP).
  2. Перейдите на сервере CentOS в каталог конфигурационных файлов платформы 1С. По умолчанию он располагается по пути: /opt/1C/v8.3/x86_64/conf/ (для 64-разрядной платформы) или /opt/1C/v8.3/i386/conf/ (для 32-разрядной).
  3. Найдите или создайте файл nethasp.ini и пропишите в нем точный IP-адрес компьютера, на котором установлен клиентский ключ:
    
    [NH_COMMON]
    NH_TCPIP = Enabled
    
    [NH_TCPIP]
    NH_SERVER_ADDR = 192.168.1.50
    NH_TCPIP_METHOD = TCP
    NH_USE_BROADCAST = Disabled
    
    Замените 192.168.1.50 на реальный IP-адрес рабочей станции с ключом.
  4. Очистите кэш подключений сервера 1С. При необходимости удалите служебный файл 1cv8conn.pfl в каталогах сервера, так как платформа может кэшировать предыдущие неудачные попытки поиска лицензий.
  5. Перезапустите кластер серверов 1С. После этого сервер приложений сможет обращаться по сети к менеджеру лицензий на указанном ПК и выдавать сеансовые лицензии веб-клиентам.

Способ 3. Переход на программные лицензии

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

Важные ограничения при раздаче лицензий сервером

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

← На главную