Как открыть базу 1С через браузер: Apache, IIS и файл default.vrd

· 9 мин

Содержание

Публикация базы 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.4IIS
ОСWindows и LinuxТолько Windows Server / Windows 10–11
УстановкаОтдельный дистрибутив, службаРоль Windows, ставится мастером
Настройка 1ССтроки в httpd.confПриложение и обработчик в диспетчере IIS
Сертификаты HTTPSmod_ssl, правка конфигаПривязка в диспетчере, удобнее для Windows-админа
Когда братьLinux-сервер, привычка к конфигамУже есть Windows Server и домен

Что сделать до публикации

  1. Установите платформу 1С на веб-сервер с компонентом «Модули расширения веб-сервера». В установщике он по умолчанию выключен — его отмечают вручную.
  2. Совпадение разрядности: 64-битный Apache работает только с 64-битной платформой. 32-битный модуль в 64-битном Apache не загрузится.
  3. Для Apache: установите его как службу и убедитесь, что по http://localhost открывается стартовая страница.
  4. Для IIS: в ролях веб-сервера включите «Расширения ISAPI» и «Фильтры ISAPI» в группе «Разработка приложений», а также статическое содержимое и документ по умолчанию.
  5. Для клиент-серверной базы проверьте с веб-сервера, что порты 1540, 1541 и диапазон рабочих процессов (по умолчанию 1560–1591) на сервере 1С доступны.

Если на веб-сервере стоит несколько версий платформы, публикуйте из Конфигуратора той версии, что и сервер 1С. В конфиг веб-сервера прописывается путь к модулю именно запущенной версии.

Публикация базы 1С на веб-сервере: пошаговая инструкция

Через Конфигуратор

  1. Запустите 1С от имени администратора (правый клик по ярлыку → «Запуск от имени администратора»). Без этого Конфигуратор не сможет записать файлы в каталог веб-сервера и править его конфигурацию.
  2. Откройте базу в режиме Конфигуратора.
  3. Меню Администрирование → Публикация на веб-сервере.
  4. Заполните окно:
    • Имя — латиница без пробелов, станет частью адреса: buh → http://server/buh;
    • Веб-сервер — Apache 2.4 или IIS (список показывает только найденные);
    • Каталог — папка, куда ляжет файл описания публикации, например C:\inetpub\wwwroot\buh или C:\Apache24\htdocs\buh;
    • флажки: доступ для клиентских приложений (нужен для браузера и тонкого клиента ), веб-сервисы, HTTP-сервисы, OData — по потребности.
  5. Нажмите «Опубликовать». Для 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=&quot;srv1c&quot;;Ref=&quot;buh&quot;;">
</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С

Веб-клиент медленнее тонкого: интерфейс собирается в браузере, а формы с большим количеством элементов грузятся заметно дольше. Что реально помогает:

  1. Тонкий клиент вместо браузера для тех, кто работает весь день. Подключение по HTTP то же, а отрисовка быстрее.
  2. Веб-сервер рядом с сервером 1С. Между ними идёт много коротких обменов — держите их в одной локальной сети, а не в разных дата-центрах.
  3. Сжатие ответов. В Apache включите mod_deflate, в IIS — динамическое сжатие. Это сокращает трафик для удалённых пользователей на медленных каналах.
  4. Потоки Apache под Windows. При десятках пользователей поднимите ThreadsPerChild в настройках mpm_winnt — значение по умолчанию рассчитано на небольшую нагрузку.
  5. Современный браузер и обновлённая платформа. Новые версии платформы ускоряют веб-клиент; браузер старше пары лет может работать заметно медленнее.
  6. Низкая скорость соединения. В параметрах подключения тонкого клиента можно указать низкую скорость соединения — платформа станет экономнее обмениваться данными на медленном канале.

Оценивать скорость удобно замером: откройте тяжёлый журнал документов в браузере и в тонком клиенте и сравните время. Разница в несколько раз — обычное дело на больших формах, это не поломка.

Проверка публикации перед выдачей адреса пользователям
Выполнено: 0 / 7

Частые вопросы

Можно ли опубликовать файловую базу на веб-сервере?
Да. Строка подключения в default.vrd будет вида File=“путь к папке”. Учётке веб-сервера нужны права на запись в эту папку. Для 10+ одновременных пользователей файловая база через веб тормозит — лучше клиент-серверный вариант.
Нужно ли переопубликовывать базу после обновления платформы?
Если старая версия удалена — да, иначе веб-сервер не найдёт модуль по старому пути. Можно переопубликовать из новой версии Конфигуратора или вручную поменять путь в LoadModule.
Можно ли опубликовать несколько баз на одном веб-сервере?
Да, у каждой своё имя и свой каталог с default.vrd: http://server/buh, http://server/zup. Все они должны работать на одной версии модуля, если подключены к одному Apache.
Работает ли публикация на Linux?
Да. Ставят Apache 2.4 и платформу с модулями веб-сервера, а публикуют утилитой webinst с ключом -apache24 и путём к конфигу Apache.
Нужна ли отдельная лицензия на веб-сервер?
Отдельной лицензии на сам веб-сервер нет. Сеансы веб-клиента и тонкого клиента по HTTP занимают клиентские лицензии, как при обычном подключении.