Публикация базы 1С 8.3 на веб-сервере для работы через браузер
Содержание
Опубликовать 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С
Модули ставятся из обычного дистрибутива платформы. Отдельно их скачивать не нужно.
- Запустите
setup.exeиз дистрибутива платформы нужной версии и разрядности. - В списке компонентов включите «Модули расширения веб-сервера».
- Если на этом компьютере кто-то работает в 1С, оставьте и «1С:Предприятие» — Конфигуратор понадобится для публикации.
- Завершите установку.
После этого в каталоге платформы, например 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 и правит конфигурацию веб-сервера.
- Откройте базу в Конфигураторе через
Запуск от имени администратора. Без повышенных прав пункт меню будет недоступен или публикация упадёт с ошибкой доступа кhttpd.conf. - Выберите
Администрирование → Публикация на веб-сервере. - Заполните форму:
- Имя — латиницей, без пробелов. Оно станет частью адреса:
buh→http://сервер/buh. - Веб-сервер — Apache 2.4 или IIS (список показывает только найденные).
- Каталог — куда положить
default.vrd, напримерC:\Apache24\htdocs\buhилиC:\inetpub\wwwroot\buh.
- Имя — латиницей, без пробелов. Оно станет частью адреса:
- На вкладке «Основные» оставьте флажок «Публиковать доступ для клиентских приложений».
- Флажки веб-сервисов, HTTP-сервисов и стандартного интерфейса OData включайте только если они реально нужны.
- Нажмите «Опубликовать». Для 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="srv1c";Ref="buh";">
<ws pointEnableCommon="false"/>
<standardOdata enable="false"/>
</point>
Что здесь важно:
- 🔗
base— имя публикации, то же, что вAlias. - 🗄️
ib— строка подключения. Кавычки внутри экранируются как". Для файловой базы:File="D:\Bases\Buh";. - 🌐
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 в локальной сети — нормальная практика. Выставлять её в интернет в таком виде нельзя: логины и пароли пойдут открытым текстом.
Что сделать перед выходом в интернет
- 🔒 Включите HTTPS. В Apache — модуль
mod_sslи сертификат, в IIS — привязка сайта к порту 443. Порт 80 либо закройте, либо перенаправляйте на 443. - 🔑 Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая дверь.
- 🚫 Публикуйте только нужное. Отключите веб-сервисы, HTTP-сервисы и OData, если ими не пользуются.
- 🧱 Не открывайте наружу порты кластера. Снаружи должен быть доступен только 443 веб-сервера.
- 🌍 Ограничьте доступ по адресам или через VPN, если сотрудники работают из известных мест.
- 📜 Отдельная учётная запись службы веб-сервера с правами только на каталог публикации и базу.
Удобный вариант — вынести Apache или nginx с сертификатом на отдельную машину в качестве обратного прокси, а сервер с 1С оставить во внутренней сети.
Скорость работы
Веб-клиент сильнее зависит от сети, чем тонкий клиент. Что реально помогает:
| Мера | Эффект |
|---|---|
| Тонкий клиент через веб-сервер вместо браузера | Меньше трафика и задержек на сложных формах |
Сжатие ответов (mod_deflate в Apache, динамическое сжатие в IIS) | Быстрее открываются формы на медленных каналах |
| Перевод файловой базы на клиент-серверный вариант | Убирает блокировки при работе нескольких пользователей |
| Современный браузер (Chrome, Edge, Firefox, Яндекс Браузер) | Меньше сбоев интерфейса |
Файловая база через веб-сервер выдерживает несколько одновременных пользователей. При пяти и более активных сотрудниках блокировки и подтормаживания становятся заметны — это повод переходить на сервер 1С.
Частые вопросы о публикации 1С в веб
Можно ли опубликовать несколько баз на одном веб-сервере?
http://сервер/buh, http://сервер/zup и т. д. Модуль LoadModule при этом один.Нужна ли отдельная лицензия для веб-клиента?
Можно ли опубликовать базу без Конфигуратора на веб-сервере?
webinst из каталога bin платформы. Ей достаточно установленных модулей расширения веб-сервера.Как удалить публикацию?
Администрирование → Публикация на веб-сервере и нажмите «Отключить». Либо вызовите webinst с ключом -delete. Затем перезапустите веб-сервер.Работает ли публикация на Linux?
webinst с ключом -apache24.