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

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

Как опубликовать базу 1С на IIS

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

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

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

Инструкция ориентирована на Windows Server или Windows 10/11 с IIS, платформу 1С:Предприятие 8.3 и типовой сценарий публикации. Команды и названия оснасток актуальны для современных версий платформы.

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

До начала публикации убедитесь, что на сервере установлены три обязательных компонента. Первый — сам веб-сервер IIS. Второй — платформа 1С:Предприятие с обязательным компонентом «Модули расширения веб-сервера» (он не устанавливается по умолчанию, его нужно явно отметить в установщике). Третий — развёрнутая информационная база: файловая в каталоге на диске или клиент-серверная на MS SQL Server / PostgreSQL.

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

Установка и настройка IIS с нужными компонентами

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

Минимальный набор компонентов: «Веб-сервер → Общие функции HTTP» (статическое содержимое, документ по умолчанию), «Разработка приложений» — обязательно ISAPI Extensions и ISAPI Filters, а также CGI. Без ISAPI-расширений обработчик 1С не сможет зарегистрироваться, и публикация завершится ошибкой. Дополнительно удобно включить консоль управления IIS для визуального контроля.

Включение IIS и компонентов
  1. 1
    Откройте «Компоненты Windows» и отметьте «Службы IIS»
  2. 2
    Внутри разверните «Службы интернета → Безопасность и разработка приложений» и включите ISAPI Extensions, ISAPI Filters, CGI
  3. 3
    Включите «Средства управления веб-сайтом → Консоль управления IIS»
  4. 4
    Нажмите OK и дождитесь установки
  5. 5
    Проверьте: откройте в браузере http://localhost — должна открыться стартовая страница IIS

После установки проверьте работоспособность: в браузере по адресу http://localhost должна открыться приветственная страница IIS. Если страница не открывается, проверьте, запущена ли служба W3SVC (служба веб-публикаций) и не занят ли порт 80 другим приложением, например Skype или другим веб-сервером.

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

Модули расширения — это связующее звено между IIS и платформой 1С. Они ставятся вместе с платформой, но как отдельный компонент. Запустите дистрибутив платформы, выберите «Изменить» и отметьте «Модули расширения веб-сервера». Версия модулей должна совпадать с версией платформы, на которой работает база, — смешивание релизов приводит к ошибкам загрузки.

Если на сервере установлено несколько версий платформы 1С, публиковать базу нужно тем конфигуратором, версия которого соответствует рабочей версии базы. Именно его модули будут зарегистрированы в IIS при публикации.

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

Основной способ публикации — штатный механизм конфигуратора. Откройте конфигуратор от имени администратора (это важно: без повышенных прав регистрация в IIS завершится ошибкой доступа), затем перейдите в меню «Администрирование → Публикация на веб-сервере».

В окне публикации укажите имя публикации — оно станет частью URL (латиницей, без пробелов, например trade или demo). Выберите веб-сервер IIS, укажите каталог публикации (обычно создаётся автоматически внутри каталога сайта, например C:\inetpub\wwwroot\trade) и при необходимости отметьте публикацию веб-сервисов и HTTP-сервисов, если они используются в конфигурации. Нажмите «Опубликовать» и дождитесь сообщения об успешном завершении.

text
Конфигуратор → Администрирование → Публикация на веб-сервере → Имя: trade → Веб-сервер: IIS → Опубликовать

Альтернатива графическому интерфейсу — утилита командной строки webinst из каталога bin платформы. Она полезна для автоматизации публикации скриптами, например при массовом обновлении нескольких баз. Команда публикации выглядит примерно так: webinst -publish -iis -wsdir trade -dir "C:\inetpub\wwwroot\trade" -connstr "File=C:\Bases\Trade;". Параметры подробно описаны в документации к платформе.

Права доступа к каталогам и файлам

Наиболее частая причина неработающей публикации — недостаток прав у учётной записи, под которой работает пул приложений IIS. По умолчанию это виртуальная учётная запись IIS AppPool\DefaultAppPool либо IUSR. Этой учётной записи нужны права на чтение и изменение каталога файловой базы (включая вложенные файлы), а также на чтение каталога публикации.

Для файловой базы откройте свойства каталога базы, вкладка «Безопасность», и добавьте пользователя IIS AppPool\DefaultAppPool (или IUSR) с правами «Изменение» и «Запись». Без права записи пользователи смогут открыть базу, но любая попытка записи данных завершится ошибкой. Для клиент-серверной базы права на файловый каталог не нужны — доступ к данным обеспечивает сервер 1С.

Проверка публикации и работа через браузер

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

Если вместо окна входа отображается ошибка, ориентируйтесь на её код: 403 — проблема с правами или анонимной проверкой подлинности, 404 — неверный URL или публикация не создана, 500 — ошибка модуля расширения (чаще всего разрядность или версия). Журналы IIS в каталоге C:\inetpub\logs\LogFiles помогают уточнить причину.

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

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

Открытие http://сервер/имя_публикации
Норма

Появляется окно входа веб-клиента 1С

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

Ошибка 403, 404 или 500

Вход под пользователем и запись документа
Норма

Документ проводится без ошибок

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

Ошибка доступа к файлу базы — не хватает прав на каталог

Работа тонкого клиента по URL публикации
Норма

База открывается по HTTP-адресу

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

Ошибка соединения — проверьте брандмауэр и привязки сайта

Типичные ошибки и способы их устранения

Ошибка «HTTP 500.0 — внутренняя ошибка сервера» почти всегда означает несовпадение разрядности модуля расширения и пула приложений. Проверьте в консоли IIS: пул приложений → дополнительные параметры → «Разрешить 32-разрядные приложения». Для 64-битных модулей этот параметр должен быть False.

Ошибка «Ошибка HTTP 403.14 — запрещено» при открытии корня сайта — нормальное явление, если вы обращаетесь не к публикации, а к корню веб-сервера. Обращайтесь по полному адресу с именем публикации. Ошибка «Ошибка разделенного доступа к файлу» у файловой базы означает, что база открыта монопольно другим сеансом или служба IIS не имеет прав на запись.

Типичные ошибки
01
Публикация из конфигуратора без прав администратора — регистрация в IIS завершается сбоем
02
32-битные модули расширения на 64-битном пуле — ошибка 500 при каждом обращении
03
Отсутствие прав записи у IIS на каталог файловой базы — база открывается, но ничего не сохраняется
04
Публикация версией платформы, отличной от версии базы — ошибки загрузки модулей
05
Открытый в интернет веб-сервер без HTTPS и ограничений доступа — риск компрометации данных

Безопасность и ограничения веб-доступа

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

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

Итог

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

Публикация базы 1С на IIS сводится к трём шагам: установить IIS с ISAPI-компонентами, поставить модули расширения веб-сервера нужной разрядности и опубликовать базу из конфигуратора с правами администратора. Большинство проблем решается проверкой разрядности пула приложений и прав доступа к каталогу базы. Для доступа из интернета обязательно используйте HTTPS.

Частые вопросы о публикации 1С на IIS

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

Да. Каждая база публикуется под своим именем в отдельном каталоге, и все публикации обслуживаются одним веб-сервером. Обращение идёт по разным URL: http://сервер/base1, http://сервер/base2 и так далее. Ограничением служат только ресурсы сервера.

Чем публикация на IIS отличается от публикации на Apache?

Функционально веб-клиент работает одинаково — различается только сам веб-сервер. IIS удобнее в Windows-инфраструктуре: встроен в ОС, интегрируется с доменной аутентификацией. Apache чаще выбирают для Linux-серверов или при наличии готовой экспертизы по нему.

Нужна ли отдельная лицензия 1С для работы через веб-сервер?

Отдельной лицензии на публикацию не требуется — действуют обычные клиентские лицензии 1С. Сеансы через веб-клиент и тонкий клиент по HTTP расходуют лицензии так же, как сеансы в локальной сети.

Почему веб-клиент работает медленнее тонкого клиента?

Веб-клиент выполняет часть логики в браузере и передаёт больше данных при отрисовке интерфейса. На медленных каналах тонкий клиент по тому же HTTP-адресу обычно отзывчивее. Также проверьте настройки сжатия в IIS и загруженность сервера.

Как отменить публикацию базы?

Откройте конфигуратор, перейдите в «Администрирование → Публикация на веб-сервере» и нажмите «Отключить» (либо удалите соответствующий виртуальный каталог в консоли IIS и каталог публикации на диске). Сама информационная база при этом не затрагивается.