При работе с 1С в клиент-серверном режиме через веб-клиент (IIS или Apache/Nginx) часто возникает ситуация: тонкие клиенты успешно подхватывают аппаратные лицензии HASP, расположенные на других рабочих станциях в сети, а веб-клиенты используют только программные лицензии или выдают ошибку о недостатке свободных лицензий. Рассмотрим подробно, почему так происходит, как устроена раздача лицензий для веб-клиентов и как правильно настроить сервер 1С для работы с сетевыми USB-ключами.
Разберем механику взаимодействия веб-клиента с системой защиты 1С. В отличие от тонкого клиента, веб-клиент исполняется внутри браузера. У него нет доступа к локальному оборудованию ПК пользователя, драйверам защиты и сетевой службе HASP License Manager.
По этой причине веб-клиент полностью зависит от сервера 1С: лицензию для него всегда получает и выдает сам сервер 1С (параметр «Выдавать лицензии сервером 1С»). Тонкий же клиент при прямой работе в сети может самостоятельно обратиться к HASP License Manager по протоколу NetHASP и взять аппаратную лицензию напрямую с рабочей станции, где установлен USB-ключ.
Кроме того, проанализируем разницу в подсчете лицензий:
HASP LM по имени компьютера/IP-адресу (одна лицензия на одно рабочее место независимо от числа запущенных сеансов).Проанализируем ситуации, когда сервер 1С не может достучаться до ключей HASP, находящихся на других компьютерах в сети:
usr1cv8) работает в изолированном системном сеансе. Автоматический широковещательный поиск (broadcast) по UDP из-под этой службы часто блокируется или не проходит между разными подсетями (VLAN).AllowUseHAKey установлен в значение «Ложь».HASP License Manager.ORGL8 на 50 и 20 пользователей), сервер 1С без точных настроек адресов не сможет корректно опрашивать оба менеджера лицензий.Главным решением проблемы является явное указание IP-адресов компьютеров, на которых запущен HASP License Manager. Для этого настроим файл nethasp.ini на сервере 1С.
Расположите файл nethasp.ini в каталоге конфигурационных файлов сервера 1С: обычно это C:\Program Files\1cv8\conf или каталог конкретной версии платформы (например, C:\Program Files\1cv8\8.3.23.1865\bin).
Откроем файл и пропишем в нем настройки секции [NH_TCPIP]:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_USE_BROADCAST = Disabled
NH_SERVER_ADDR = 192.168.1.50, 192.168.1.51
В параметре NH_SERVER_ADDR укажем через запятую IP-адреса рабочих станций, где физически установлены USB-ключи и работает служба HASP License Manager.
Важно: после сохранения изменений необходимо обязательно перезапустить службу 1C:Enterprise 8.3 Server Agent (Агент сервера 1С:Предприятия), так как конфигурация NetHASP считывается сервером только при запуске процессов rphost.
Проверим параметры кластера 1С через консоль администрования:
AllowUseHAKey) установлен в значение «Истина».Если сетевая инфраструктура сложная или возникают частые сбои связи с рабочими станциями, рассмотрим альтернативные подходы:
Использовать аппаратный ключ защиты. Тогда клиент будет забирать лицензию самостоятельно из локальной сети через HASP LM, не расходуя лицензии сервера.