Веб-доступ к базе 1С: от установки модуля до работающей ссылки

· 9 мин

Содержание

Чтобы открыть 1С в браузере, нужны три вещи: веб-сервер (IIS или Apache), модуль расширения веб-сервера из установщика платформы и опубликованная база с файлом default.vrd. Само «развёртывание» занимает минут двадцать. Остальное время обычно уходит на права и разрядность.

Частое заблуждение: «веб-сервер нужен только для веб-клиента». Нет. Через ту же публикацию работают тонкий клиент по HTTP, веб-сервисы и обмен через OData. Поэтому сервер лучше настроить один раз и аккуратно.

Что проверить до установки

Сначала решите, где будет жить сама база и кто к ней подключается. Дальше всё зависит от этого.

Выбор веб-сервера

ВариантКогда подходитМинусы
IIS (Windows Server или Windows 10/11)Сервер уже на Windows, нужна проверка подлинности WindowsТребует включить нужные компоненты Windows
Apache 2.4Linux-сервер или нежелание тянуть IISКонфигурируется текстом, ошибки ищутся в логах
Встроенный веб-сервер КонфигуратораРазовая проверка на своём компьютереДля постоянной работы и внешних пользователей не годится

Если база файловая и пользователей больше пяти-семи, лучше сразу переводить её на клиент-серверный вариант. Веб-сервер поднимется и на файловой базе, но писать в неё будет процесс самого веб-сервера, и производительность упадёт.

Чек-лист подготовки

Перед установкой
Выполнено: 0 / 6

Разрядность платформы определяет всё остальное. Модуль веб-расширения должен совпадать с ней и с режимом пула приложений IIS. Перепутаете — получите ошибку загрузки модуля, которая выглядит как проблема прав.

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

Модуль ставится вместе с платформой, но отдельной галочкой. При обычной установке её часто пропускают.

Компоненты платформы

  1. Запустите установщик платформы 1С:Предприятие (тот же setup.exe, которым ставили платформу).
  2. На шаге выбора компонентов найдите пункт про модули расширения веб-серверов и включите его.
  3. Если платформа уже стоит, запустите установщик ещё раз и выберите изменение состава компонентов.
  4. Завершите установку и перезапустите веб-сервер.

Версия модуля берётся из платформы. Обновили платформу — переустановите и модуль, а публикацию обновите заново.

Подготовка IIS

На IIS нужно включить компоненты Windows: «Службы IIS», в них — раздел разработки приложений с расширениями ISAPI и фильтрами ISAPI. Включить их можно через «Включение или отключение компонентов Windows» или через диспетчер сервера, мастер добавления ролей.

Дополнительно, если нужна проверка подлинности Windows, включите соответствующий компонент в разделе безопасности.

Подготовка Apache

На Linux Apache ставится из пакетного менеджера, например:

sudo apt install apache2

Модуль 1С для Apache входит в состав установки платформы для Linux. После установки веб-сервер должен перезапускаться без ошибок: проверьте это, пока в нём ещё нет ни одной публикации.

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

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

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

  1. Откройте базу в Конфигураторе под администратором. Запускать Конфигуратор нужно от имени администратора Windows, иначе публикация упадёт на записи в настройки IIS.
  2. В меню «Администрирование» выберите «Публикация на веб-сервере».
  3. В поле «Имя» задайте короткое латинское имя: оно станет частью адреса, например buh.
  4. Выберите веб-сервер из списка. Если список пуст, модуль расширения не установлен или не виден.
  5. Укажите каталог публикации: пустую папку на диске, лучше без пробелов и кириллицы в пути.
  6. Отметьте, что публиковать: тонкий клиент, веб-клиент, стандартный интерфейс OData, веб-сервисы. Лишнего не включайте.
  7. Нажмите «Опубликовать». Дождитесь сообщения об успехе.

После этого база открывается по адресу вида http://имя-сервера/buh.

Через командную строку

Для автоматизации и для Linux используется утилита webinst. Пример для Apache 2.4 на Linux:

webinst -publish -apache24 -wsdir buh -dir /var/www/buh \
  -connstr "Srvr=localhost;Ref=buh;" \
  -confpath /etc/apache2/apache2.conf

Для IIS ключ другой: -iis. Полный набор параметров выводится по команде webinst без аргументов, а он зависит от версии платформы, поэтому сверяйтесь с вашим выводом.

После ручной правки конфигурации Apache всегда проверяйте синтаксис командой apachectl configtest и только потом перезапускайте службу.

Что внутри default.vrd

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

Для файловой базы строка подключения выглядит как File="D:\bases\buh";, для серверной — как Srvr="app-server";Ref="buh";.

Проверка после публикации

Не объявляйте работу законченной, пока не прошли короткий тест:

  1. Откройте адрес публикации на самом сервере и войдите обычным пользователем.
  2. Повторите вход с другого компьютера в сети. Если там не открывается, виноват файрвол или имя сервера.
  3. Откройте любой справочник и проведите тестовый документ в копии базы.
  4. Сформируйте тяжёлый отчёт и посмотрите, сколько он строится.
  5. Закройте вкладку и откройте базу снова. Сеанс должен подняться без ошибок.

Если у базы несколько интерфейсов, проверьте каждый: веб-клиент может работать, а веб-сервис отвечать ошибкой из-за отдельных настроек.

Права доступа и безопасность

Здесь рождается большинство «не открывается». Работать с базой и каталогом публикации должен именно тот пользователь, от имени которого запущен веб-сервер.

Кто и к чему должен иметь доступ

  • 📁 Каталог публикации. На чтение для учётной записи веб-сервера.
  • 🗄 Каталог файловой базы. На чтение и запись для той же учётной записи.
  • ⚙ Кластер серверов 1С. Учётная запись, под которой работает веб-сервер, не обязана быть администратором кластера. Ей нужно только подключение к рабочему процессу.
  • 🔑 Пул приложений IIS. Если задана особая учётная запись, она тоже должна иметь права на упомянутые каталоги.

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

Закрываем наружу

Если база должна быть видна из интернета, действуйте в таком порядке:

  1. Включите HTTPS, а HTTP закройте или перенаправьте на HTTPS.
  2. Сертификат берите от доверенного центра. Самоподписанный браузеры не принимают без ручного подтверждения, а мобильные клиенты могут вообще отказаться работать.
  3. Опубликуйте только нужные интерфейсы. Не нужен OData или веб-сервисы — не включайте.
  4. Не используйте пользователя без пароля с правами администратора.
  5. Поставьте перед сервером обратный прокси или VPN, если пользователи ходят из внешней сети и база содержит чувствительные данные.

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

Диагностика: если база не открывается

Сначала посмотрите, какую ошибку отдаёт браузер. Дальше — в журнал веб-сервера. Многие ошибки решаются одним действием.

Диагностика: выберите симптом

Что показывает журнал

Если подсказки выше не помогли, соберите факты в таком порядке:

  1. Откройте адрес публикации прямо на сервере: так вы отделите проблему сети от проблемы настройки.
  2. Проверьте журнал веб-сервера за момент обращения.
  3. Проверьте журнал регистрации самой 1С, если ошибка пришла уже от базы.
  4. Перезапустите пул приложений или службу Apache. Если после этого всё работает, ищите утечку или конфликт после обновления.

Ошибки сертификата и ошибки 1С выглядят в браузере по-разному. Красная страница с замком — сертификат. Ошибка внутри окна 1С — уже сама база и подключение.

Ускоряем веб-клиент

Веб-клиент медленнее тонкого, и это нормально. Но разница бывает вдвое-втрое, если сервер настроен неудачно.

Что даёт заметный эффект

  • ⚡ Сжатие. Включите на веб-сервере сжатие ответов. Скрипты и данные веб-клиента хорошо сжимаются.
  • ⚡ Кеш статических файлов. Для каталога публикации задайте кеширование, чтобы браузер не запрашивал одно и то же при каждом входе.
  • ⚡ Размещение рядом с кластером. Веб-сервер и серверы 1С в одной локальной сети дают задержку в миллисекундах, а через интернет — в сотнях.
  • ⚡ Современный браузер. Устаревшие версии браузеров работают с веб-клиентом заметно хуже.
  • ⚡ Лёгкие формы. Тяжёлые отчёты в веб-клиенте формируются на сервере, но результат отрисовывается в браузере. Ограничивайте выборки.

Что не стоит делать

Не включайте бесконечную отладку в публикации и не оставляйте на сервере тестовые базы с общим доступом. Лишние публикации потребляют ресурсы и расширяют поверхность для атак.

Пользователям, которые работают весь день, лучше раздать тонкий клиент. Веб-клиент хорош для редких заходов, для руководителей с телефона и для внешних контрагентов.

Когда веб-сервер не нужен

Поднимать публикацию «на всякий случай» не стоит. Обойтись можно, если:

  • все пользователи сидят в одной сети и работают через тонкий клиент по прямому подключению к серверу 1С;
  • нужен только обмен между базами через файлы или общие каталоги;
  • база разворачивается разово для тестов, и подойдёт встроенный веб-сервер Конфигуратора.

Зато публикация необходима, если вы хотите:

  • открывать базу из браузера без установки клиента;
  • подключить внешние сервисы через веб-сервисы или OData;
  • организовать работу мобильного приложения;
  • дать доступ подрядчику, у которого нет клиента 1С.
Нужно ли вам публиковать базу?

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

Можно ли поднять веб-сервер 1С на Windows 10 или 11?
Да. IIS входит в состав этих систем, нужно только включить компоненты. Для рабочей нагрузки лучше серверная ОС, но для небольших офисов клиентская подходит.
Нужна ли отдельная лицензия для веб-клиента?
Лицензии 1С привязаны к пользователям и подключениям, а не к типу клиента. Конкретные условия для вашей поставки уточняйте у партнёра 1С или в лицензионном соглашении.
Что делать после обновления платформы?
Обновите модуль расширения веб-сервера до той же версии и переопубликуйте базу. Без этого веб-клиент может не открыться или вести себя странно.
Можно ли опубликовать несколько баз на одном сервере?
Можно. У каждой базы своё имя публикации и свой каталог. Следите, чтобы пулы приложений и права не пересекались.
Работает ли публикация на IIS и Apache одновременно?
Технически да, если они слушают разные порты. Но на практике держат один веб-сервер, чтобы не удваивать поддержку.