Публикация файловой информационной базы 1С, расположенной на сетевом ресурсе, значительно отличается от публикации локальной базы. Основная сложность заключается в том, что веб-сервер IIS (Internet Information Services) по умолчанию работает от имени системных учетных записей, которые не имеют прав доступа к сетевому окружению. В данной статье мы подробно разберем, как правильно настроить среду для стабильной работы 1С через веб-интерфейс в такой конфигурации.
Рассмотрим ситуацию, с которой часто сталкиваются специалисты: при попытке зайти в базу через браузер или тонкий клиент по HTTP протоколу возникает ошибка вида Ошибка загрузки компоненты 'help' или Неправильный путь к файлу с кодом 161(0x000000A1). Проанализируем причину этого явления. Веб-сервер пытается инициализировать библиотеки 1С (такие как backbas.dll, help.dll), но не может получить доступ к самому файлу базы данных 1Cv8.1CD, так как сетевой ресурс для него «не существует» или закрыт настройками безопасности.
Выясним причину ошибки 161: она буквально означает «Указан недопустимый путь». Для IIS сетевые пути (UNC-пути) требуют особого контекста безопасности, который отсутствует у стандартных пулов приложений типа ApplicationPoolIdentity или LocalSystem.
Для начала нам необходимо создать или выбрать существующую доменную учетную запись (или локальную, если сервер базы и веб-сервер находятся в одной рабочей группе и имеют идентичных пользователей с одинаковыми паролями). Разберем требования к этой учетной записи:
C:\Program Files\1cv8\).C:\inetpub\wwwroot\MyBase).IIS_IUSRS на сервере, где запущен IIS.Посмотрим на настройки пула приложений. По умолчанию IIS изолирует процессы, и нам нужно заставить конкретный пул работать от имени созданного нами пользователя. Проанализируем последовательность действий:
Важный нюанс: Если вы используете 64-битную операционную систему, а публикация выполняется для 32-битной платформы 1С, обязательно установите параметр Разрешены 32-разрядные приложения в значение True.
Это критический момент, который часто упускают. Даже если пул запущен от имени администратора домена, IIS может пытаться авторизовать веб-запросы через встроенную запись IUSR. Разберем, как это исправить:
Таким образом, все действия, которые совершает веб-сервер при обращении пользователя к базе, будут выполняться именно от имени той доменной учетной записи, которой мы дали права на сетевую папку.
Проанализируем содержимое конфигурационного файла 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="\\ServerName\ShareFolder\1c_base";">
<standardOdata enable="false"
publishExtensions="false"/>
<analytics enable="false"/>
</point>
Если сервер не может разрешить сетевое имя (например, \\Saturn), попробуйте заменить имя сервера на его IP-адрес: \\192.168.1.10\ShareFolder\1c_base. Это поможет исключить проблемы с DNS-резолвингом в контексте службы IIS.
Разберем еще несколько факторов, которые могут влиять на стабильность работы:
1Cv8.1cL и 1Cv8.tmp.*.1CD в исключения сканирования.Подведем итог: для успешной публикации сетевой файловой базы 1С необходимо обеспечить «сквозную» авторизацию. Мы создаем доменного пользователя, назначаем его в качестве «двигателя» пула приложений и в обязательном порядке указываем IIS использовать именно это удостоверение для анонимных подключений, обращаясь к базе исключительно по полному сетевому пути.