IIS (Internet Information Services) — штатный веб-сервер Windows Server. Если инфраструктура компании построена на Windows, публикация 1С через IIS логична: не нужен отдельный Linux-сервер, настройка через привычную графическую консоль, интеграция с Active Directory из коробки.

Через веб-сервер 1С работает в браузере — веб-клиент. Помимо веб-клиента, IIS нужен для HTTP-сервисов 1С (интеграции), REST API и мобильного приложения. Если вы уже перешли на клиент-серверный режим, публикация на веб-сервере — следующий шаг.

В этой статье: установка IIS на Windows Server, подключение модуля расширения 1С (wsapISAPI.dll), публикация информационной базы, настройка аутентификации и диагностика ошибок. Параллельная статья для Linux — настройка веб-сервера 1С на Apache.

Что потребуется

Перед настройкой подготовьте сервер и программное обеспечение. Кластер серверов 1С должен быть установлен и работать — инструкция по настройке кластера.

КомпонентТребованиеПримечание
ОСWindows Server 2016 / 2019 / 2022Desktop Experience не обязателен — Server Core тоже подходит
IIS10.0 (входит в Windows Server)Устанавливается как роль сервера
Платформа 1С1С:Предприятие 8.3.20+Серверные компоненты + модуль расширения веб-сервера
Модуль 1СwsapISAPI.dll (устанавливается с платформой)Разрядность должна совпадать с пулом приложений (64-бит)
СУБДMS SQL Server или PostgreSQLСравнение SQL vs PostgreSQL для 1С
Кластер 1Сragent + rmngr + rphost запущеныПорты 1540, 1541, 1560+ слушаются
ПраваЛокальный администраторДля установки ролей IIS и публикации

Минимальные требования к оборудованию зависят от числа пользователей — подробности в требованиях к серверу для 1С. Веб-сервер создаёт дополнительную нагрузку: закладывайте +20% по RAM и CPU.

Установка и настройка IIS

IIS не установлен по умолчанию — его нужно добавить как роль Windows Server. Два способа: через Server Manager (GUI) или PowerShell.

Через Server Manager

Через PowerShell

# Установка IIS с нужными компонентами
Install-WindowsFeature Web-Server `
  -IncludeSubFeature `
  -IncludeManagementTools

# Дополнительные компоненты для 1С
Install-WindowsFeature Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Windows-Auth

После установки проверьте: откройте в браузере http://localhost. Должна отобразиться стандартная страница IIS. Если страница не открывается — убедитесь, что служба W3SVC запущена: Get-Service W3SVC.

Обязательные компоненты IIS

Модуль расширения 1С (wsapISAPI.dll) — это ISAPI-расширение. Без компонентов ISAPI Extensions и ISAPI Filters публикация не заработает. Проверьте, что они установлены:

# Проверить установленные компоненты IIS
Get-WindowsFeature Web-ISAPI-Ext, Web-ISAPI-Filter | Format-Table Name, Installed

# Должно быть:
# Name               Installed
# ----               ---------
# Web-ISAPI-Ext      True
# Web-ISAPI-Filter   True

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

Модуль wsapISAPI.dll — динамическая библиотека, которая встраивается в IIS и связывает HTTP-запросы с кластером 1С. Аналог wsap24.so для Apache — только для Windows.

Модуль устанавливается автоматически вместе с платформой 1С, если выбран компонент «Модули расширения веб-сервера». Подробнее о модулях расширения — в отдельной статье.

Проверка установки

После установки платформы 1С модуль находится в каталоге:

# Типичный путь
C:\Program Files\1cv8\8.3.25.1257\bin\wsapISAPI.dll

# Найти модуль на диске
Get-ChildItem -Path "C:\Program Files\1cv8" -Recurse -Filter "wsapISAPI.dll"

Если файла нет — переустановите платформу 1С с компонентом «Модули расширения веб-сервера». В установщике это отдельный чекбокс. Запомните полный путь к DLL — он понадобится при регистрации в IIS.

Регистрация ISAPI-расширения в IIS

IIS по умолчанию блокирует неизвестные ISAPI-расширения. Нужно явно разрешить wsapISAPI.dll в ограничениях ISAPI и CGI:

Через PowerShell:

# Разрешить ISAPI-расширение 1С
Add-WebConfiguration "/system.webServer/security/isapiCgiRestriction" -PSPath "IIS:\" `
  -Value @{
    path = "C:\Program Files\1cv8\8.3.25.1257\bin\wsapISAPI.dll"
    allowed = "true"
    description = "1C Enterprise 8.3"
  }

Без этого шага при обращении к опубликованной базе IIS вернёт ошибку 404.2 — «ISAPI module not allowed».

Настройка пула приложений

Для публикации 1С создайте отдельный пул приложений. Отдельный пул изолирует процесс 1С от остальных сайтов на сервере и позволяет задать нужные параметры.

Дополнительные настройки пула (правый клик → Advanced Settings):

ПараметрЗначениеЗачем
Enable 32-Bit ApplicationsFalseПлатформа 1С 64-бит — пул тоже должен быть 64-бит
IdentityLocalSystem или выделенная учётная записьПул должен иметь доступ к каталогам платформы 1С
Idle Time-out (minutes)0Не останавливать пул при простое — первый запрос после остановки будет медленным
Regular Time Interval (minutes)0Отключить периодическую перезагрузку — обрывает активные сеансы 1С

Режим Classic обязателен. В режиме Integrated модуль wsapISAPI.dll не загружается — IIS вернёт ошибку 500 при обращении к базе. Это частая ошибка при настройке.

Публикация информационной базы

Публикация — привязка URL к информационной базе в кластере 1С. После публикации по адресу http://сервер/имя-базы откроется веб-клиент. Два способа: через Конфигуратор 1С (графический) и через утилиту webinst (командная строка).

Через Конфигуратор 1С

Самый простой способ на Windows — Конфигуратор делает всё автоматически.

Конфигуратор создаст виртуальный каталог в IIS, файл default.vrd с параметрами подключения и назначит обработчик wsapISAPI.dll. Перезапуск IIS не требуется — публикация применяется сразу.

Через утилиту webinst

Командная строка полезна на Server Core (без GUI), при автоматизации или когда Конфигуратор недоступен.

REM Создать каталог публикации
mkdir C:\inetpub\wwwroot\accounting

REM Публикация базы на IIS
"C:\Program Files\1cv8\8.3.25.1257\bin\webinst.exe" ^
  -iis ^
  -wsdir accounting ^
  -dir "C:\inetpub\wwwroot\accounting" ^
  -connstr "Srvr=localhost;Ref=accounting;"

Параметры:

webinst создаст виртуальный каталог в Default Web Site, файл default.vrd и назначит обработчик wsapISAPI.dll. Убедитесь, что ISAPI-расширение разрешено (предыдущий раздел) — без этого публикация не заработает.

Ручная настройка (default.vrd + IIS Manager)

Когда webinst и Конфигуратор недоступны или нужна нестандартная конфигурация.

Шаг 1. Создайте каталог и файл 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="/accounting"
  ib="Srvr=localhost;Ref=accounting;">
</point>

Сохраните как C:\inetpub\wwwroot\accounting\default.vrd.

Шаг 2. Создайте виртуальный каталог в IIS:

Шаг 3. Добавьте обработчик ISAPI:

Настройка аутентификации

IIS поддерживает несколько способов аутентификации для публикаций 1С. Выбор зависит от сценария доступа.

СпособКогда использоватьНастройка в IIS
АнонимнаяВеб-клиент, мобильное приложение, HTTP-сервисы — аутентификация на уровне 1СВключить Anonymous Authentication, отключить остальные
Windows (NTLM/Kerberos)Сквозная авторизация через Active Directory — пользователь входит в 1С без ввода логина/пароляВключить Windows Authentication, отключить Anonymous
Анонимная + WindowsКомбинированный режим — 1С пробует Windows-авторизацию, при неудаче запрашивает логин/парольВключить оба варианта

Анонимная аутентификация (стандартный вариант)

При анонимной аутентификации IIS не проверяет учётные данные — пропускает все запросы. Аутентификацию выполняет сама 1С: пользователь вводит логин и пароль на странице входа в веб-клиенте.

Это стандартный вариант для веб-клиента, HTTP-сервисов и мобильного приложения. Настраивается по умолчанию при публикации через Конфигуратор.

Windows-аутентификация (SSO через Active Directory)

Пользователь открывает 1С в браузере и входит автоматически — без ввода логина и пароля. IIS проверяет учётные данные через Active Directory (NTLM или Kerberos). Для этого в справочнике пользователей 1С должна быть привязка к доменной учётной записи.

Настройка:

Для работы Kerberos (предпочтительнее NTLM по безопасности и производительности) зарегистрируйте SPN:

REM Регистрация SPN для Kerberos
setspn -S HTTP/server-name DOMAIN\ServiceAccount
setspn -S HTTP/server-name.domain.local DOMAIN\ServiceAccount

Где ServiceAccount — учётная запись, под которой работает пул приложений 1CAppPool.

Проверка работоспособности

После публикации проверьте доступ к базе через браузер. Откройте http://localhost/accounting — должна загрузиться страница входа в веб-клиент 1С.

Если страница входа открылась

Публикация работает. Проверьте дополнительно:

Если страница не открылась

Диагностика по шагам:

Подробнее о диагностике ошибок HTTP — в статье Ошибка HTTP при обращении к серверу 1С. О проблемах с кодом 500 — в отдельном разборе.

Пошаговая инструкция настройки IIS для 1С

Типичные ошибки при настройке IIS для 1С

403 Forbidden — ISAPI не разрешён

IIS возвращает 403.1 или 404.2. Причина: wsapISAPI.dll не добавлен в ISAPI and CGI Restrictions или не отмечен флаг «Allow execution». Решение — добавьте расширение в ограничениях ISAPI на уровне сервера (не сайта).

500 Internal Server Error

Модуль загрузился, но не может подключиться к кластеру 1С. Частые причины:

Подробнее — в статье Код ответа 500 в веб-сервисе 1С.

Модуль wsapISAPI.dll не загружается

В Event Viewer ошибка «The Module DLL could not be loaded». Причины:

Пул приложений останавливается

Пул 1CAppPool самопроизвольно переходит в состояние Stopped. В Event Viewer — ошибка от W3SVC. Причины:

Проблемы с запуском агента сервера 1С разобраны в отдельной статье — Агент сервера 1С запускается и останавливается.

Вопросы и ответы

Какой веб-сервер лучше для 1С — IIS или Apache?

IIS работает только на Windows, Apache — на Linux и Windows. По производительности для 1С они одинаковы: узкое место — сервер приложений и СУБД. Если инфраструктура на Windows Server — используйте IIS: встроенная интеграция с Active Directory, управление через привычные инструменты. Для Linux — Apache единственный поддерживаемый вариант. Подробнее — в статье о настройке Apache для 1С.

Можно ли опубликовать несколько баз 1С на одном IIS?

Да. Каждая база публикуется как отдельное приложение с уникальным именем: /accounting, /zup, /ut. Все приложения могут работать в одном пуле 1CAppPool. Повторите публикацию через Конфигуратор или webinst с другим -wsdir для каждой базы.

Нужно ли переопубликовывать базы после обновления платформы 1С?

Да. Модуль wsapISAPI.dll привязан к конкретной версии платформы. После обновления путь к DLL меняется. Обновите путь в ISAPI and CGI Restrictions, переопубликуйте базы через Конфигуратор или webinst. Без этого IIS будет загружать старый модуль, несовместимый с обновлённым сервером 1С.

Почему пул приложений 1С должен работать в режиме Classic?

Модуль wsapISAPI.dll — это ISAPI-расширение. ISAPI работает только в режиме Classic pipeline. В режиме Integrated модуль не загружается и IIS возвращает ошибку 500. При создании пула выберите Classic, не меняйте на Integrated.

Как настроить HTTPS для 1С на IIS?

Получите SSL-сертификат: корпоративный (от внутреннего CA) или публичный (Let’s Encrypt через win-acme). В IIS Manager: Site Bindings → Add → тип https, выберите сертификат, порт 443. Для перенаправления HTTP → HTTPS установите модуль URL Rewrite и создайте правило редиректа.

IIS и сервер 1С должны быть на одной машине?

Не обязательно. IIS и кластер 1С могут быть на разных серверах. Установите на машину с IIS только компонент «Модули расширения веб-сервера» — серверные компоненты кластера не нужны. В default.vrd укажите IP сервера 1С: Srvr=192.168.1.10;Ref=accounting;. Откройте порты 1540-1541 и 1560-1591 между машинами.

Как проверить, загружен ли модуль 1С в IIS?

Откройте IIS Manager → приложение → Handler Mappings. Должна быть запись с путём к wsapISAPI.dll. Проверьте также ISAPI and CGI Restrictions на уровне сервера — расширение должно иметь статус Allowed. Если модуль не загружается — ищите ошибку в Event Viewer → Windows Logs → Application.

Итог

Настройка IIS для 1С 8.3 — семь шагов. Установить роль IIS с компонентами ISAPI, разрешить модуль wsapISAPI.dll, создать пул приложений в режиме Classic, опубликовать базу, настроить аутентификацию. Конфигуратор 1С делает большую часть автоматически — на Server Core без GUI используйте webinst.

Основные грабли: пул приложений в режиме Integrated вместо Classic, ISAPI-расширение не разрешено в ограничениях, Enable 32-Bit Applications включён для 64-битной платформы. Если после публикации веб-клиент не открывается — проверяйте цепочку: IIS запущен → пул Started → ISAPI разрешён → служба 1С работает → порты открыты → default.vrd корректен.

Если вы работаете на Linux — используйте Apache вместо IIS. Подробнее о модулях расширения веб-сервера для обеих платформ — в отдельной статье.

При ошибках HTTP — разбор в статье Ошибка HTTP при обращении к серверу 1С. При ошибке 500 — диагностика кода 500 в веб-сервисе.

Производительность веб-клиента 1С зависит от сервера приложений и СУБД, а не от IIS. Проверенные конфигурации для разного числа пользователей — на странице подбора сервера.

active-directory iis webinst wsapisapi веб-сервер гайд настройка