Как получить лицензии 1С при работе через веб-сервер: тонкий клиент vs веб-клиент

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

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

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

Тонкий клиент и веб-клиент (браузер): принципиальная разница в лицензировании

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

Рассмотрим подробнее каждый из вариантов:

  1. Подключение через Веб-клиент (браузер):

    Когда пользователь открывает базу 1С в браузере (Google Chrome, Яндекс.Браузер, Mozilla Firefox и т.д.), он работает в изолированной среде («песочнице»). Браузер по соображениям безопасности не имеет доступа к оборудованию локального компьютера. Он не может обратиться к USB-портам, чтобы найти аппаратный ключ HASP, и не имеет доступа к файловой системе для чтения файлов программных лицензий с расширением .lic.

    Отсюда следует жесткое правило: при работе через веб-клиент лицензию всегда должен предоставить сервер. Если на стороне веб-сервера или сервера приложений «1С:Предприятие» нет свободных клиентских лицензий, пользователь в браузере работать не сможет.

  2. Подключение через Тонкий клиент:

    Тонкий клиент — это полноценное приложение, установленное непосредственно на операционной системе пользователя (Windows, macOS или Linux). При запуске тонкого клиента и подключении к базе по протоколу HTTP или HTTPS программа действует по следующему алгоритму:

    • Сначала тонкий клиент пытается найти локальную лицензию на компьютере пользователя. Он сканирует USB-порты на наличие аппаратных ключей защиты и проверяет локальные каталоги на наличие файлов программных лицензий.
    • Если локальная лицензия успешно найдена (например, те самые 3 программные лицензии, которые уже активированы на компьютерах пользователей), тонкий клиент занимает её и успешно подключается к веб-серверу. Наличие лицензий на самом сервере в этом случае не требуется.
    • Если локальной лицензии нет, тонкий клиент обращается к веб-серверу с запросом на получение лицензии оттуда.

Особенности публикации базы и файл настроек default.vrd

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

Проанализируем пример структуры файла default.vrd, который отвечает за подключение к базе данных:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        base="/MyBase"
        ib="File=&quot;C:\1C_Bases\MyBase&quot;;">
    <ws>
        <point name="WebServices"
                alias="ws.1cws"
                enable="true"/>
    </ws>
    <httpServices publishByDefault="true"/>
</point>

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

Раздача лицензий для файловых баз данных

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

Если к такой базе подключается пользователь через браузер, то именно модуль расширения веб-сервера должен найти и выдать ему лицензию. Чтобы этот механизм сработал, должны выполняться следующие условия:

Раздача лицензий в клиент-серверном варианте

Если ваша база работает в клиент-серверном режиме (под управлением сервера «1С:Предприятие» и СУБД вроде PostgreSQL или MS SQL), схема раздачи лицензий меняется:

Правила переноса программных лицензий на сервер

В процессе обсуждения часто возникает идея: «Если у нас есть 3 лицензии на рабочих станциях, давайте просто скопируем файлы лицензий .lic на сервер». Разберем по шагам, почему этот способ не работает и как выполнить перенос корректно.

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

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

  1. Найдите регистрационные карточки программных продуктов с пин-кодами для активации лицензий.
  2. Для переноса лицензии на сервер вам понадобятся резервные пин-коды из того же комплекта. Если активные пин-коды закончились, необходимо написать запрос в Центр лицензирования 1С для получения дополнительных пин-кодов.
  3. Запустите конфигуратор 1С на сервере от имени администратора и перейдите в меню получения лицензии. Начните процесс активации, введя регистрационный номер и новый резервный пин-код. Лицензия будет привязана к аппаратной конфигурации сервера.

При активации нескольких однопользовательских лицензий на одном сервере платформа умеет их суммировать. Например, если вы последовательно активируете три однопользовательские лицензии на сервере, веб-сервер сможет одновременно раздать лицензии трем различным веб-клиентам.

Важное предупреждение о расходе лицензий: Помните, что при локальном использовании однопользовательской лицензии на ПК пользователь может открывать сколько угодно баз 1С одновременно в рамках одного сеанса Windows, расходуя всего одну лицензию. Однако, когда лицензии раздает сервер (веб-сервер или сервер 1С), они расходуются по принципу «одна лицензия на один сеанс (подключение)». Если один и тот же сотрудник откроет базу данных в двух разных вкладках браузера, сервер спишет из общего пула две лицензии.

← На главную