Как работают отраслевые лицензии (СЛК) при публикации базы 1С на веб-сервере?

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

При переходе на работу через веб-интерфейс или тонкий клиент через HTTP/HTTPS многие технические специалисты сталкиваются с вопросом: как в этом случае будут вести себя отраслевые лицензии (СЛК)? В классической схеме с толстым клиентом или RDP все понятно, но веб-сервер вносит свои коррективы в механизмы защиты. Разберем подробно, как устроена эта система, и выясним, в каких случаях лицензии будут «подхватываться» автоматически, а в каких — потребуется дополнительная настройка.

Принцип работы современной СЛК (версии 3.0 и выше)

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

Когда пользователь подключается через веб-браузер, его сеанс обслуживается процессом rphost на сервере 1С. Рассмотрим цепочку взаимодействия:

  1. Пользователь открывает базу через веб-клиент.
  2. Сервер 1С (rphost) при выполнении защищенных программных модулей обращается к компоненте защиты СЛК.
  3. Компонента защиты, работая в контексте сервера, отправляет запрос на Сервер СЛК по протоколу TCP/IP.
  4. Сервер СЛК проверяет наличие свободных лицензий и выдает разрешение.

Таким образом, конечному пользователю вообще не нужно иметь установленные драйверы СЛК или ключи на своем локальном компьютере. Вся работа по получению лицензий ложится «на плечи» сервера.

Почему одни конфигурации работают, а другие — нет?

Как было отмечено в обсуждении, такие решения, как БитФинанс, отлично работают на веб-сервере, в то время как с БСХП (Бухгалтерия сельхозпредприятия) могут возникнуть сложности. Выясним причину этого разделения. Все дело в так называемом «контексте исполнения» кода защиты.

Если разработчик отраслевого решения вынес проверку лицензии в серверные модули (префикс &НаСервере), то веб-клиент будет работать без проблем. Однако, если проверка или вызов защищенных функций прописаны в модулях, работающих «НаКлиенте», веб-браузер не сможет их выполнить. Браузер работает в изолированной среде («песочнице») и не имеет прямого доступа к аппаратным ресурсам или специфическим DLL-библиотекам защиты СЛК без специальных расширений.

Проанализируем ситуацию с технической точки зрения. Если в коде встречается вызов компоненты защиты в клиентском контексте:


// Пример проблемного кода для веб-клиента
&НаКлиенте
Процедура ПриОткрытииЗащищеннойФормы()
    Результат = КомпонентаСЛК.ПроверитьЛицензию(); 
    // В браузере это вызовет ошибку, так как объект не инициализирован
КонецПроцедуры

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

Настройка сервера СЛК для работы через веб

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

  1. Установка сервера СЛК: Рекомендуется устанавливать сервер СЛК на тот же физический или виртуальный сервер, где работает сервер 1С. Это минимизирует сетевые задержки.
  2. Настройка сетевого экрана (Firewall): Проверим, открыт ли порт 9099 (порт по умолчанию для СЛК 3.0) для входящих соединений на сервере, где установлен сервер СЛК.
  3. Параметры связи в 1С: В самой конфигурации 1С необходимо зайти в раздел настройки параметров СЛК и убедиться, что указан правильный IP-адрес сервера лицензирования (часто это 127.0.0.1, если все на одном сервере).

Важный момент: если вы используете аппаратные USB-ключи на виртуальном сервере, вам потребуется проброс USB-устройств через специализированное ПО (USB-over-IP), так как сервер СЛК должен физически «видеть» ключ.

Миф о лицензиях «Удаленный офис»

Часто возникает путаница: нужно ли покупать лицензии «Удаленный офис» для работы через веб-сервер? Проанализируем назначение этого типа лицензий. Лицензия «Удаленный офис» предназначена для сценария, когда у вас есть два территориально распределенных сервера СЛК, и вы хотите, чтобы один сервер мог заимствовать ключи у другого через интернет или VPN.

Для работы обычных пользователей через веб-сервер (даже если они находятся в другом городе) эта лицензия не требуется. Пользователь подключается к веб-серверу по HTTP, а веб-сервер обращается к локальному серверу СЛК. С точки зрения системы защиты, это обычное локальное потребление лицензии серверным процессом.

Практические советы по диагностике

Если при публикации на веб-сервере система сообщает, что «Отраслевая лицензия не найдена», выполним следующие действия:

Подводя итог, можно утверждать: работа отраслевых лицензий через веб-сервер в 2024 году является стандартным и штатным режимом для большинства современных решений на платформе 1С:Предприятие 8.3. Главное — обеспечить серверную проверку ключей и корректную настройку связи между rphost и службой СЛК.

← На главную