При организации удаленного доступа к 1С через веб-сервер IIS (Internet Information Services) системные администраторы часто сталкиваются с дилеммой: как эффективно распределить многопользовательские лицензии, чтобы избежать их «зависания» и обеспечить прозрачный мониторинг. Рассмотрим ситуацию, когда имеется файловая информационная база «1С:Бухгалтерия» на 5 пользователей и необходимо организовать работу через браузер и тонкий клиент. Разберем по шагам, какие варианты активации существуют и как оптимизировать работу веб-сервера.
Для начала проанализируем, как именно программные лицензии попадают к пользователю при использовании модуля расширения веб-сервера. Существует два основных сценария, которые мы должны учитывать:
Рассмотрим подробнее ситуацию, описанную в теме: лицензия многопользовательская (5 рабочих мест). В этом случае наиболее целесообразно активировать ее на стороне сервера, чтобы IIS мог гибко распределять ресурсы между всеми входящими подключениями.
В обсуждении возник спор о том, можно ли использовать сервер 1С для файловой базы. Выясним причину этого спора: долгое время считалось, что для файловых баз сервер 1С не нужен. Однако, начиная с платформы 8.3.15, компания 1С официально поддерживает использование Службы управления лицензиями.
Мы можем установить компоненты сервера «1С:Предприятие», но не создавать на нем кластер баз данных. В этом режиме сервер будет выступать только в роли менеджера лицензий. Это дает нам несколько преимуществ:
Чтобы система знала, где искать лицензии (особенно если мы решили использовать отдельный сервер лицензирования), нам необходимо правильно настроить файл публикации default.vrd. Этот файл создается при публикации базы на веб-сервере и содержит ключевые параметры взаимодействия платформы и IIS.
Проанализируем структуру настроек в default.vrd. Для оптимизации работы и предотвращения «зависания» лицензий нам могут понадобиться следующие параметры:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource"
base="/MyBase"
ib="File="C:\Bases\Salary";">
<standardOdata enable="false"/>
<extinfo reuseSessions="autouse"
sessionMaxAge="20"
pooling="true"
licensingServer="AddressOfYourLicenseServer"/>
</point>
Разберем, за что отвечают эти параметры:
reuseSessions — определяет режим повторного использования сеансов. Значение autouse позволяет системе эффективнее распоряжаться открытыми подключениями.sessionMaxAge — критически важный параметр. Он определяет время (в секундах), в течение которого «спящий» сеанс остается в памяти. Если пользователь просто закрыл браузер, лицензия не освободится мгновенно, а будет ждать истечения этого времени. Для 5 пользователей рекомендуется уменьшить этот интервал.licensingServer — здесь мы указываем адрес нашего сервера управления лицензиями, если мы решили использовать схему с выделенным сервером.Часто пользователи жалуются, что лицензии заканчиваются, хотя в программе никого нет. Выясним причину: IIS удерживает сессию активной (в состоянии Sleep) еще некоторое время после отключения клиента. Чтобы минимизировать этот эффект, выполним следующие настройки в консоли управления IIS:
1C:Enterprise 8.3 Web Access).Подведем итог нашему анализу. Для реализации задачи автора наиболее надежным будет следующий алгоритм:
Шаг 1: Устанавливаем на компьютер с IIS компоненты платформы 1С, включая «Модуль расширения веб-сервера» и «Сервер 1С:Предприятия» (только для службы лицензирования).
Шаг 2: Активируем многопользовательскую программную лицензию на 5 пользователей как единый пин-код на этом сервере.
Шаг 3: Публикуем файловую базу на IIS. В настройках публикации указываем использование службы управления лицензиями.
Шаг 4: Редактируем файл default.vrd, устанавливая оптимальное время жизни сессии sessionMaxAge, чтобы лицензии быстрее возвращались в пул после закрытия браузеров.
Шаг 5: Настраиваем пул приложений в IIS на автоматическое завершение простаивающих процессов через короткий промежуток времени.
Такой подход позволит нам не только стабильно работать с файловой базой через интернет, но и иметь четкое представление о том, как расходуются наши 5 лицензий, используя консоль администрирования сервера 1С.