Как открыть базу 1С через браузер: Apache, IIS и файл default.vrd
Содержание
Публикация базы 1С на веб-сервере — это подключение модуля расширения 1С к Apache или IIS, после которого база открывается по ссылке вида http://server/buh в браузере или в тонком клиенте. Делается из Конфигуратора: Администрирование → Публикация на веб-сервере, Конфигуратор при этом запускают от имени администратора Windows.
Частое заблуждение — что после публикации 1С «переезжает в интернет» и становится доступна всем. Нет: публикация только открывает вход через HTTP. Кто и откуда до него дотянется, решают настройки сети, HTTPS и пароли пользователей 1С. Без них опубликованная база — открытая дверь.
Как устроена работа базы 1С через веб-сервер
В схеме три звена. Каждое может сломаться отдельно, поэтому полезно держать её в голове при настройке и при поиске ошибок.
| Звено | Что делает | Где живёт |
|---|---|---|
| Браузер или тонкий клиент | Показывает интерфейс, отправляет запросы по HTTP/HTTPS | Компьютер пользователя |
| Веб-сервер + модуль 1С | Принимает запрос и передаёт его платформе | Сервер с Apache или IIS |
| Информационная база | Хранит данные, выполняет код | Папка файловой базы или кластер серверов 1С |
Модуль расширения веб-сервера — это библиотека из комплекта платформы:
- 🧩
wsap24.dll— для Apache 2.4 под Windows,wsap24.so— под Linux; - 🧩
wsisapi.dll— для IIS.
Для клиент-серверной базы модуль работает как обычный клиент 1С: сам подключается к агенту сервера (порт 1540), а дальше к менеджеру кластера и рабочим процессам. Поэтому версия платформы на веб-сервере должна совпадать с версией сервера 1С до последней цифры.
Для файловой базы модуль открывает файл 1Cv8.1CD напрямую. Значит, учётная запись, от которой работает веб-сервер, должна иметь права на папку базы.
Через ту же публикацию работают не только веб-клиент и тонкий клиент, но и веб-сервисы, HTTP-сервисы и стандартный интерфейс OData. Если они не нужны, их не включают.
Выбор веб-сервера и подготовка к публикации базы
Платформа 1С 8.3 поддерживает Apache 2.2/2.4 и IIS. На практике выбирают из двух вариантов.
| Критерий | Apache 2.4 | IIS |
|---|---|---|
| ОС | Windows и Linux | Только Windows Server / Windows 10–11 |
| Установка | Отдельный дистрибутив, служба | Роль Windows, ставится мастером |
| Настройка 1С | Строки в httpd.conf | Приложение и обработчик в диспетчере IIS |
| Сертификаты HTTPS | mod_ssl, правка конфига | Привязка в диспетчере, удобнее для Windows-админа |
| Когда брать | Linux-сервер, привычка к конфигам | Уже есть Windows Server и домен |
Что сделать до публикации
- Установите платформу 1С на веб-сервер с компонентом «Модули расширения веб-сервера». В установщике он по умолчанию выключен — его отмечают вручную.
- Совпадение разрядности: 64-битный Apache работает только с 64-битной платформой. 32-битный модуль в 64-битном Apache не загрузится.
- Для Apache: установите его как службу и убедитесь, что по
http://localhostоткрывается стартовая страница. - Для IIS: в ролях веб-сервера включите «Расширения ISAPI» и «Фильтры ISAPI» в группе «Разработка приложений», а также статическое содержимое и документ по умолчанию.
- Для клиент-серверной базы проверьте с веб-сервера, что порты 1540, 1541 и диапазон рабочих процессов (по умолчанию 1560–1591) на сервере 1С доступны.
Если на веб-сервере стоит несколько версий платформы, публикуйте из Конфигуратора той версии, что и сервер 1С. В конфиг веб-сервера прописывается путь к модулю именно запущенной версии.
Публикация базы 1С на веб-сервере: пошаговая инструкция
Через Конфигуратор
- Запустите 1С от имени администратора (правый клик по ярлыку → «Запуск от имени администратора»). Без этого Конфигуратор не сможет записать файлы в каталог веб-сервера и править его конфигурацию.
- Откройте базу в режиме Конфигуратора.
- Меню
Администрирование → Публикация на веб-сервере. - Заполните окно:
- Имя — латиница без пробелов, станет частью адреса:
buh→http://server/buh; - Веб-сервер — Apache 2.4 или IIS (список показывает только найденные);
- Каталог — папка, куда ляжет файл описания публикации, например
C:\inetpub\wwwroot\buhилиC:\Apache24\htdocs\buh; - флажки: доступ для клиентских приложений (нужен для браузера и тонкого клиента ), веб-сервисы, HTTP-сервисы, OData — по потребности.
- Имя — латиница без пробелов, станет частью адреса:
- Нажмите «Опубликовать». Для Apache Конфигуратор предложит перезапустить службу — согласитесь, иначе изменения не подхватятся.
Перезапуск Apache или IIS обрывает сеансы всех, кто уже работает через этот веб-сервер. Публикуйте новую базу вне рабочего времени или предупредите пользователей.
Что появится в конфиге Apache
Конфигуратор дописывает в httpd.conf примерно такой блок (версия платформы и пути — ваши):
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 устаревает. Его меняют вручную на новый каталог или публикуют базу заново из новой версии Конфигуратора.
Файл default.vrd
В каталоге публикации лежит default.vrd — описание точки входа. Главное в нём — атрибут ib со строкой подключения:
<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>
Для файловой базы строка выглядит как File="D:\Bases\Buh";. Перенесли базу в другую папку или на другой сервер — достаточно поправить ib и перезапустить веб-сервер
.
Без Конфигуратора: утилита webinst
На Linux и при массовых публикациях удобнее webinst из каталога bin платформы. Пример для Apache 2.4 под Windows:
webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"
Для IIS вместо -apache24 указывают -iis, параметр -confpath не нужен. Снять публикацию — ключ -delete с тем же -wsdir. Полный список ключей выводит сама утилита при запуске без параметров.
Как подключиться к опубликованной базе
- 🌐 Браузер: адрес
http://server/buh. Подходят актуальные Chrome, Edge, Firefox, Яндекс Браузер, Safari. - 🖥 Тонкий клиент: в окне запуска «Добавить» → «Добавление в список существующей информационной базы» → тип расположения «На веб-сервере» → адрес
http://server/buh.
Тонкий клиент по HTTP — частый выбор для удалённых филиалов: не нужен VPN до сервера 1С, хватает доступа к одному порту веб-сервера.
Права доступа к папкам и базе
Половина проблем после публикации — права Windows, а не 1С.
| Кто | Каким папкам нужен доступ | Какой |
|---|---|---|
| Служба Apache (по умолчанию «Локальная система» или ваша учётка) | Каталог файловой базы | Чтение и запись |
IIS: группа IIS_IUSRS и пользователь IUSR | Каталог файловой базы | Чтение и запись |
IIS: IIS_IUSRS | Каталог bin платформы | Чтение и выполнение |
| Все | Каталог публикации с default.vrd | Чтение |
Для клиент-серверной базы доступ к папке базы не нужен — данные лежат в СУБД. Зато учётка веб-сервера должна иметь право подключаться к кластеру, если на нём заданы администраторы.
В IIS у пула приложений, в котором работает публикация, проверьте параметр «Разрешить 32-разрядные приложения»: True — только для 32-битной платформы, для 64-битной — False.
Защита опубликованной базы: HTTPS и доступ снаружи
Открывать базу в интернет по голому HTTP нельзя: логин и пароль пользователя 1С уходят открытым текстом. Минимальный набор мер:
- 🔒 HTTPS. В Apache включают
mod_ssl, добавляютListen 443и виртуальный хост с путями к сертификату и ключу. В IIS — привязка сайта к порту 443 с выбранным сертификатом. Бесплатный сертификат Let’s Encrypt выпускают через certbot (Linux) или win-acme (Windows). - 🔑 Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — вход для любого, кто узнал адрес.
- 🚪 Только нужные флажки. Не нужен OData — не публикуйте. Каждый лишний сервис — лишняя точка входа.
- 🧱 Сеть. Пробрасывайте наружу только 443. Порты кластера 1С (1540–1541, 1560–1591) и СУБД наружу не открывают никогда.
- 🌍 Ограничение по адресам. Если работают только из офисов, разрешите их IP: в Apache директивой
Require ipвместоRequire all granted, в IIS — модулем ограничений IP-адресов. - 🛡 Перебор паролей. В Конфигураторе у пользователей и в настройках базы есть ограничения сложности пароля; для сервера в интернете стоит добавить защиту на уровне сети или обратного прокси.
Перенаправьте HTTP на HTTPS, чтобы пользователи, набравшие адрес без https://, не работали по открытому каналу. В Apache это делают Redirect permanent в виртуальном хосте порта 80.
Аутентификация операционной системы (флажок в окне публикации) удобна в домене: пользователь заходит без пароля 1С. Для доступа из интернета её обычно не используют — браузеры вне домена запрашивают логин Windows, и это путает людей.
Ошибки доступа к опубликованной базе
Если ошибка не очевидна, смотрите журналы: у Apache — logs\error.log в его каталоге, у IIS — журналы сайта и «Просмотр событий» Windows. Для серверной базы — технологический журнал кластера, если он настроен.
Отладочный перезапуск веб-сервера в рабочее время обрывает сеансы. Если ошибку видит один пользователь, а у остальных всё работает, сначала проверьте его браузер и учётную запись 1С, а службу не трогайте.
Как ускорить работу веб-клиента 1С
Веб-клиент медленнее тонкого: интерфейс собирается в браузере, а формы с большим количеством элементов грузятся заметно дольше. Что реально помогает:
- Тонкий клиент вместо браузера для тех, кто работает весь день. Подключение по HTTP то же, а отрисовка быстрее.
- Веб-сервер рядом с сервером 1С. Между ними идёт много коротких обменов — держите их в одной локальной сети, а не в разных дата-центрах.
- Сжатие ответов. В Apache включите
mod_deflate, в IIS — динамическое сжатие. Это сокращает трафик для удалённых пользователей на медленных каналах. - Потоки Apache под Windows. При десятках пользователей поднимите
ThreadsPerChildв настройкахmpm_winnt— значение по умолчанию рассчитано на небольшую нагрузку. - Современный браузер и обновлённая платформа. Новые версии платформы ускоряют веб-клиент; браузер старше пары лет может работать заметно медленнее.
- Низкая скорость соединения. В параметрах подключения тонкого клиента можно указать низкую скорость соединения — платформа станет экономнее обмениваться данными на медленном канале.
Оценивать скорость удобно замером: откройте тяжёлый журнал документов в браузере и в тонком клиенте и сравните время. Разница в несколько раз — обычное дело на больших формах, это не поломка.