Работа с базой 1С из браузера: веб-сервер, публикация и первый вход
Содержание
Чтобы запустить 1С через веб-интерфейс, нужно три вещи: веб-сервер (IIS на Windows или Apache), установленный компонент платформы «Модули расширения веб-сервера» и опубликованная база. Публикацию делают в Конфигураторе: Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида http://имя-сервера/buh/, где buh — имя публикации.
Способов поднять веб-доступ, по сути, два. IIS выбирают, когда сервер на Windows и не хочется ставить ничего стороннего. Apache — когда сервер на Linux или нужен один и тот же порядок настройки на любых системах. Механизм общий для всей платформы 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ публикуются одинаково.
Что нужно подготовить до публикации
Начните с проверки окружения. Большая часть проблем при первом запуске — это несовпадение разрядности или неустановленный компонент, а не ошибки в самой публикации.
Сервер:
- 🖥️ Windows Server 2016 и новее (или Windows 10/11 для небольшого офиса) либо Linux с Apache.
- 📦 Платформа 1С:Предприятие 8.3 с компонентом «Модули расширения веб-сервера». Его отмечают при установке платформы, по умолчанию он не ставится.
- 🔢 Разрядность модуля совпадает с разрядностью веб-сервера: 64-битный Apache работает только с 64-битной платформой.
- 🗄️ Сама база: файловая (папка с
1Cv8.1CD) или клиент-серверная на сервере 1С.
Клиент:
- 🌐 Актуальный браузер: Chrome, Firefox, Edge, Яндекс Браузер или Safari.
- 🔓 Разрешены всплывающие окна для адреса публикации. Без этого часть форм не откроется.
- 📶 Стабильный канал. Веб-клиент чувствителен к задержкам сильнее, чем к скорости.
Файловую базу через веб опубликовать можно, и для 2–5 пользователей это рабочий вариант. Но к файлу обращается процесс веб-сервера, поэтому у его учётной записи должны быть права на папку базы. Для большего числа пользователей разумнее клиент-серверный вариант.
IIS, Apache или Nginx: какой веб-сервер выбрать для 1С
У платформы есть готовые модули для IIS и для Apache. Для Nginx модуля нет, поэтому напрямую 1С через Nginx не опубликовать.
| Веб-сервер | Когда выбирать | Особенности |
|---|---|---|
| IIS | Windows-сервер, нужен «родной» компонент без сторонних программ | Ставится из ролей Windows, нужны компоненты ISAPI. Публикация из Конфигуратора работает сразу |
| Apache 2.4 | Linux-сервер или единая настройка на разных ОС | Модуль wsap24.dll (Windows) или wsap24.so (Linux). Нужен доступ к httpd.conf |
| Nginx | Как внешний прокси перед IIS или Apache | Принимает HTTPS из интернета и передаёт запросы внутрь. Публикацию сам не обслуживает |
Схема «Nginx снаружи, Apache или IIS внутри» удобна, когда на одном адресе уже работают сайты или когда сертификаты удобнее держать в одном месте. Для офиса с одним сервером и одной базой хватит IIS или Apache без прокси.
Установка веб-сервера для веб-доступа к 1С
Вариант 1. IIS на Windows Server
- Откройте
Диспетчер серверов → Управление → Добавить роли и компоненты. - Выберите роль «Веб-сервер (IIS)».
- В службах роли раскройте «Разработка приложений» и отметьте «Расширения ISAPI» и «Фильтры ISAPI».
- Завершите установку и проверьте, что по адресу
http://localhost/открывается стартовая страница IIS. - Если платформа 1С установлена без модулей веб-сервера, запустите её установщик повторно, выберите «Изменить» и добавьте компонент «Модули расширения веб-сервера».
На Windows 10/11 то же самое делается через Панель управления → Программы и компоненты → Включение или отключение компонентов Windows, ветка «Службы IIS».
Если на сервере стоит 32-битная платформа, а IIS работает в 64-битном режиме, публикация не запустится. Либо поставьте 64-битную платформу, либо в дополнительных параметрах пула приложений включите «Разрешены 32-разрядные приложения».
Вариант 2. Apache 2.4
- Установите Apache 2.4 той же разрядности, что и платформа. На Windows — сборку для Win64, на Linux — пакет
apache2илиhttpdиз репозитория дистрибутива. - На Windows зарегистрируйте службу:
httpd.exe -k installиз папкиbin, запущенной от администратора. - Проверьте, что
http://localhost/отвечает. - Убедитесь, что учётная запись службы Apache имеет права на чтение и запись в папку публикации и (для файловой базы) в папку базы.
Публикация базы 1С на веб-сервере
Через Конфигуратор
- Запустите Конфигуратор от имени администратора Windows. Без этого он не сможет записать настройки IIS или
httpd.conf. - Откройте базу и выберите
Администрирование → Публикация на веб-сервере. - Заполните поля:
- Имя — латиница без пробелов, например
buh. Оно станет частью адреса. - Веб-сервер — IIS или Apache 2.4.
- Каталог — папка публикации, например
C:\inetpub\wwwroot\buh.
- Имя — латиница без пробелов, например
- Оставьте флажок «Публиковать тонкий клиент и веб-клиент».
- Флажки OData, HTTP-сервисов и Web-сервисов включайте только если они нужны для обмена или интеграций.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
В каталоге публикации появится файл default.vrd — в нём хранится строка подключения к базе. Для IIS дополнительно создаётся web.config.
Строка подключения в default.vrd бывает двух видов. Для файловой базы — File="D:\Bases\Buh";, для клиент-серверной — Srvr="srv1c";Ref="buh";, где srv1c — имя сервера 1С, а buh — имя базы в кластере. Если базу перенесли в другую папку или на другой сервер, достаточно поправить эту строку и перезапустить веб-сервер
. Переопубликовывать базу целиком не нужно.
Через утилиту webinst
Утилита лежит в папке bin платформы. Её используют на серверах без графического Конфигуратора, на Linux и в скриптах развёртывания.
Публикация файловой базы в IIS:
cd "C:\Program Files\1cv8\8.3.24.1467\bin"
webinst -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "File=""D:\Bases\Buh"";"
Публикация клиент-серверной базы в Apache на Linux:
cd /opt/1cv8/x86_64/8.3.24.1467
sudo ./webinst -publish -apache24 -wsdir buh -dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" -confpath /etc/apache2/apache2.conf
Номер версии в пути замените на свой. Удалить публикацию можно той же утилитой с ключом -delete.
Что появляется в httpd.conf
После публикации в Apache в конце конфигурационного файла добавляется блок примерно такого вида:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1467/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 перестанет запускаться. Исправьте путь вручную или переопубликуйте базу из новой версии Конфигуратора. В IIS аналогичная проблема решается повторной публикацией.
Первый вход
Откройте в браузере http://имя-сервера/buh/. Появится окно входа с выбором пользователя 1С. Если в базе нет ни одного пользователя, программа откроется сразу — для публикации наружу так оставлять нельзя.
Эту же публикацию можно использовать и для тонкого клиента : в списке баз добавьте существующую базу, выберите тип «На веб-сервере» и укажите тот же адрес.
Защита веб-доступа к 1С
Публикация на голом HTTP годится только для локальной сети. Если базу открывают из интернета, закройте хотя бы эти пункты.
- 🔐 HTTPS. В IIS добавьте привязку
httpsс сертификатом в настройках сайта. В Apache подключите модульmod_sslи укажите сертификат и ключ в виртуальном хосте. Бесплатный сертификат Let’s Encrypt подходит, если у сервера есть доменное имя. - 👤 Пользователи с паролями. У каждого — своя учётная запись 1С и пароль. Пустые пароли и общий логин на всех недопустимы.
- 🧩 Только нужное. Не публикуйте OData и HTTP-сервисы, если ими не пользуются. Каждый лишний интерфейс — ещё одна точка доступа к данным.
- 🛡️ Ограничение по адресам. Если сотрудники работают из известных мест, разрешите доступ к порту 443 только с их IP на межсетевом экране. Другой путь — пускать к публикации только через VPN.
- 🚪 Нестандартное имя публикации.
buhиzupподбирают первыми. Это не защита, но снижает шум от сканеров.
Проброс порта 80 на сервер с базой «просто чтобы заработало» — самая частая дыра. Если HTTPS пока не настроен, оставьте доступ только внутри сети или через VPN.
Ошибки при запуске 1С через браузер и что с ними делать
Ещё одна частая ситуация — на сервере установлено несколько версий платформы. Публикация привязана к той версии, чей Конфигуратор или webinst её создал. Для клиент-серверной базы эта версия должна совпадать с версией сервера 1С, иначе подключение к кластеру не пройдёт.
Перезапуск IIS (iisreset) или службы Apache обрывает все текущие сеансы веб-клиента. Несохранённые документы пользователи потеряют. Перезапускайте в нерабочее время или предупредите людей заранее.
Как ускорить работу веб-клиента
Веб-клиент почти всё делает на сервере, а в браузер приходят готовые формы. Поэтому скорость упирается в задержку сети и мощность сервера, а не в компьютер пользователя.
- ⚡ Переведите базу на клиент-серверный вариант, если работают больше 5 человек. Файловая база через веб-сервер быстро упирается в блокировки файла.
- 📍 Держите веб-сервер рядом с базой. В идеале — на той же машине или в одной локальной сети с сервером 1С и СУБД.
- 🌍 Проверьте задержку. При пинге до сервера выше 100 мс открытие форм заметно тормозит. Помогает размещение ближе к пользователям или VPN с меньшим числом промежуточных узлов.
- 🧹 Чистите кэш браузера после обновления конфигурации, если формы ведут себя странно.
- 🖥️ Сравните с тонким клиентом. Через ту же публикацию тонкий клиент работает быстрее браузера и лучше дружит с печатью и файлами. Для сотрудников, которые сидят в 1С весь день, это часто лучший вариант.
| Режим доступа | Что нужно у пользователя | Когда удобен |
|---|---|---|
| Веб-клиент | Только браузер | Редкий вход, чужой компьютер, Mac или Linux без установки |
| Тонкий клиент через веб-сервер | Установленный тонкий клиент 1С | Ежедневная работа удалённых сотрудников |
| Тонкий клиент в локальной сети | Тонкий клиент, доступ к серверу 1С | Офис, без веб-сервера |
Частые вопросы о веб-доступе к 1С
Нужна ли отдельная лицензия для работы через браузер?
Можно ли опубликовать несколько баз на одном веб-сервере?
/buh/, /zup/, /ut/. Все публикации работают одновременно через один IIS или Apache.