Публикация базы 1С 8.3 на веб-сервере для работы через браузер

· 9 мин

Содержание

Опубликовать 1С в веб можно в два действия: поставить на компьютер с веб-сервером (Apache или IIS) компонент платформы «Модули расширения веб-сервера», а затем запустить Конфигуратор от имени администратора и выполнить Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида http://сервер/имя_публикации.

Частое заблуждение — искать публикацию в консоли администрирования кластера. Там её нет. Консоль нужна только для того, чтобы серверная база была зарегистрирована в кластере. Сама публикация — это настройка веб-сервера : каталог с файлом default.vrd и несколько строк в конфигурации Apache или обработчик в IIS. Всё ниже относится к платформе 8.3 и подходит и для файловых, и для клиент-серверных баз.

Что подготовить перед публикацией базы 1С

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

ЧтоТребованиеКак проверить
Веб-серверApache 2.2 / 2.4 или IISДля Apache — служба в services.msc, для IIS — роль «Веб-сервер (IIS)» в диспетчере серверов
РазрядностьМодули 1С той же разрядности, что и веб-сервер64-битный Apache — только 64-битная платформа
Версия платформыДля серверной базы модули расширения той же версии, что и сервер 1СНомер в окне «О программе» и в консоли кластера должен совпадать до последней цифры
ЛицензииКаждый сеанс веб-клиента занимает клиентскую лицензиюКак и тонкий клиент

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

🖥️ Для клиент-серверной базы веб-сервер может стоять на отдельной машине. Ему нужен сетевой доступ к серверу 1С: порт агента 1540, менеджера кластера 1541 и диапазон портов рабочих процессов (по умолчанию 1560–1591, задаётся в свойствах рабочего сервера).

Проверка базы в консоли кластера

Для серверной базы откройте консоль администрирования серверов 1С и убедитесь, что база есть в списке «Информационные базы» нужного кластера. Имя базы в кластере — это значение Ref в строке подключения, а имя или адрес центрального сервера — значение Srvr. Ошибка в одной букве даст сообщение «Информационная база не обнаружена» уже в браузере.

Если консоль не открывается, проверьте, что на машине установлена её компонента и зарегистрирована библиотека radmin.dll той же версии, что и сервер. Перерегистрируют её командой regsvr32 из командной строки администратора, указав полный путь к файлу в каталоге bin платформы.

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

Если Apache ставите с нуля, берите сборку Apache 2.4 под Windows той же разрядности, что и платформа. Устанавливайте его службой, в путь без кириллицы и пробелов, например C:\Apache24. Так меньше проблем с кавычками в конфигурации.

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

Модули ставятся из обычного дистрибутива платформы. Отдельно их скачивать не нужно.

  1. Запустите setup.exe из дистрибутива платформы нужной версии и разрядности.
  2. В списке компонентов включите «Модули расширения веб-сервера».
  3. Если на этом компьютере кто-то работает в 1С, оставьте и «1С:Предприятие» — Конфигуратор понадобится для публикации.
  4. Завершите установку.

После этого в каталоге платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin, появятся файлы модулей:

  • 📄 wsap24.dll — модуль для Apache 2.4;
  • 📄 wsap22.dll — для Apache 2.2;
  • 📄 wsisapi.dll — для IIS;
  • 🛠️ webinst.exe — консольная утилита публикации.

На Linux модули лежат в /opt/1cv8/x86_64/<версия>/ и называются wsap24.so и т. д. Пакет с модулями — 1c-enterprise-<версия>-ws.

Подготовка IIS

Для IIS в роли «Веб-сервер» нужны компоненты разработки приложений «Расширения ISAPI» и «Фильтры ISAPI», а также «Статическое содержимое». Без ISAPI публикация пройдёт, но браузер получит ошибку 404 или 500.

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

Публикация 1С на веб-сервере из Конфигуратора

Это основной способ. Он сам создаёт каталог, файл default.vrd и правит конфигурацию веб-сервера.

  1. Откройте базу в Конфигураторе через Запуск от имени администратора. Без повышенных прав пункт меню будет недоступен или публикация упадёт с ошибкой доступа к httpd.conf.
  2. Выберите Администрирование → Публикация на веб-сервере.
  3. Заполните форму:
    • Имя — латиницей, без пробелов. Оно станет частью адреса: buh → http://сервер/buh.
    • Веб-сервер — Apache 2.4 или IIS (список показывает только найденные).
    • Каталог — куда положить default.vrd, например C:\Apache24\htdocs\buh или C:\inetpub\wwwroot\buh.
  4. На вкладке «Основные» оставьте флажок «Публиковать доступ для клиентских приложений».
  5. Флажки веб-сервисов, HTTP-сервисов и стандартного интерфейса OData включайте только если они реально нужны.
  6. Нажмите «Опубликовать». Для Apache программа предложит перезапустить службу — согласитесь.

Перезапуск Apache или IIS обрывает все текущие сеансы веб-клиента. Если по этому веб-серверу уже работают пользователи, публикуйте вне рабочего времени.

Проверка: откройте в браузере http://localhost/buh. Должно появиться окно выбора пользователя 1С. Для доступа с других компьютеров замените localhost на имя или IP-адрес сервера.

Публикация утилитой webinst

Утилита удобна, когда на веб-сервере нет Конфигуратора, на Linux или для скриптов. Пример для серверной базы и Apache 2.4:

cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
webinst.exe -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Для IIS вместо -apache24 указывают -iis, а -confpath не нужен. Для файловой базы строка подключения такая: -connstr "File=""D:\Bases\Buh"";". Удалить публикацию — тот же вызов с ключом -delete. Полный список параметров выводит запуск утилиты без ключей.

Что публикация добавила в Apache

В конец httpd.conf дописывается блок такого вида:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.xx.xxxx/bin/wsap24.dll"

# 1c publication
Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>

Строка LoadModule — одна на весь Apache, а блоков Alias и Directory столько, сколько публикаций.

После обновления платформы LoadModule по-прежнему указывает на старую версию. Для серверной базы это даёт ошибку несовпадения версий клиента и сервера. Поправьте путь на новую версию вручную и перезапустите Apache. Если старую платформу удалили, Apache вообще не стартует.

Настройка default.vrd: строка подключения и сервисы

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

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/buh"
       ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;">
  <ws pointEnableCommon="false"/>
  <standardOdata enable="false"/>
</point>

Что здесь важно:

  • 🔗 base — имя публикации, то же, что в Alias.
  • 🗄️ ib — строка подключения. Кавычки внутри экранируются как &quot;. Для файловой базы: File=&quot;D:\Bases\Buh&quot;;.
  • 🌐 ws — доступ к веб-сервисам конфигурации. Не нужны внешние обмены через SOAP — выключайте.
  • 📊 standardOdata — стандартный интерфейс OData. Нужен для выгрузки в BI-системы и внешние сервисы, иначе держите выключенным.

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

В строку ib можно дописать Usr= и Pwd=, и база будет открываться без окна входа. Не делайте так для публикации в интернет: любой, кто узнает адрес, попадёт в базу под этим пользователем, а пароль лежит в файле открытым текстом.

Тонкий клиент через веб-сервер

Публикация нужна не только для браузера. Тонкий клиент тоже умеет подключаться через HTTP. В окне запуска нажмите «Добавить» → «Добавление в список существующей информационной базы» → тип расположения «На веб-сервере» и укажите адрес http://сервер/buh. Так работают удалённые сотрудники, которым неудобен браузер: интерфейс полноценный, а порты 1540–1591 наружу открывать не нужно.

Если опубликованная база не открывается

Большинство проблем после публикации сводятся к правам, разрядности и версиям. Найдите свой симптом.

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

Если причина не очевидна, смотрите журналы: у Apache — файл logs\error.log в его каталоге, у IIS — журналы сайта в C:\inetpub\logs\LogFiles и «Просмотр событий» Windows. Ошибка модуля 1С обычно пишется туда текстом, с указанием строки подключения.

Безопасность и скорость веб-доступа к 1С

Публикация на порту 80 в локальной сети — нормальная практика. Выставлять её в интернет в таком виде нельзя: логины и пароли пойдут открытым текстом.

Что сделать перед выходом в интернет

  1. 🔒 Включите HTTPS. В Apache — модуль mod_ssl и сертификат, в IIS — привязка сайта к порту 443. Порт 80 либо закройте, либо перенаправляйте на 443.
  2. 🔑 Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая дверь.
  3. 🚫 Публикуйте только нужное. Отключите веб-сервисы, HTTP-сервисы и OData, если ими не пользуются.
  4. 🧱 Не открывайте наружу порты кластера. Снаружи должен быть доступен только 443 веб-сервера.
  5. 🌍 Ограничьте доступ по адресам или через VPN, если сотрудники работают из известных мест.
  6. 📜 Отдельная учётная запись службы веб-сервера с правами только на каталог публикации и базу.

Удобный вариант — вынести Apache или nginx с сертификатом на отдельную машину в качестве обратного прокси, а сервер с 1С оставить во внутренней сети.

Скорость работы

Веб-клиент сильнее зависит от сети, чем тонкий клиент. Что реально помогает:

МераЭффект
Тонкий клиент через веб-сервер вместо браузераМеньше трафика и задержек на сложных формах
Сжатие ответов (mod_deflate в Apache, динамическое сжатие в IIS)Быстрее открываются формы на медленных каналах
Перевод файловой базы на клиент-серверный вариантУбирает блокировки при работе нескольких пользователей
Современный браузер (Chrome, Edge, Firefox, Яндекс Браузер)Меньше сбоев интерфейса

Файловая база через веб-сервер выдерживает несколько одновременных пользователей. При пяти и более активных сотрудниках блокировки и подтормаживания становятся заметны — это повод переходить на сервер 1С.

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

Можно ли опубликовать несколько баз на одном веб-сервере?
Да. Каждая база публикуется под своим именем в отдельный каталог: http://сервер/buh, http://сервер/zup и т. д. Модуль LoadModule при этом один.
Нужна ли отдельная лицензия для веб-клиента?
Нет, веб-клиент расходует обычные клиентские лицензии, как тонкий клиент. Отдельной лицензии на веб-сервер нет.
Можно ли опубликовать базу без Конфигуратора на веб-сервере?
Да, утилитой webinst из каталога bin платформы. Ей достаточно установленных модулей расширения веб-сервера.
Как удалить публикацию?
В Конфигураторе откройте Администрирование → Публикация на веб-сервере и нажмите «Отключить». Либо вызовите webinst с ключом -delete. Затем перезапустите веб-сервер.
Работает ли публикация на Linux?
Да, с Apache 2.4. Модули ставятся пакетом платформы, публикация выполняется утилитой webinst с ключом -apache24.