Работа с базой 1С 8.3 через браузер и тонкий клиент: IIS, Apache и публикация

· 9 мин

Содержание

Чтобы запустить 1С через HTTP, нужны три вещи: веб-сервер (IIS или Apache 2.4), модули расширения веб-сервера из дистрибутива платформы и публикация базы. Публикацию делают в Конфигураторе через Администрирование → Публикация на веб-сервере или утилитой webinst. После этого база открывается в браузере по адресу вида http://server/buh или в тонком клиенте как база «На веб-сервере».

Схема одинаково работает для файловой и клиент-серверной базы. Различаются только строка соединения в публикации и права, которые нужно выдать учётной записи веб-сервера. Ниже — порядок для Windows и Linux, настройка клиентов и что делать, когда вместо базы открывается страница с ошибкой.

Как устроено подключение к 1С по HTTP

Клиент не обращается к базе напрямую. Он отправляет HTTP-запросы веб-серверу, а тот передаёт их модулю расширения 1С. Модуль уже работает с базой: открывает файл 1Cv8.1CD или подключается к кластеру серверов 1С.

Тип базыЦепочка соединенияЧто видит клиент
ФайловаяКлиент → веб-сервер → модуль 1С → файл 1Cv8.1CDТолько адрес публикации
Клиент-сервернаяКлиент → веб-сервер → модуль 1С → агент кластера (порт 1540) → рабочие процессыТолько адрес публикации

Отсюда несколько следствий:

  • 🔒 Наружу открыт только порт 80 или 443. Порты кластера и общая папка с базой остаются во внутренней сети.
  • 🧩 Версия модуля расширения на веб-сервере должна совпадать с версией сервера 1С. Обновили кластер — переустановите модули и на веб-сервере.
  • 🖥️ Подключаться можно браузером (веб-клиент), тонким клиентом и мобильным клиентом. Толстый клиент по HTTP не работает .
  • 🔑 Каждому подключению по-прежнему нужна клиентская лицензия. Веб-доступ не обходит лицензирование.

Для файловой базы веб-публикация часто работает быстрее, чем общая сетевая папка. С файлом работает один процесс веб-сервера на той же машине, а не десяток клиентов через SMB.

Подготовка веб-сервера IIS или Apache

Модули расширения веб-сервера

Модули ставятся из дистрибутива платформы. На Windows запустите установку платформы той же версии, что у сервера 1С, и в списке компонентов отметьте «Модули расширения веб-сервера». Ставьте ту же разрядность, что у веб-сервера: 64-разрядный IIS или Apache — 64-разрядная платформа.

На Linux модуль входит в пакеты сервера 1С. После установки в каталоге платформы (например, /opt/1cv8/x86_64/8.3.xx.xxxx/) должны лежать wsap24.so и утилита webinst.

IIS на Windows Server

IIS включают в «Диспетчере серверов» как роль «Веб-сервер (IIS)». Кроме набора по умолчанию нужны компоненты из группы разработки приложений:

  1. Расширения ISAPI.
  2. Фильтры ISAPI.
  3. Консоль управления IIS.
  4. Совместимость управления IIS 6 (метабаза) — публикации из Конфигуратора на ряде релизов без неё не работают, ставьте сразу.

Для IIS модуль 1С называется wsisapi.dll. При публикации он прописывается в сопоставлениях обработчиков сайта.

Apache 2.4

На Windows берут сборку Apache 2.4 нужной разрядности и ставят её службой. На Linux — пакет apache2 (Debian, Ubuntu) или httpd (RHEL-подобные). Модуль 1С для Apache 2.4 — wsap24.dll на Windows и wsap24.so на Linux.

Служба Apache на Windows по умолчанию работает от «Локальной системы». Для файловой базы в сетевой папке это не годится: системная учётная запись не имеет прав на чужой сервер. Запускайте службу от доменного пользователя с правами на папку базы.

Публикация базы на веб-сервере

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

Самый быстрый путь на Windows:

  1. Запустите 1С от имени администратора (правый клик → «Запуск от имени администратора»). Без этого Конфигуратор не сможет записать настройки IIS или httpd.conf.
  2. Откройте базу в режиме Конфигуратора.
  3. Выберите Администрирование → Публикация на веб-сервере.
  4. Задайте имя публикации латиницей, например buh. Оно станет частью адреса.
  5. Выберите веб-сервер (IIS или Apache 2.4) и каталог публикации, например C:\inetpub\wwwroot\buh.
  6. Оставьте включённой галочку публикации тонкого клиента и веб-клиента. HTTP-сервисы и веб-сервисы конфигурации отмечайте, только если они нужны.
  7. Нажмите «Опубликовать». Для Apache после этого перезапустите службу.

В каталоге публикации появится файл default.vrd. В нём хранятся строка соединения с базой и настройки публикации. Его можно править вручную — например, поменять имя сервера 1С без повторной публикации.

Через webinst: без Конфигуратора и на Linux

Утилита webinst лежит в каталоге bin платформы. Она удобна на сервере без графики и в скриптах. Пример для клиент-серверной базы и Apache на Linux:

cd /opt/1cv8/x86_64/8.3.xx.xxxx
sudo ./webinst -publish -apache24 \
  -wsdir buh \
  -dir /var/www/buh \
  -connstr "Srvr=srv1c;Ref=buh;" \
  -confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2

Для файловой базы строка соединения выглядит так: -connstr "File=/srv/1c/buh;". Для IIS вместо -apache24 и -confpath указывают -iis. Снять публикацию — тот же вызов с ключом -delete.

Если интересно, что делает публикация в Apache, загляните в конфиг после webinst. Там появятся строка LoadModule с путём к wsap24, Alias на каталог публикации и блок <Directory> с обработчиком 1С и ссылкой на default.vrd. Править эти строки руками стоит, только когда вы понимаете, зачем.

Права учётной записи веб-сервера

Здесь ломается больше всего публикаций. Учётная запись, от которой работает пул IIS или служба Apache, должна иметь:

ОбъектПрава
Каталог bin платформы (C:\Program Files\1cv8\<версия>\bin)Чтение и выполнение
Каталог публикации с default.vrdЧтение
Папка файловой базыИзменение (чтение, запись, создание файлов)

Для IIS это группа IIS_IUSRS. Для клиент-серверной базы права на файлы базы не нужны: модуль подключается к кластеру по сети.

Перед первым запуском по HTTP
Выполнено: 0 / 6

Подключение клиентов к опубликованной базе

Браузер

Откройте адрес http://имя-сервера/buh/. Подходят актуальные Chrome, Firefox, Edge, Яндекс Браузер и Safari. Разрешите для адреса всплывающие окна — 1С открывает в них часть форм. Для работы с файлами на компьютере пользователя браузер предложит установить расширение работы с файлами; согласитесь, иначе выгрузка и загрузка файлов будут неудобными.

Тонкий клиент

Тонкий клиент работает по HTTP быстрее браузера и выглядит как обычная 1С. Добавьте базу в список:

  1. В окне запуска нажмите «Добавить».
  2. Выберите «Добавление в список существующей информационной базы».
  3. Тип расположения — «На веб-сервере».
  4. Укажите адрес публикации: http://имя-сервера/buh.
  5. Если используется прокси, задайте его на следующем шаге; иначе оставьте автоматическое определение.

Версия тонкого клиента может отличаться от версии сервера: при подключении он сам скачает нужную с веб-сервера, если в публикации указан дистрибутив тонкого клиента. Иначе на компьютере пользователя должна стоять та же версия, что у сервера. Для запуска из ярлыка или скрипта адрес передают ключом /WS:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /WS "https://1c.company.ru/buh"

Мобильный клиент

В мобильном клиенте на телефоне добавьте базу и укажите тот же адрес публикации. Конфигурация должна поддерживать мобильный клиент — типовые БП 3.0, ЗУП 3.1 и УТ 11 поддерживают.

Ошибки при запуске 1С через веб-сервер

Сначала проверьте адрес в браузере на самом веб-сервере: http://localhost/buh/. Если локально не открывается, дело в публикации или правах. Если открывается локально, но не с других машин — в сети, брандмауэре или DNS.

Диагностика: выберите симптом

Перезапуск пула IIS или службы Apache обрывает все веб-сеансы. Делайте это вне рабочего времени или предупредите пользователей: несохранённые документы в открытых формах пропадут.

Скорость и безопасность публикации

Как сделать работу быстрее

  • ⚡ Подключайте сотрудников тонким клиентом, а браузер оставьте для редких входов. Тонкий клиент передаёт меньше данных.
  • 🗂️ Выносите каждую крупную публикацию в отдельный пул приложений IIS. Зависшая база не утянет остальные.
  • 📶 Для клиент-серверной базы ставьте веб-сервер рядом с кластером 1С, в одной сети. Задержка между ними важнее ширины внешнего канала.
  • 🧱 Файловую базу через веб-сервер используют для небольшой группы пользователей. Когда начинаются блокировки и долгие ожидания, пора переходить на клиент-серверный вариант.

Как закрыть доступ от посторонних

  1. Только HTTPS. Привяжите сертификат к сайту в IIS («Привязки» → тип https) или включите mod_ssl в Apache. Для внешнего доступа нужен сертификат, которому доверяют клиенты: самоподписанный тонкий клиент будет отклонять, пока сертификат не добавят в доверенные на каждом компьютере.
  2. Перенаправление с HTTP на HTTPS. Пароли пользователей 1С по HTTP идут открытым текстом.
  3. Пароли у всех пользователей базы. Опубликованная база без паролей доступна любому, кто узнал адрес. Пользователя без пароля и с полными правами наружу не выпускайте.
  4. Лишнее не публикуйте. Галочки веб-сервисов и HTTP-сервисов включайте только для реально используемых интеграций.
  5. Ограничьте доступ по IP или через VPN, если работать снаружи нужно нескольким сотрудникам.

Не прописывайте логин и пароль пользователя 1С в строку соединения default.vrd ради удобства. Тогда любой, кто откроет адрес, войдёт под этим пользователем.

Когда веб-публикация не лучший выбор

HTTP-доступ подходит для удалённых сотрудников, филиалов и мобильных устройств. Но есть случаи, где он мешает:

  • 🧮 Работа с внешним оборудованием на кассах и складах: сканеры и фискальные регистраторы проще подключать в локальной сети или через терминальный сервер.
  • 🛠️ Доработки конфигурации: Конфигуратор и толстый клиент по HTTP не запускаются, разработчику нужен прямой доступ к базе.
  • 📄 Старые внешние обработки для обычного приложения: в веб-клиенте и тонком клиенте они не откроются.

В остальных сценариях публикация на веб-сервере проще терминального сервера: не нужны лицензии на удалённые рабочие столы, а каждый пользователь работает в своей системе.

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

Можно ли опубликовать несколько баз на одном веб-сервере?
Да. Каждая база публикуется под своим именем: http://server/buh, http://server/zup. У каждой публикации свой каталог и свой default.vrd.
Нужен ли сервер 1С, чтобы открыть базу через браузер?
Нет. Файловую базу можно опубликовать напрямую, модуль веб-сервера откроет файл сам. Сервер 1С нужен только для клиент-серверной базы.
Как сменить адрес публикации, не трогая пользователей?
Опубликуйте базу под новым именем и оставьте старую публикацию до перенастройки всех клиентов. Потом снимите старую через Конфигуратор или webinst -delete.
Почему в браузере 1С работает медленнее, чем в тонком клиенте?
Браузер исполняет интерфейс через JavaScript и отрисовывает формы сам. Тонкий клиент делает это нативно, поэтому формы открываются быстрее.
Работает ли публикация на IIS в Windows 10 и 11?
Работает: IIS включается в «Компонентах Windows». Но клиентская Windows ограничивает число одновременных подключений, поэтому для офиса берут Windows Server или Linux.