Как опубликовать файловую базу 1С из сетевой папки на веб-сервере IIS?

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

Публикация файловой информационной базы 1С, расположенной на сетевом ресурсе, значительно отличается от публикации локальной базы. Основная сложность заключается в том, что веб-сервер IIS (Internet Information Services) по умолчанию работает от имени системных учетных записей, которые не имеют прав доступа к сетевому окружению. В данной статье мы подробно разберем, как правильно настроить среду для стабильной работы 1С через веб-интерфейс в такой конфигурации.

Анализ проблемы: почему возникает ошибка загрузки компонент?

Рассмотрим ситуацию, с которой часто сталкиваются специалисты: при попытке зайти в базу через браузер или тонкий клиент по HTTP протоколу возникает ошибка вида Ошибка загрузки компоненты 'help' или Неправильный путь к файлу с кодом 161(0x000000A1). Проанализируем причину этого явления. Веб-сервер пытается инициализировать библиотеки 1С (такие как backbas.dll, help.dll), но не может получить доступ к самому файлу базы данных 1Cv8.1CD, так как сетевой ресурс для него «не существует» или закрыт настройками безопасности.

Выясним причину ошибки 161: она буквально означает «Указан недопустимый путь». Для IIS сетевые пути (UNC-пути) требуют особого контекста безопасности, который отсутствует у стандартных пулов приложений типа ApplicationPoolIdentity или LocalSystem.

Шаг 1: Подготовка учетной записи

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

  1. Пользователь должен иметь права Изменение (Modify) на папку с информационной базой 1С.
  2. Пользователь должен иметь права Чтение и выполнение (Read & Execute) на папку с установленной платформой 1С (обычно C:\Program Files\1cv8\).
  3. Пользователь должен иметь полные права на папку публикации на веб-сервере (например, C:\inetpub\wwwroot\MyBase).
  4. Желательно включить этого пользователя в локальную группу IIS_IUSRS на сервере, где запущен IIS.

Шаг 2: Настройка пула приложений IIS

Посмотрим на настройки пула приложений. По умолчанию IIS изолирует процессы, и нам нужно заставить конкретный пул работать от имени созданного нами пользователя. Проанализируем последовательность действий:

  1. Откройте Диспетчер служб IIS.
  2. Перейдите в раздел Пулы приложений.
  3. Выберите пул, который используется для вашей публикации (обычно он называется так же, как и виртуальный каталог базы).
  4. Нажмите Дополнительные параметры....
  5. Найдите раздел Модель процесса и пункт Удостоверение (Identity).
  6. Нажмите на кнопку с многоточием и выберите Особая учетная запись. Нажмите Установить и введите данные вашего доменного пользователя.

Важный нюанс: Если вы используете 64-битную операционную систему, а публикация выполняется для 32-битной платформы 1С, обязательно установите параметр Разрешены 32-разрядные приложения в значение True.

Шаг 3: Настройка анонимной проверки подлинности

Это критический момент, который часто упускают. Даже если пул запущен от имени администратора домена, IIS может пытаться авторизовать веб-запросы через встроенную запись IUSR. Разберем, как это исправить:

  1. В дереве соединений IIS выберите ваш Виртуальный каталог (вашу опубликованную базу).
  2. Откройте раздел Проверка подлинности (Authentication).
  3. Выберите пункт Анонимная проверка подлинности (Anonymous Authentication) и в правой панели нажмите Изменить....
  4. В открывшемся окне установите переключатель в положение Удостоверение пула приложений (Application pool identity).

Таким образом, все действия, которые совершает веб-сервер при обращении пользователя к базе, будут выполняться именно от имени той доменной учетной записи, которой мы дали права на сетевую папку.

Шаг 4: Настройка путей в файле default.vrd

Проанализируем содержимое конфигурационного файла default.vrd, который создается в папке публикации. При работе с сетевыми ресурсами использование подключенных сетевых дисков (например, Z:\Base) категорически запрещено, так как службы Windows не видят диски, подключенные в сессии пользователя.

Необходимо использовать только полные UNC-пути. Рассмотрим пример правильной структуры файла 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;\\ServerName\ShareFolder\1c_base&quot;;">
	<standardOdata enable="false"
			publishExtensions="false"/>
	<analytics enable="false"/>
</point>

Если сервер не может разрешить сетевое имя (например, \\Saturn), попробуйте заменить имя сервера на его IP-адрес: \\192.168.1.10\ShareFolder\1c_base. Это поможет исключить проблемы с DNS-резолвингом в контексте службы IIS.

Дополнительные рекомендации и устранение ошибок

Разберем еще несколько факторов, которые могут влиять на стабильность работы:

Подведем итог: для успешной публикации сетевой файловой базы 1С необходимо обеспечить «сквозную» авторизацию. Мы создаем доменного пользователя, назначаем его в качестве «двигателя» пула приложений и в обязательном порядке указываем IIS использовать именно это удостоверение для анонимных подключений, обращаясь к базе исключительно по полному сетевому пути.

← На главную