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

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

Развертывание веб-клиента «1С:Предприятия» на веб-сервере Microsoft Internet Information Services (IIS) — распространенная задача при организации удаленного доступа сотрудников к информационным базам. Однако начинающие специалисты нередко сталкиваются с ситуацией, когда при переходе по ссылке вида http://localhost/demo веб-интерфейс 1С не открывается, а браузер отображает список файлов каталога либо выдает ошибку HTTP 401.2 — Unauthorized. Рассмотрим подробнее причины такого поведения и разберем по шагам, как корректно настроить IIS и платформу 1С.

Анализ первоначальной проблемы: почему открывается папка вместо веб-клиента

Выясним причину, по которой браузер показывает содержимое директории (включая файл default.vrd), а не запускает саму 1С. Это происходит в двух основных случаях:

  1. Каталог не преобразован в веб-приложение IIS. Для веб-сервера указанный путь является простым виртуальным каталогом с включенным просмотром содержимого (Directory Browsing), а не изолированным приложением со своим обработчиком запросов.
  2. Отсутствует сопоставление с обработчиком платформы wsapi.dll. Запросы к файлу описания публикации default.vrd не передаются динамической библиотеке 1С, и IIS не может их отработать.

Подготовка компонентов Windows для работы с 1С

Перед публикацией базы проверим наличие обязательных компонентов операционной системы. Посмотрим на список модулей веб-сервера IIS, без которых сопоставление с модулем 1С работать не сможет. В оснастке «Включение или отключение компонентов Windows» в ветке «Службы IIS» -> «Службы Интернета» -> «Компоненты разработки приложений» должны быть обязательно установлены:

  1. Расширения ISAPI (ISAPI Extensions);
  2. Фильтры ISAPI (ISAPI Filters).

Если эти компоненты отсутствуют, веб-сервер физически не сможет загружать и выполнять библиотеку wsapi.dll.

Публикация базы через Конфигуратор от имени администратора

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

  1. Закроем Конфигуратор, если он был открыт.
  2. Запустим ярлык 1С:Предприятия с повышенными привилегиями — выберем в контекстном меню пункт «Запуск от имени администратора». Это критически важно, так как для внесения изменений в системные файлы IIS требуются административные права в операционной системе.
  3. Откроем нужную информационную базу в режиме «Конфигуратор».
  4. Перейдем в главное меню: Администрирование -> Публикация на веб-сервере...
  5. В открывшемся окне укажем имя публикации (например, demo), выберем веб-сервер Internet Information Services и укажем каталог на диске, куда будут записаны файлы публикации.
  6. Установим флажок «Опубликовать веб-клиент» и нажмем кнопку «Опубликовать».

При наличии прав администратора платформа автоматически создаст в IIS приложение, привяжет его к нужному пулу и корректно сформирует файл web.config с сопоставлением обработчиков.

Устранение ошибки HTTP 401.2 — Unauthorized

Проанализируем ситуацию, когда после корректной публикации при попытке открыть веб-клиент по адресу http://localhost/demo/ru_RU/ возникает ошибка отказа в доступе HTTP 401.2 — Unauthorized. Это указывает на конфликт способов аутентификации в настройках веб-сервера.

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

  1. Откроем Диспетчер служб IIS (команда inetmgr в меню «Выполнить»).
  2. В левом дереве подключений раскроем узел сервера, затем «Сайты» -> «Default Web Site» и выберем наше опубликованное приложение (например, demo).
  3. В центральной части окна в разделе «IIS» дважды кликнем по значку «Проверка подлинности» (Authentication).
  4. Проверим состояние способов аутентификации:
    1. Пункт «Анонимная проверка подлинности» (Anonymous Authentication) должен быть переведен в состояние «Включено» (Enabled).
    2. Все остальные типы авторизации (например, «Обычная проверка подлинности», «Дайджест-проверка подлинности», «Проверка подлинности Windows») для стандартного сценария переведем в состояние «Отключено» (Disabled), чтобы веб-сервер не запрашивал системные учетные записи Windows.
  5. Перезапустим веб-сервер IIS, выбрав сервер в дереве и нажав в панели действий «Перезапустить», либо выполнив в командной строке команду iisreset.

Важные системные настройки: разрядность пула и права доступа

Рассмотрим дополнительные технические нюансы, с которыми часто сталкиваются при промышленной эксплуатации веб-клиента на IIS:

  1. Разрядность пула приложений (32 и 64 бит). Если на 64-разрядной Windows используется 32-разрядная платформа «1С:Предприятие» (x86), то в диспетчере IIS откроем «Пулы приложений», найдем пул, на котором работает наше приложение (обычно DefaultAppPool), перейдем в «Дополнительные параметры» и установим свойство «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) в значение True. Если используется 64-битная платформа 1С, параметр должен иметь значение False.
  2. Ограничения ISAPI и CGI. На корневом уровне сервера в диспетчере IIS проверим раздел «Ограничения ISAPI и CGI». Убедимся, что для библиотеки wsapi.dll установлен статус «Разрешено», иначе запросы будут прерываться с ошибкой HTTP 404.2.
  3. Права файловой системы NTFS. Учетным записям IUSR и группе IIS_IUSRS необходимо предоставить права на чтение и выполнение к каталогу bin установленной платформы 1С и к папке публикации. При использовании файловой базы пользователю пула приложений также обязательно требуются права на изменение (Write/Modify) к папке, где расположен файл базы данных 1Cv8.1CD.

Проверка работы веб-клиента

После выполнения указанных настроек откроем браузер и введем адрес:

http://localhost/demo/

Веб-сервер передаст управление модулю wsapi.dll, который успешно инициализирует сеанс и отобразит стандартное окно авторизации пользователей «1С:Предприятия».

← На главную