К статье
Практический материал

Администрирование · 12 мин

ISAPI DLL: как включить веб-доступ к 1С через IIS

Как включить ISAPI-расширение 1С (wsisapi.dll) на IIS: установка компонентов, настройка публикации базы, типичные ошибки и проверка работы веб-доступа.

Запрос «isapi dll как включить 1С» почти всегда означает одну и ту же задачу: нужно опубликовать информационную базу 1С на веб-сервере IIS, а для этого требуется включить и зарегистрировать ISAPI-расширение 1С — библиотеку wsisapi.dll. Без неё IIS не сможет передавать запросы браузера в платформу 1С, и веб-клиент либо тонкий клиент по HTTP работать не будут.

ISAPI (Internet Server Application Programming Interface) — это интерфейс расширения веб-сервера Microsoft IIS. Расширение 1С реализовано именно как ISAPI-модуль: IIS загружает wsisapi.dll, а та уже взаимодействует с сервером 1С или файловой базой. Поэтому «включить ISAPI DLL для 1С» — это на деле последовательность: установить компоненты IIS, установить модуль расширения веб-сервера из дистрибутива 1С, разрешить ISAPI-расширение и опубликовать базу.

Ниже разобран полный порядок действий для Windows Server и клиентских версий Windows с IIS, а также типичные ошибки и способы проверки результата.

Что такое wsisapi.dll и когда она нужна

Библиотека wsisapi.dll входит в состав платформы 1С:Предприятие и устанавливается вместе с компонентой «Модуль расширения веб-сервера». Именно этот файл IIS вызывает при обращении к опубликованной базе: он принимает HTTP-запрос, передаёт его платформе 1С и возвращает ответ браузеру или тонкому клиенту.

ISAPI-расширение требуется в трёх сценариях: работа пользователей через веб-клиент в браузере, подключение тонкого клиента по протоколу HTTP к опубликованной базе и работа веб-сервисов/HTTP-сервисов, опубликованных из конфигурации. Если база используется только через толстый клиент по локальной сети или через сервер 1С напрямую, ISAPI не нужен.

Подготовка: что должно быть установлено заранее

Перед настройкой убедитесь, что на машине установлена платформа 1С:Предприятие той же разрядности, что и планируемый пул приложений IIS. Для 64-разрядного IIS нужен 64-разрядный модуль расширения веб-сервера; смешивание разрядностей — самая частая причина ошибки «модуль не загружается».

Проверьте, что у вас есть права локального администратора на сервере: установка компонентов IIS, регистрация ISAPI и публикация базы требуют повышенных привилегий. Также заранее определите, к какой базе будет идти обращение — файловой или клиент-серверной, потому что от этого зависят настройки доступа учётной записи пула приложений.

Шаг 1. Включение IIS и компонентов ISAPI в Windows

По умолчанию IIS в Windows отключён, а даже при включённом IIS компоненты ISAPI часто не установлены. Без них раздел «Ограничения ISAPI и CGI» в диспетчере IIS просто отсутствует, и включить расширение 1С не получится.

Установка компонентов IIS
  1. 1
    Откройте «Панель управления» → «Программы» → «Включение или отключение компонентов Windows» (на серверной ОС — мастер добавления ролей, роль «Веб-сервер (IIS)»).
  2. 2
    Раскройте «Службы IIS» → «Службы Интернета» → «Компоненты разработки приложений» (в серверной ОС — службы роли «Разработка приложений»).
  3. 3
    Отметьте «Расширения ISAPI» (ISAPI Extensions) и «Фильтры ISAPI» (ISAPI Filters), при необходимости — CGI.
  4. 4
    В разделе «Общие функции HTTP» оставьте «Статическое содержимое» и «Документ по умолчанию».
  5. 5
    Завершите установку и выполните команду iisreset в командной строке от имени администратора.

После установки откройте диспетчер служб IIS (inetmgr) и убедитесь, что на уровне сервера появились значки «Ограничения ISAPI и CGI» и «Сопоставления обработчиков». Их наличие — признак того, что компоненты ISAPI установлены корректно.

Шаг 2. Установка модуля расширения веб-сервера 1С

Модуль расширения веб-сервера — отдельный компонент в установщике платформы 1С. Если при установке платформы его не выбирали, wsisapi.dll на диске отсутствует, и публикация завершится ошибкой.

Запустите установщик платформы 1С нужной версии, выберите изменение установки и отметьте компонент «Модуль расширения веб-сервера» (в английском интерфейсе — Web server extension module). После установки файл wsisapi.dll появится в каталоге bin соответствующей версии платформы, обычно по пути вида C:\Program Files\1cv8\<версия>\bin\wsisapi.dll.

Шаг 3. Публикация базы и включение ISAPI-расширения

Самый надёжный способ включить ISAPI для 1С — опубликовать базу штатными средствами конфигуратора: он сам создаст виртуальный каталог, пропишет сопоставление обработчика и зарегистрирует расширение. Запустите конфигуратор от имени администратора, откройте нужную базу и выполните «Администрирование» → «Публикация на веб-сервере».

В диалоге публикации укажите имя публикации (латиница, без пробелов — это будет часть URL), выберите веб-сервер IIS и каталог публикации. Отметьте нужные типы доступа: веб-клиент, тонкий клиент, веб-сервисы. После нажатия «Опубликовать» конфигуратор создаст файл default.vrd в каталоге публикации и настройки в IIS.

Если публикация выполняется вручную или конфигуратор не смог зарегистрировать расширение, включите ISAPI самостоятельно: в диспетчере IIS на уровне сервера откройте «Ограничения ISAPI и CGI», добавьте запись с путём к wsisapi.dll и установите флажок «Разрешить выполнение расширения». Затем на уровне сайта или виртуального каталога проверьте «Сопоставления обработчиков» — должно быть сопоставление для нужных расширений (например, *.1cws, запросы веб-клиента) с указанием на wsisapi.dll.

cmd
%windir%\system32\inetsrv\appcmd.exe set config /section:isapiCgiRestriction /+[path='C:\Program Files\1cv8\8.3.22.1750\bin\wsisapi.dll',description='1C Web Extension',allowed='true']

Шаг 4. Настройка пула приложений и прав доступа

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

Для 64-разрядного модуля 1С параметр «Разрешить 32-разрядные приложения» (Enable 32-Bit Applications) должен быть отключён — False. Если установлен 32-разрядный модуль, наоборот, включите этот параметр. Управляемый конвейер (Managed Pipeline Mode) рекомендуется оставить в режиме «Классический» (Classic) при возникновении проблем с обработчиками, хотя в большинстве случаев работает и Integrated.

Учётная запись пула (по умолчанию ApplicationPoolIdentity) должна иметь доступ: к каталогу публикации — чтение, к каталогу файловой базы — полный доступ (если база файловая), к каталогам платформы — чтение и выполнение. Для клиент-серверной базы важнее, чтобы с сервера IIS была сетевая доступность сервера 1С и кластер разрешал подключение.

Типичные ошибки
01
Несовпадение разрядности: 64-разрядный IIS и 32-разрядная wsisapi.dll — ошибка 500 или «модуль не может быть загружен».
02
В пуле приложений включён режим 32-разрядных приложений при 64-разрядном модуле — рабочий процесс падает при первом запросе.
03
Не установлен компонент «Расширения ISAPI» в IIS — в диспетчере нет раздела ограничений, расширение невозможно разрешить.
04
У учётной записи пула нет прав на каталог файловой базы — ошибка доступа к базе при открытии веб-клиента.
05
Публикация выполнена из конфигуратора, запущенного без прав администратора, — виртуальный каталог создан, но ISAPI не зарегистрирован.

Проверка результата и диагностика ошибок

После публикации откройте в браузере адрес вида http://имя_сервера/имя_публикации. Признак успешной настройки — загрузка страницы входа веб-клиента 1С со списком пользователей или формой авторизации. Если вместо этого ошибка, её код подскажет направление диагностики.

Контрольные точки

Как проверить результат

Открытие URL публикации в браузере
Норма

Загружается страница входа веб-клиента 1С

Тревожный признак

Ошибка 404 — не создан виртуальный каталог; 500 — проблема с ISAPI или разрядностью; 403 — нет прав или запрещено расширение

Ограничения ISAPI и CGI в диспетчере IIS
Норма

wsisapi.dll присутствует, состояние «Разрешено»

Тревожный признак

Записи нет или состояние «Запрещено»

Журнал событий Windows (Приложение, System)
Норма

Нет ошибок от источников IIS/W3SVC при обращении

Тревожный признак

Ошибки загрузки модуля wsisapi.dll или сбой w3wp.exe

Файл default.vrd в каталоге публикации
Норма

Существует, содержит корректную строку подключения к базе

Тревожный признак

Файл отсутствует или путь к базе неверен

Ошибка 500.19 обычно означает проблему в конфигурации web.config виртуального каталога, 500.21 — что обработчик не найден или запрещён, а 404.17 — что ISAPI-расширение не разрешено на уровне сервера. Журналы IIS (по умолчанию в C:\inetpub\logs\LogFiles) позволяют уточнить подкод ошибки по каждому запросу.

Маршрут решения

Как выбрать действие

Ошибка 404.17 или «расширение запрещено»Откройте «Ограничения ISAPI и CGI» и разрешите wsisapi.dll
Ошибка 500 сразу при обращении, в журнале сбой w3wp.exeПроверьте разрядность модуля и параметр Enable 32-Bit Applications в пуле
Веб-клиент открывается, но не подключается к базеПроверьте строку подключения в default.vrd и права учётной записи пула
В диспетчере IIS нет раздела «Ограничения ISAPI и CGI»Доустановите компонент «Расширения ISAPI» в компонентах Windows

Альтернативы IIS и ограничения веб-доступа

IIS — не единственный вариант публикации 1С. Платформа поддерживает публикацию на Apache (через модуль wsap22/wsap24 в зависимости от версии), что актуально для Linux-серверов и смешанных инфраструктур. Порядок публикации из конфигуратора аналогичен, но вместо ISAPI используется модуль Apache, и настраивается он через httpd.conf.

Учитывайте ограничения веб-доступа: файловая база через веб-сервер работает медленнее клиент-серверной и хуже переносит большое число одновременных пользователей; для доступа из интернета обязательно настройте HTTPS и сертификат, иначе логины и данные передаются открытым текстом. Публикация базы напрямую в интернет без VPN, брандмауэра и ограничения доступа — серьёзный риск для данных.

Варианты веб-доступа к 1С

IIS + wsisapi.dll

Штатный вариант для Windows-инфраструктуры, простая публикация из конфигуратора. Требует роли IIS и совпадения разрядности.

Apache + модуль 1С

Подходит для Linux и кроссплатформенных схем. Настройка сложнее, правка конфигурации вручную.

Сервер 1С + тонкий клиент по TCP

Без веб-сервера вообще; подходит для локальной сети, но не даёт работы через браузер.

FAQ

Где находится файл wsisapi.dll?

В каталоге bin установленной версии платформы 1С, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\wsisapi.dll. Если файла нет — компонент «Модуль расширения веб-сервера» не установлен, запустите установщик платформы и добавьте его.

Можно ли опубликовать 1С на IIS без конфигуратора?

Да, с помощью утилиты webinst из каталога bin платформы или полностью вручную: создать виртуальный каталог, разместить default.vrd, добавить сопоставление обработчика и разрешить wsisapi.dll в ограничениях ISAPI. Но публикация из конфигуратора надёжнее и быстрее.

Почему после публикации ошибка 500, а в журнале сбой w3wp.exe?

Чаще всего это несовпадение разрядности: 64-разрядный пул приложений пытается загрузить 32-разрядную wsisapi.dll или наоборот. Проверьте параметр «Разрешить 32-разрядные приложения» в настройках пула и версию установленного модуля расширения.

Нужно ли включать ISAPI-фильтры для 1С?

Для работы веб-клиента и веб-сервисов достаточно ISAPI-расширения (wsisapi.dll). ISAPI-фильтры 1С не использует, но сам компонент «Фильтры ISAPI» в Windows обычно устанавливают вместе с расширениями — вреда от этого нет.

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

Только при обязательном использовании HTTPS с действующим сертификатом, сильных паролях пользователей и ограничении доступа (VPN, IP-фильтрация, отдельный сайт). Публикация по HTTP в открытый интернет передаёт учётные данные и содержимое базы без шифрования.

Одна wsisapi.dll может обслуживать несколько баз?

Да. Каждая публикация — отдельный виртуальный каталог со своим default.vrd, но все они могут использовать одно и то же ISAPI-расширение одной версии платформы. Для баз на разных версиях платформы потребуются отдельные пулы приложений и модули соответствующих версий.

Итог

Что важно запомнить

Включение ISAPI DLL для 1С — это установка компонентов IIS с поддержкой ISAPI, установка модуля расширения веб-сервера из дистрибутива платформы, разрешение wsisapi.dll и публикация базы через конфигуратор. Ключевые условия успеха: совпадение разрядности и версии модуля с платформой, правильные настройки пула приложений и права учётной записи пула на каталоги.