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

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

Как поднять веб-сервер для 1С: установка, публикация и проверка

Как поднять веб-сервер для 1С: установка IIS или Apache, публикация базы, настройка доступа, SSL и проверка работы. Практическая инструкция для администраторов.

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

Термин «поднять веб-сервер 1С» обычно означает не установку отдельного продукта фирмы «1С», а связку: установленный веб-сервер общего назначения + компонент «Модули расширения веб-сервера» из дистрибутива платформы + опубликованная информационная база. Ошибки чаще всего возникают именно на стыке этих трёх элементов — несовпадение разрядности, нехватка прав у пула приложений, незарегистрированный модуль расширения.

Ниже разобран полный цикл: выбор веб-сервера, установка компонентов, публикация базы через конфигуратор и вручную, настройка доступа и типовые проблемы. Инструкции применимы к Windows с IIS и к Apache на Windows или Linux; для Linux имена пакетов зависят от дистрибутива.

Как выбрать веб-сервер и вариант архитектуры

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

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

Сравнение вариантов

IIS на Windows

Подходит для большинства установок на Windows; настраивается через графический интерфейс, публикация из конфигуратора работает из коробки. Ограничение — требует Windows.

Apache на Windows

Вариант, если IIS занят другими сайтами или уже используется Apache. Требует ручной правки httpd.conf при публикации.

Apache на Linux

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

Критичное условие независимо от выбора: разрядность модуля расширения веб-сервера должна совпадать с разрядностью веб-сервера. Для 64-разрядного IIS ставьте 64-разрядные модули расширения, для 32-разрядного Apache — 32-разрядные. Несовпадение разрядности — самая частая причина ошибок 500 и «модуль не загружается».

Установка IIS и компонентов платформы

На Windows Server или десктопной Windows откройте «Включение или отключение компонентов Windows» и включите IIS с обязательными подкомпонентами: службы WWW, средства управления, а в разделе «Разработка приложений» — расширения ISAPI и фильтры ISAPI (для IIS с CGI-модулем 1С также потребуется CGI). Без ISAPI-расширений модуль 1С не загрузится, и вы получите ошибку 500 при обращении к публикации.

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

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

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

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

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

Порядок публикации
  1. 1
    Установите IIS с компонентами ISAPI и перезапустите службу
  2. 2
    Установите платформу 1С с компонентом «Модули расширения веб-сервера» нужной разрядности
  3. 3
    Запустите конфигуратор от имени администратора, откройте «Администрирование → Публикация на веб-сервере»
  4. 4
    Укажите имя публикации латиницей, выберите веб-сервер и нужные сервисы
  5. 5
    Нажмите «Опубликовать» и откройте URL вида http://сервер/имя_публикации в браузере
  6. 6
    Войдите под пользователем базы и проверьте основные операции

Файл default.vrd в каталоге публикации — это XML-описание публикации: строка подключения к базе, список опубликованных сервисов, параметры пула. Если нужно опубликовать несколько баз на одном веб-сервере, создайте отдельную публикацию с уникальным именем для каждой — конфигуратор это умеет, конфликтов не будет.

Публикация на Apache и ручная настройка

На Apache публикация делается через тот же диалог конфигуратора (он умеет править httpd.conf), но часто надёжнее настроить вручную. В конфигурационный файл Apache добавляется виртуальный каталог с подключением модуля расширения 1С — библиотеки wsap24.dll (имя зависит от версии Apache и разрядности) из каталога bin платформы, и указывается путь к файлу default.vrd.

Типовой фрагмент конфигурации выглядит так: загрузка модуля через LoadModule, затем блок Location с обработчиком 1С и путём к default.vrd. После правки обязательно перезапустите Apache — без перезапуска изменения не применятся.

apache
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1750/bin/wsap24.dll"
Alias "/mybase" "C:/inetpub/mybase"
<Directory "C:/inetpub/mybase">
    AllowOverride None
    Require all granted
</Directory>
<Location "/mybase">
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/inetpub/mybase/default.vrd"
</Location>

На Linux логика та же: модуль расширения поставляется в виде .so-библиотеки, пути указываются в стиле Linux, а пользователь, под которым работает Apache, должен иметь права на чтение каталога публикации и default.vrd. Для файловой базы на Linux учтите, что процессу веб-сервера нужны права записи в каталог базы — это частая причина ошибок доступа.

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

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

Анонимная проверка подлинности на уровне IIS обычно включена, а аутентификация пользователя выполняется уже на стороне 1С — по логину и паролю информационной базы или через аутентификацию ОС. Не отключайте анонимный доступ в IIS, если не настроили альтернативу: иначе браузер будет получать 401 ещё до того, как запрос дойдёт до 1С.

Для доступа из интернета настройте HTTPS: получите сертификат (внутренний CA, Let's Encrypt или коммерческий), привяжите его к сайту в IIS или настройте SSL в Apache и переключите пользователей на https-адрес. Передача логинов 1С по открытому HTTP вне локальной сети недопустима — учётные данные перехватываются элементарно.

Типичные ошибки
01
Разрядность модуля расширения не совпадает с разрядностью веб-сервера — ошибка 500 или «модуль не найден» при обращении к публикации
02
Конфигуратор запущен без прав администратора — публикация в IIS завершается ошибкой доступа или создаётся не полностью
03
Не установлены компоненты ISAPI в IIS — веб-сервер не может загрузить модуль 1С
04
Версия платформы на веб-сервере отличается от версии сервера 1С — ошибки несовместимости при подключении к кластеру
05
Брандмауэр блокирует порт 80/443 — публикация работает локально, но недоступна с других машин
06
Публикация файловой базы в открытый интернет без HTTPS и резервной копии — риск утечки и потери данных

Проверка работы и диагностика проблем

Базовая проверка — открыть URL публикации в браузере с другого компьютера, а не только с самого сервера. Должна загрузиться страница входа веб-клиента с предложением выбрать пользователя и ввести пароль. Если используется тонкий клиент, проверьте подключение, указав в нём адрес вида http://сервер/публикация.

Если страница не открывается, диагностируйте по коду ошибки. Ошибка 404 — неверный URL или публикация не создана. Ошибка 500 — проблема с модулем расширения: разрядность, отсутствие ISAPI, повреждённый default.vrd. Ошибка 503 — пул приложений остановлен или падает при запуске. Ошибка «Информационная база не обнаружена» — веб-сервер не видит кластер 1С: проверьте сетевую доступность сервера 1С и правильность строки подключения в default.vrd.

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

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

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

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

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

Ошибка 404, 500 или 503 — публикация или модуль расширения настроены неверно

Вход под реальным пользователем
Норма

Пользователь входит и видит свой интерфейс и данные

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

Ошибка аутентификации или пустой список пользователей — проблема с подключением к базе

Доступ с другого компьютера сети
Норма

Публикация открывается по имени или IP сервера

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

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

Работа веб- или HTTP-сервиса
Норма

Сервис отвечает на тестовый запрос

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

404 на адресе сервиса — сервис не отмечен при публикации или не описан в default.vrd

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

Если планируется несколько публикаций или доступ извне, удобно поставить перед 1С обратный прокси (nginx или тот же Apache) с единой точкой входа и SSL-сертификатом, а сами публикации держать во внутренней сети без шифрования. Так проще управлять сертификатами и не открывать сервер 1С наружу напрямую.
ПЗ
Практическое замечание

Частые вопросы

Можно ли поднять веб-сервер 1С без IIS и Apache?

Для полноценной публикации веб-клиента и сервисов нужен один из поддерживаемых веб-серверов — IIS или Apache. Альтернативный вариант без веб-сервера — доступ через сервер 1С:Предприятия по протоколу TCP (тонкий клиент) или использование технологии 1С:Линк, но это другие сценарии, не заменяющие HTTP-публикацию.

Чем публикация через веб-сервер отличается от работы тонкого клиента напрямую?

Тонкий клиент может подключаться к кластеру 1С напрямую по TCP без веб-сервера — это быстрее в настройке внутри локальной сети. Веб-сервер нужен для работы через браузер, для HTTP/HTTPS-доступа через интернет и для публикации веб- и HTTP-сервисов, к которым обращаются внешние системы.

Почему после публикации браузер показывает ошибку 500?

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

Можно ли опубликовать файловую базу на веб-сервере?

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

Как ограничить доступ к опубликованной базе из интернета?

Минимальный набор: включить HTTPS, использовать сложные пароли пользователей 1С, ограничить доступ по IP на уровне веб-сервера или брандмауэра, если адреса клиентов известны. Более надёжный вариант — пускать внешних пользователей только через VPN, а публикацию держать во внутренней сети.

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

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

Итог

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

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