Администрирование · 9 мин
Как сделать веб-сервер для 1С: пошаговая настройка и публикация базы
Пошаговая инструкция по настройке веб-сервера для 1С: выбор IIS или Apache, публикация базы, права доступа, проверка работы и типичные ошибки.
Веб-сервер для 1С нужен, когда к базе должны подключаться пользователи через браузер или тонкий клиент по протоколу HTTP, а также когда требуется публиковать HTTP-сервисы и веб-сервисы из конфигурации. Платформа 1С:Предприятие не содержит собственного полноценного веб-сервера: она работает через внешний сервер — Microsoft IIS или Apache, к которому подключается специальный модуль расширения (wsisapi.dll для IIS, модуль wsap для Apache).
Схема работы выглядит так: браузер или тонкий клиент отправляет HTTP-запрос на веб-сервер, тот передаёт его модулю расширения 1С, модуль обращается к информационной базе (файловой или клиент-серверной) и возвращает результат. Поэтому корректная настройка состоит из трёх частей: установка веб-сервера, установка модулей расширения веб-сервера из дистрибутива платформы и публикация информационной базы.
Ниже разобран практический порядок действий для Windows с IIS и для связки с Apache, а также проверка результата, типичные ошибки и ограничения, о которых нужно знать до начала работ.
Определите сценарий: зачем базе веб-доступ
От цели зависит выбор архитектуры и набор настроек. Основных сценариев три: работа пользователей в браузере (веб-клиент), подключение тонкого клиента по HTTP к опубликованной базе и публикация HTTP-сервисов для интеграции с внешними системами. Во всех случаях используется один и тот же механизм публикации, но различаются требования к производительности и безопасности.
Для веб-клиента и тонкого клиента по HTTP желательна клиент-серверная архитектура (1С:Сервер + СУБД), особенно при числе одновременных пользователей больше нескольких человек. Файловая база через веб-сервер работает, но упирается в ограничения файлового режима: блокировки при конкурентной записи и чувствительность к сбоям. Для публикации HTTP-сервисов важно заранее определить, какие методы будут открыты наружу и как будет организована аутентификация.
Сравнение вариантов веб-серверов
Штатный вариант для Windows Server. Простая настройка, интеграция с аутентификацией Windows. Требует лицензии на Windows Server и включения компонентов IIS.
Кроссплатформенный вариант, подходит для Linux и Windows. Требует ручной правки httpd.conf и внимания к версии модуля 1С — она должна совпадать с версией платформы.
Годится только для разработки и тестирования HTTP-сервисов на локальной машине. Не предназначен для реальных пользователей.
Подготовьте сервер и установите компоненты платформы
На машине, которая будет веб-сервером, установите платформу 1С:Предприятие той же версии, что и на сервере приложений. В установщике обязательно отметьте компонент «Модули расширения веб-сервера» — по умолчанию он может быть не выбран. Без этих модулей публикация невозможна: IIS или Apache просто не смогут передать запрос в 1С.
Учётная запись, под которой работает веб-сервер (для IIS это обычно пул приложений, для Apache — служебный пользователь), должна иметь доступ к информационной базе. Для файловой базы — права на чтение и запись в каталог базы, для клиент-серверной — сетевой доступ к серверу 1С и права на каталоги служебных файлов. Эта причина — лидер среди ошибок «база не открывается после публикации».
Настройте IIS и опубликуйте базу
На Windows Server включите компоненты IIS: сам веб-сервер, расширения ISAPI, фильтры ISAPI и поддержку нужной версии .NET не требуется — модуль 1С работает как ISAPI-расширение. После установки убедитесь, что служба W3SVC запущена и сайт по умолчанию отвечает на http://localhost.
Публикацию удобнее всего выполнить из конфигуратора: откройте базу, перейдите в «Администрирование → Публикация на веб-сервере», укажите имя публикации (латиницей, без пробелов), выберите веб-сервер IIS и каталог публикации. Конфигуратор создаст виртуальный каталог, файл default.vrd с параметрами подключения и зарегистрирует обработчик. Для 64-разрядного IIS важно, чтобы в пуле приложений был отключён режим 32-разрядных приложений при использовании 64-разрядных модулей 1С — несоответствие разрядности даёт ошибку 500.
- 1Установите платформу 1С с компонентом «Модули расширения веб-сервера»
- 2Включите IIS и компоненты «Расширения ISAPI» и «Фильтры ISAPI»
- 3Откройте базу в конфигураторе: Администрирование → Публикация на веб-сервере
- 4Укажите имя публикации латиницей и каталог, нажмите «Опубликовать»
- 5Проверьте пул приложений: разрядность должна совпадать с разрядностью модулей 1С
- 6Откройте в браузере http://сервер/имя_публикации и войдите под пользователем базы
Настройте Apache как альтернативу
Apache 2.4 подходит, когда веб-сервер разворачивается на Linux или когда IIS недоступен. Установите Apache, затем скопируйте модуль расширения 1С из каталога платформы и подключите его в конфигурации httpd.conf директивой LoadModule. Далее добавьте описание виртуального пути публикации, ссылающееся на каталог с файлом default.vrd.
Файл default.vrd можно создать вручную или через утилиту публикации webinst из состава платформы. В нём указывается строка подключения к базе: для клиент-серверной — параметры сервера 1С и имя базы, для файловой — путь к каталогу. После правки конфигурации Apache обязательно перезапускайте службу и проверяйте синтаксис командой проверки конфигурации, чтобы не оставить сервер в нерабочем состоянии.
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1750/bin/wsap24.dll"
<Location /base1c>
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/base1c/default.vrd"
</Location>Проверьте результат и доступность базы
Первичная проверка — открыть адрес публикации в браузере с самого сервера, затем с рабочей станции пользователя. Должна открыться страница входа веб-клиента с полями логина и пароля. Если вместо этого ошибка 404 — виртуальный каталог не создан или неверно указан путь; ошибка 500 — проблема с модулем расширения или разрядностью; ошибка доступа к базе — недостаточно прав у учётной записи веб-сервера.
Дополнительно проверьте работу тонкого клиента: в списке баз укажите вариант размещения «На веб-сервере» и адрес публикации. Для HTTP-сервисов проверку выполняют прямым запросом к URL-шаблону сервиса. Полезно посмотреть журналы IIS или Apache — они показывают, дошёл ли запрос до модуля 1С или отклонён раньше.
Как проверить результат
Страница входа веб-клиента 1С
Ошибка 404, 500 или пустая страница
Загружается интерфейс конфигурации
Ошибка аутентификации или «информационная база не обнаружена»
Запросы с кодом 200 к обработчику 1С
Коды 401, 403, 500 на каждый запрос
Совпадают (оба 64-разрядные)
Пул в 32-разрядном режиме при 64-разрядных модулях
Обеспечьте безопасность и производительность
Для любого доступа за пределами локальной сети включайте HTTPS: получите сертификат (подойдёт и бесплатный от публичного удостоверяющего центра), привяжите его к сайту и перенаправляйте HTTP на HTTPS. Ограничьте список пользователей с правом входа через веб-клиент, задайте сложные пароли и рассмотрите аутентификацию операционной системы для доменных пользователей.
По производительности: каждый сеанс веб-клиента создаёт нагрузку на сервер 1С или файловую базу, поэтому при росте числа пользователей следите за памятью и числом рабочих процессов. Не размещайте на одном слабом сервере одновременно веб-сервер, сервер 1С и СУБД, если планируется больше нескольких одновременных пользователей. Для файловых баз веб-доступ оставляйте только как временное решение.
Частые вопросы
Можно ли опубликовать файловую базу 1С на веб-сервере?
Да, механизм публикации поддерживает файловые базы: в default.vrd указывается путь к каталогу базы. Однако при конкурентной работе нескольких пользователей возможны блокировки, поэтому для постоянной работы через веб рекомендуется клиент-серверный вариант.
Нужна ли отдельная лицензия 1С для веб-сервера?
Отдельной лицензии на веб-сервер не требуется — расходуются обычные клиентские лицензии при подключении пользователей. Важно, чтобы на машине с веб-сервером были установлены модули расширения из дистрибутива платформы той же версии.
Что делать, если после публикации открывается ошибка 500?
Чаще всего причина в разрядности: проверьте, что пул приложений IIS не работает в 32-разрядном режиме при 64-разрядных модулях 1С. Также проверьте, что модули расширения установлены и версия платформы на веб-сервере совпадает с версией сервера 1С.
Как опубликовать только HTTP-сервис, не открывая веб-клиент?
В настройках публикации в конфигураторе снимите флажки публикации тонкого и веб-клиента и оставьте только публикацию HTTP-сервисов. Дополнительно ограничьте доступ на уровне веб-сервера и аутентификации.
Можно ли использовать Apache на Linux для базы на Windows-сервере 1С?
Да, веб-сервер и сервер 1С могут быть на разных машинах и разных ОС. Модуль расширения подключается к серверу 1С по сети, поэтому важны сетевая доступность, открытые порты и совпадение версий платформы.
Что важно запомнить
Веб-сервер для 1С — это IIS или Apache плюс модули расширения из дистрибутива платформы и публикация базы через конфигуратор. Ключевые точки контроля: совпадение версий и разрядности, права учётной записи веб-сервера, обязательный HTTPS при доступе извне и проверка входа под реальным пользователем после публикации.