Как настроить публикацию нескольких баз 1С и изменить расположение файла default.vrd на веб-сервере?

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

При организации работы пользователей через веб-клиент или интеграции сторонних систем с 1С через HTTP/SOAP веб-сервисы часто возникает необходимость опубликовать несколько информационных баз на одном веб-сервере. Кроме того, администраторам требуется изменить стандартный путь публикации или разграничить доступ, отключив графический интерфейс (веб-клиент) и оставив активными только сервисы.

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

Размещение нескольких баз на одном веб-сервере

По умолчанию при публикации базы 1С создается физический каталог на диске и соответствующее приложение на веб-сервере (IIS или Apache). Чтобы опубликовать несколько баз в рамках одного веб-сайта, не обязательно ограничиваться корнем сайта (например, C:\inetpub\wwwroot).

Разберем по шагам алгоритм публикации нескольких баз в подкаталогах:

  1. Создание структуры папок: Создадим отдельную директорию на диске (это может быть как подпапка в wwwroot, так и любой другой каталог на сервере, например D:\WebBases\Base1 и D:\WebBases\Base2).
  2. Размещение конфигурационных файлов: В папку каждой публикации помещается свой собственный файл descriptor'а default.vrd и файл конфигурации веб-сервера web.config (для IIS).
  3. Преобразование папки в приложение: В консоли управления IIS созданный каталог необходимо преобразовать в отдельное веб-приложение (Application) с собственным пулом приложений (Application Pool).

В итоге каждая база получает свой собственный URL-адрес вида http://myserver/Base1 и http://myserver/Base2, обращаясь к изолированным файлам default.vrd.

Настройка файла default.vrd для управления доступом и авторизацией

Файл default.vrd представляет собой XML-документ в кодировке UTF-8, описывающий параметры подключения к информационной базе 1С и настройки доступных сервисов.

Проанализируем ситуацию, когда требуется отключить интерактивный вход через веб-клиент, оставив базу доступной только для интеграционных веб-сервисов с фиксированным логином и паролем. Для этого в корневом теге <point> задаются следующие атрибуты:


<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="/Base1"
       ib="File=&quot;C:\Bases\DemoAccounting&quot;;usr=web;pwd=secret;"
       enable="false">
</point>

Выясним значение ключевых параметров в этой строке:

  1. ib="..." — строка подключения к информационной базе 1С. В параметре usr и pwd можно жестко задать имя пользователя и пароль 1С для автоматической аутентификации при обращениях к сервисам.
  2. enable="false" — отключает возможность работы пользователей через веб-клиент (интерфейс 1С в браузере не будет загружаться). При этом программные сервисы продолжат функционировать.
  3. allowexecutescheduledjobs="" — параметр, позволяющий управлять выполнением фоновых и регламентных заданий в файловом варианте базы через веб-сервер.

Для точечного включения или отключения отдельных возможностей используем вложенные теги внутри <point>:

Особенности настройки IIS и прав доступа

При работе с файловыми базами 1С и веб-сервером IIS следует учесть несколько критически важных нюансов:

  1. Права доступа на папку с базой: Учетная запись, под которой запущен пул приложений IIS (например, IIS_IUSRS или ApplicationPoolIdentity), должна иметь полные права (чтение, запись, изменение) не только на папку с файлом default.vrd, но и на весь каталог с файлом базы данных 1Cv8.1CD.
  2. Разрядность пула приложений: Если используются 32-разрядные компоненты 1С на 64-разрядной операционной системе, в настройках пула приложений IIS (Application Pool) обязательно включите опцию «Разрешить 32-разрядные приложения» (Enable 32-Bit Applications).
  3. Использование HTTP-модуля: Начиная с версии платформы 1С:Предприятие 8.3.14, вместо устаревшего ISAPI-расширения (wsisapi.dll) рекомендуется настраивать работу через HTTP-модуль (wshttp.dll), что обеспечивает повышенную стабильность работы веб-сервисов.
  4. Автоматизация публикации: Чтобы избежать ошибок при ручном создании файлов default.vrd, рекомендуется использовать штатную консольную утилиту 1С webinst с ключами -publish, -wsdir, -dir и -connstr.
← На главную