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

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

Как разместить базу 1С на веб-сервере

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

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

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

Ниже описан полный цикл: подготовка сервера, публикация базы, настройка прав и аутентификации, проверка работоспособности и разбор типовых ошибок. Инструкция подходит для файловых и клиент-серверных баз на платформе 8.3.

Что понадобится перед началом работы

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

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

Установка и подготовка веб-сервера

Вариант с IIS

IIS устанавливается через «Компоненты Windows» или диспетчер сервера. Минимально необходимы службы: «Веб-сервер (IIS)», внутри него — «Службы приложений» с поддержкой ISAPI-расширений и ISAPI-фильтров, а также «Средства управления» → «Консоль управления IIS». Без ISAPI-расширений модуль 1С работать не будет.

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

Вариант с Apache

Для Apache подходят версии линейки 2.2 или 2.4 — конкретная совместимость зависит от версии платформы 1С, поэтому сверяйтесь с документацией к вашему релизу. Apache для Windows распространяется как готовая сборка; его нужно установить как службу и проверить запуск по адресу http://localhost.

Apache часто выбирают, когда сервер работает на Linux или когда нужна независимость от компонентов Windows. Учтите, что на одном сервере IIS и Apache не должны слушать один и тот же порт — при совместной установке для Apache назначают, например, порт 8080.

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

IIS

Удобен на Windows Server, встроенная интеграция с аутентификацией Windows. Требует ручной установки компонентов ISAPI.

Apache

Кроссплатформен, подходит для Linux. Нужно следить за совместимостью версии Apache с версией платформы 1С.

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

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

В окне публикации укажите имя публикации (латиницей, без пробелов — оно станет частью URL), тип веб-сервера и каталог, в котором будет создан файл настроек default.vrd. Для IIS обычно указывают подкаталог внутри C:\inetpub\wwwroot, для Apache — каталог внутри htdocs или отдельную папку, прописанную в конфигурации.

На вкладках диалога можно включить публикацию веб-сервисов, HTTP-сервисов, тонкого и веб-клиента, а также настроить публикацию дистрибутива тонкого клиента. После нажатия «Опубликовать» конфигуратор создаст каталог публикации и файл default.vrd с параметрами подключения к базе.

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

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

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

Аутентификация пользователей настраивается в файле default.vrd или в диалоге публикации. Доступны варианты: аутентификация средствами 1С (логин и пароль пользователя базы запрашивает сама платформа) и аутентификация операционной системы, при которой доступ получают пользователи Windows, сопоставленные с пользователями базы. Для доступа через интернет чаще используют первый вариант поверх HTTPS.

Если база будет доступна из интернета, публикация по открытому HTTP недопустима: логины, пароли и данные передаются в открытом виде. Настройте SSL-сертификат и работайте только по HTTPS, а порт 80 либо закройте, либо настройте перенаправление на защищённое соединение.

Проверка результата и типовые ошибки

После публикации перезапустите веб-сервер (для IIS — командой iisreset или через консоль) и откройте адрес http://имя_сервера/имя_публикации в браузере. Признак успеха — появление окна входа 1С с полем выбора пользователя. Вход под реальным пользователем и открытие рабочего стола конфигурации означают, что публикация работает полностью.

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

Типичные ошибки
01
Несовпадение разрядности: 64-разрядный IIS и 32-разрядные модули 1С — ошибка 500 при любом обращении
02
Не установлен компонент ISAPI-расширений в IIS — модуль 1С не загружается
03
Нет прав у пула приложений на каталог файловой базы — ошибки доступа при входе
04
Имя публикации с кириллицей или пробелами — база не открывается по URL
05
Изменили версию платформы, но не опубликовали базу заново — несовместимость модулей
Контрольные точки

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

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

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

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

Ошибка 404, 500 или пустая страница

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

Открывается рабочий стол конфигурации

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

«Информационная база не обнаружена» или ошибка аутентификации

Работа нескольких пользователей одновременно
Норма

Все сеансы работают без взаимных блокировок

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

Конфликты блокировок — признак проблем файлового режима

Особенности файловой и клиент-серверной базы

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

Для клиент-серверной базы в default.vrd прописываются имя сервера 1С и имя базы в кластере. Веб-сервер при этом может стоять на отдельной машине — тогда учётной записи веб-сервера нужен сетевой доступ к серверу 1С (порты агента кластера, по умолчанию 1540–1541 и диапазон рабочих процессов). Это основной вариант для организаций с десятками пользователей.

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

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

Пользователей до 5–10 и база файловаяПубликуйте на том же сервере, где лежит база, с локальным путём в default.vrd
Пользователей много или нужна отказоустойчивостьПереведите базу в клиент-серверный режим и публикуйте через сервер 1С
Нужен доступ из интернетаВынесите веб-сервер в DMZ или за reverse proxy, включите HTTPS и ограничьте доступ файрволом

Обновление публикации и обслуживание

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

Для массовой или автоматизированной публикации используйте утилиту webinst из каталога платформы: она публикует базу по параметрам командной строки без запуска конфигуратора. Это удобно для скриптов развёртывания и для серверов без графического интерфейса.

bash
webinst -publish -iis -wsdir mybase -dir "C:\inetpub\wwwroot\mybase" -connstr "File=\"D:\bases\mybase\";"

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

Итог

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

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

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

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

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

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

Чаще всего причина в несовпадении разрядности модулей 1С и веб-сервера либо в неустановленных ISAPI-расширениях IIS. Проверьте также, что пул приложений запущен, а его учётная запись имеет доступ к каталогу публикации. Детали ошибки видны в журнале событий Windows и логах IIS.

Можно ли работать через браузер с любой конфигурацией 1С?

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

Чем опасна публикация файловой базы?

Файловая база при интенсивной многопользовательской работе через веб подвержена конфликтам блокировок и риску повреждения при сбоях. Кроме того, одновременный доступ к файлам базы через веб и по сетевому ресурсу недопустим. Для постоянной работы нескольких пользователей переведите базу на клиент-серверный вариант.

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

Да. Модули расширения веб-сервера и файлы публикации привязаны к версии платформы. После обновления выполните публикацию повторно и перезапустите веб-сервер, иначе возможны ошибки несовместимости при обращении к базе через браузер.

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

Минимальный набор: HTTPS с действующим сертификатом, аутентификация пользователей базы, сложные пароли, открытый наружу только порт 443 и регулярные обновления веб-сервера. Желательно дополнительно ограничить доступ по IP или разместить веб-сервер за VPN-шлюзом, чтобы база не была видна всему интернету.