Публикация базы 1С на веб-сервере IIS или Apache для работы из браузера
Содержание
Чтобы открыть 1С через браузер, нужно три вещи: веб-сервер (IIS в Windows или Apache), установленный компонент платформы «Модули расширения веб-сервера» и опубликованная база. Публикацию делают в Конфигураторе через Администрирование → Публикация на веб-сервере, запустив его от имени администратора. После этого база открывается по адресу вида http://имя-сервера/base.
Настройка занимает 20–40 минут, если заранее знать три подводных камня: разрядность модуля и веб-сервера должна совпадать, у учётной записи веб-сервера должны быть права на каталог базы, а у пользователя 1С — право на запуск веб-клиента. Порядок одинаков для Windows и Linux, для файловой и клиент-серверной базы отличаются только права.
Как устроен доступ к 1С через браузер
Браузер не работает с базой напрямую. Цепочка выглядит так:
- 🌐 Браузер или тонкий клиент отправляет HTTP-запрос на веб-сервер.
- 🖥️ Веб-сервер (IIS или Apache) передаёт запрос модулю расширения 1С.
- 🔌 Модуль расширения открывает информационную базу: файловую — сам, клиент-серверную — через сервер 1С:Предприятия.
- 🗄️ База обрабатывает запрос, ответ уходит обратно в браузер.
Из этого следуют практические выводы:
- Код 1С для файловой базы выполняется на компьютере с веб-сервером. Ему нужны платформа, модуль расширения и доступ к папке базы.
- Для клиент-серверной базы веб-сервер может стоять на отдельной машине. Ему нужна сетевая видимость сервера 1С (порт агента 1540, менеджера 1541 и диапазон рабочих процессов).
- Версия модуля расширения должна совпадать с версией платформы сервера 1С вплоть до номера сборки.
Что понадобится
| Компонент | Где взять | Комментарий |
|---|---|---|
| Веб-сервер | IIS — компонент Windows; Apache — отдельная установка | Для Windows Server удобнее IIS |
| Платформа 1С:Предприятие | Дистрибутив платформы | Тот же номер, что у сервера 1С |
| Модули расширения веб-сервера | Компонент установщика платформы | Ставится галкой при установке |
| Лицензия | Программная или аппаратная | Веб-клиент расходует клиентскую лицензию как обычный клиент |
Веб-клиент и тонкий клиент «через интернет» — это одна и та же публикация. Тонкий клиент 1С тоже умеет подключаться по адресу http://…, и для удалённых сотрудников он обычно работает быстрее браузера.
Шаг 1. Установка и подготовка веб-сервера
Вариант A: IIS в Windows
В Windows Server откройте Диспетчер серверов → Управление → Добавить роли и компоненты, выберите роль «Веб-сервер (IIS)». В Windows 10 и 11 то же самое делается через Панель управления → Программы и компоненты → Включение или отключение компонентов Windows.
Кроме базовых служб, отметьте:
- ✅ Расширения ISAPI и Фильтры ISAPI — без них модуль 1С не подключится.
- ✅ Статическое содержимое и Документ по умолчанию.
- ✅ Совместимость управления IIS 6 (метабаза IIS 6) — её использует мастер публикации Конфигуратора.
- ✅ Обычная проверка подлинности и Проверка подлинности Windows — если планируете вход по паролю веб-сервера или доменный вход.
После установки откройте в браузере на сервере http://localhost. Должна появиться стартовая страница IIS. Нет страницы — дальше двигаться бессмысленно, сначала разберитесь с самим IIS.
Вариант B: Apache
Для Windows Apache берут готовой сборкой, для Linux — из пакетов дистрибутива (apache2 в Debian и Ubuntu, httpd в RHEL-подобных). Платформа 1С поддерживает Apache 2.2 и 2.4, на практике сейчас ставят 2.4.
Под Windows проверьте разрядность сборки: 64-битный Apache работает только с 64-битным модулем 1С, 32-битный — только с 32-битным. Устанавливайте Apache как службу и убедитесь, что http://localhost отдаёт его тестовую страницу.
Шаг 2. Установка модуля расширения веб-сервера 1С
Модуль ставится из того же дистрибутива, что и платформа. Запустите установщик, на шаге выбора компонентов отметьте «Модули расширения веб-сервера» и завершите установку. Если платформа уже стоит, запустите установщик ещё раз и выберите изменение состава компонентов.
В каталоге платформы (C:\Program Files\1cv8\8.3.xx.xxxx\bin\) появятся библиотеки:
wsisapi.dll— для IIS;wsap24.dll— для Apache 2.4;wsap22.dll— для Apache 2.2;webinst.exe— утилита публикации из командной строки.
Разрядность — главная ловушка
| Платформа 1С | IIS | Apache |
|---|---|---|
| 64-бит | Пул приложений по умолчанию, 32-битные приложения запрещены | 64-битная сборка |
| 32-бит | В пуле приложений Разрешить 32-разрядные приложения = True | 32-битная сборка |
Разрядность модуля расширения и веб-сервера обязана совпадать. Иначе IIS вернёт ошибку 500 при загрузке библиотеки, а Apache не запустится и сообщит, что не может загрузить модуль.
Шаг 3. Публикация базы 1С на веб-сервере
Публикация через Конфигуратор
- Запустите 1С от имени администратора (правый клик по ярлыку). Без этого мастер не сможет записать настройки веб-сервера.
- Откройте базу в режиме Конфигуратора.
- Выберите
Администрирование → Публикация на веб-сервере. - Заполните поля:
- Имя — латиницей, без пробелов, например
buh. Оно станет частью адреса. - Веб-сервер — IIS или Apache нужной версии.
- Каталог — папка публикации, например
C:\inetpub\wwwroot\buh. Это не папка базы, а место для служебного файлаdefault.vrd.
- Имя — латиницей, без пробелов, например
- Оставьте галку «Публиковать тонкий клиент и веб-клиент». Галки для OData, веб-сервисов и HTTP-сервисов ставьте, только если они реально нужны.
- Нажмите «Опубликовать». Для Apache мастер предложит перезапустить службу — согласитесь.
Перезапуск Apache или IIS обрывает текущие сеансы всех, кто уже работает через браузер. На действующем сервере делайте это вне рабочего времени или предупредите пользователей.
Что записывается в настройки
Для 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>
Файл 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";">
</point>
Для файловой базы вместо Srvr и Ref будет File="D:\Bases\Buh";.
Публикация в Linux через webinst
В Linux мастера в Конфигураторе нет, базу публикуют утилитой webinst из каталога платформы:
sudo /opt/1cv8/x86_64/8.3.xx.xxxx/webinst -publish -apache24 \
-wsdir buh -dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
Команда создаёт каталог публикации, default.vrd и дописывает блок в конфигурацию Apache. Для RHEL-подобных систем путь к конфигурации обычно /etc/httpd/conf/httpd.conf, служба — httpd.
Проверка
Откройте в браузере http://имя-сервера/buh. Должно появиться окно входа 1С или сразу рабочий стол, если в базе нет пользователей. Для тонкого клиента добавьте в список баз новую с типом «На веб-сервере» и тем же адресом.
Шаг 4. Права доступа и способ входа
Права учётной записи веб-сервера
Для файловой базы это частая причина отказа. Процесс веб-сервера должен иметь права на изменение папки с базой:
- IIS — группе
IIS_IUSRSи учётной записиIUSR, либо удостоверению пула приложений, если оно изменено; - Apache в Windows — учётной записи, от которой запущена служба;
- Apache в Linux — пользователю
www-data(Debian, Ubuntu) илиapache(RHEL).
Права на изменение нужны и на каталог публикации, и на временный каталог учётной записи. Для клиент-серверной базы права на папку не нужны: данные хранит СУБД, а веб-сервер работает через сервер 1С.
Права пользователя 1С
В конфигурации есть отдельное право «Веб-клиент» (и «Тонкий клиент» для подключения тонким клиентом). Если ни одна роль пользователя его не даёт, вход через браузер будет отклонён, хотя в обычном клиенте всё открывается.
В типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11) права раздают группами доступа и профилями в Администрирование → Настройки пользователей и прав. Стандартные профили запуск веб-клиента обычно уже включают. Проблема чаще встречается в доработанных и самописных конфигурациях — там право ставят в роли через Конфигуратор.
Варианты аутентификации
| Способ | Как работает | Когда подходит |
|---|---|---|
| Аутентификация 1С | Пользователь вводит логин и пароль 1С в окне входа | Стандарт для большинства публикаций |
| Аутентификация ОС | Браузер передаёт доменную учётную запись, в IIS включена проверка подлинности Windows | Внутренняя сеть с доменом |
| Логин в строке подключения | Usr и Pwd прописаны в default.vrd | Только для служебных публикаций, не для людей |
Пароль в default.vrd лежит открытым текстом и даёт вход любому, кто знает адрес. Для публикации в интернет так делать нельзя.
Выход в интернет
Если сотрудники заходят снаружи, не открывайте порт 80 напрямую. Минимум — HTTPS с действительным сертификатом на 443-м порту. Лучше — доступ через VPN, а веб-сервер оставить только во внутренней сети. Пароли пользователей 1С при открытой публикации должны быть у всех, включая администратора.
Шаг 5. Типовые ошибки при работе 1С через браузер
Большинство сбоев сводится к четырём причинам: разрядность, права, версия модуля, права пользователя. Начните с журналов: для IIS — подробная ошибка в браузере при входе с самого сервера и журнал событий Windows, для Apache — файл error.log.
wsap24.dll не подходит по разрядности или путь в LoadModule указывает на удалённую версию платформы. Проверьте путь и запустите httpd -t для проверки конфигурации.После обновления платформы
Это самый частый сценарий поломки работающей публикации. При установке новой версии платформы путь к модулю в настройках Apache или IIS остаётся старым. Если старую версию удалили, публикация перестаёт работать.
Порядок действий: установите новую платформу вместе с модулями расширения, запустите Конфигуратор новой версии от администратора и повторите публикацию с тем же именем. Мастер перепишет путь к библиотеке.
Шаг 6. Как ускорить 1С в браузере
Веб-клиент передаёт по сети больше данных, чем тонкий клиент, и сильнее зависит от браузера. Что реально помогает:
- 🗂️ Перевести базу в клиент-серверный режим, если в ней работает больше нескольких человек. Файловая база через веб-сервер при одновременной работе заметно тормозит из-за блокировок.
- 🖧 Ставить веб-сервер рядом с сервером 1С — в одной локальной сети или на одной машине. Задержка между ними важнее ширины канала до пользователя.
- 💻 Предложить удалённым сотрудникам тонкий клиент вместо браузера. Публикация та же, а интерфейс быстрее.
- 🐢 Включить режим низкой скорости соединения для медленных каналов: флажок в свойствах базы в списке баз тонкого клиента или параметр запуска
/O Low. Платформа реже обращается к серверу и сжимает трафик. - 🧩 Установить расширение браузера для работы с файлами, если пользователи загружают и выгружают файлы. Платформа сама предложит его при первой такой операции.
- 🧹 Чистить кэш браузера после обновления конфигурации или платформы, если интерфейс ведёт себя странно.
Настройки браузера
Разрешите для адреса публикации всплывающие окна: 1С открывает в них формы и отчёты. Если браузер блокирует окна, пользователь видит пустую вкладку или ничего не происходит при нажатии на документ. Поддерживаемые браузеры — актуальные версии Chrome, Firefox, Edge, Safari и браузеров на их движках.
Нагрузка на сервер
Каждый пользователь веб-клиента — это сеанс 1С и клиентская лицензия, как и при обычном подключении. Рост числа пользователей через браузер нагружает сервер 1С так же, как рост числа тонких клиентов. Сам веб-сервер при этом потребляет немного: в типичной конфигурации узким местом остаётся сервер 1С и СУБД.
Частые вопросы
Можно ли опубликовать несколько баз на одном веб-сервере?
/buh и /zup. Адреса и каталоги публикации должны различаться.