При развертывании веб-доступа к базе «1С:Предприятие 8.3» на сервере Linux (в частности, CentOS) системные администраторы часто сталкиваются со следующей ситуацией: тонкий клиент 1С запускается без каких-либо проблем, однако при попытке зайти в базу через браузер появляется заставка и всплывает ошибка: «Не найдена лицензия. Не обнаружен ключ защиты программы!».
Рассмотрим детально, почему возникает подобное поведение платформы, как устроена система лицензирования веб-клиентов и какими способами можно устранить эту проблему.
Проанализируем механику работы тонкого и веб-клиентов с аппаратными ключами защиты HASP:
hasplmd) по протоколу NetBIOS/UDP/TCP. В справке «О программе» при этом отображается запись вида: Сетевой HASP4 ORGL8, получило клиентское приложение.Если в настройках информационной базы включена опция «Разрешить выдачу лицензий сервером = Да», сервер приложений пытается найти доступную клиентскую лицензию среди ресурсов, доступных непосредственно ему самому. Если физический сетевой ключ (серии ORGL8) вставлен в рабочую станцию пользователя, а сервер 1С о нем не осведомлен, веб-клиент не сможет стартовать.
Выясним, какие службы отвечают за работу разных типов ключей защиты на CentOS:
hasplmd. Процессы сервера 1С (ragent, rphost) считывают серверную лицензию напрямую через низкоуровневый драйвер защиты USB (демон aksusbd из состава пакета haspd).hasplmd на той машине, где физически установлен ключ, и доступности сетевого порта 475 (UDP/TCP).Это наиболее надежный и простой в обслуживании вариант. Разберем его по шагам:
ORGL8) из ПК пользователя и подключите его непосредственно в USB-порт сервера под управлением CentOS.haspd, включающий службу hasplmd:
/etc/init.d/haspd status
В выводе команды процессы aksusbd и hasplmd должны иметь статус running.ORGL8 и успешно раздавать их веб-клиентам.Если физически перенести USB-ключ на сервер невозможно, и он должен оставаться на одном из ПК в локальной сети, выполните следующие настройки:
/opt/1C/v8.3/x86_64/conf/ (для 64-разрядной платформы) или /opt/1C/v8.3/i386/conf/ (для 32-разрядной).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-адрес рабочей станции с ключом.1cv8conn.pfl в каталогах сервера, так как платформа может кэшировать предыдущие неудачные попытки поиска лицензий.Разработчики платформы рекомендуют постепенно отказываться от аппаратных USB-ключей HASP. При покупке или обмене на программную многопользовательскую лицензию (ПИН-коды) её активация выполняется непосредственно на сервере 1С. В этом случае сервер автоматически начинает раздавать лицензии любым подключаемым клиентам — как тонким, так и работающим через веб-браузер.
При настройке раздачи лицензий сервером 1С необходимо учитывать следующие ограничения платформы:
ORGL8, один ORG8A, один ORG8B). Если вставить в один сервер или сеть два ключа ORGL8 (например, на 10 и 20 пользователей), сервер увидит только один из них. Суммирования лицензий одной серии не произойдет.