К статье
Практический материал

Администрирование · 12 мин

Как работает 1С через веб: архитектура и настройка веб-доступа

Как устроена работа 1С через веб-браузер: веб-сервер, публикация базы, тонкий клиент по HTTP, настройка IIS и Apache, типичные ошибки и способы диагностики.

Работа 1С через веб означает, что пользователь подключается к информационной базе через браузер или тонкий клиент по протоколу HTTP, а не через локальную сеть напрямую к файлу базы или серверу 1С. Между пользователем и сервером 1С встаёт веб-сервер (IIS или Apache), который принимает запросы, передаёт их платформе 1С и возвращает результат. Такая схема позволяет работать с базой из любой точки, где есть интернет, без установки полноценного клиента.

Ключевой элемент схемы — публикация информационной базы на веб-сервере. При публикации создаётся виртуальный каталог с настройками, который связывает HTTP-запросы с конкретной базой: файловой или клиент-серверной. Платформа 1С поставляет специальные модули-расширения для веб-серверов, которые обрабатывают обращения и перенаправляют их в кластер серверов 1С или к файловой базе.

Есть два принципиально разных сценария веб-доступа: веб-клиент, когда интерфейс 1С отрисовывается прямо в браузере, и тонкий клиент, который устанавливается на компьютер пользователя, но обменивается данными с сервером по HTTP через веб-сервер. Оба сценария используют одну и ту же публикацию, но различаются требованиями к клиентской части и возможностями интерфейса.

Архитектура: из каких компонентов состоит веб-доступ к 1С

Цепочка обработки запроса выглядит так: пользователь открывает URL в браузере, запрос попадает на веб-сервер, веб-сервер через установленный модуль расширения 1С (wsap24.dll для IIS или mod_1c для Apache, в зависимости от версии платформы) передаёт запрос платформе. Если база клиент-серверная, модуль обращается к агенту сервера 1С, который запускает рабочий процесс и открывает сеанс. Если база файловая, модуль веб-расширения работает с файлом базы напрямую.

Важно понимать, что веб-сервер сам по себе ничего не знает о логике 1С — он только транспортирует запросы. Вся бизнес-логика, проведение документов, расчёты и формирование отчётов выполняются на стороне сервера 1С или в процессе веб-расширения. Браузер получает уже готовое представление: для веб-клиента это страницы и данные интерфейса, для тонкого клиента — сериализованные данные форм.

Публикация хранится в файле default.vrd — это XML-файл с указанием строки подключения к базе, имени публикации и дополнительных параметров (например, разрешения на отладку, настройки пула соединений). Платформа умеет создавать публикацию автоматически через конфигуратор: меню «Администрирование» → «Публикация на веб-сервере».

Веб-клиент и тонкий клиент по HTTP: что выбрать

Веб-клиент не требует установки ничего, кроме браузера. Пользователь открывает ссылку вида http://server/base и работает в привычном интерфейсе 1С, отрисованном средствами браузера. Это удобно для удалённых сотрудников, руководителей с планшетами и внешних пользователей. Ограничения: не все возможности платформы доступны (например, работа с некоторыми COM-объектами и локальными компонентами), а интерфейс может отличаться от толстого клиента в деталях.

Тонкий клиент — это небольшая программа, которая устанавливается на компьютер, но подключается к базе через веб-сервер по протоколу HTTP или HTTPS. В строке подключения вместо пути к базе указывается адрес публикации: ws=http://server/base. Тонкий клиент обычно работает быстрее веб-клиента на слабых каналах и поддерживает больше функций платформы, но требует установки и обновления на каждом рабочем месте.

Сравнение вариантов доступа

Веб-клиент (браузер)

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

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

Подходит для постоянных рабочих мест с нестабильной сетью. Ограничение: нужна установка и обновление клиента.

Толстый клиент через сервер 1С

Максимум возможностей платформы в локальной сети. Не работает через веб-публикацию напрямую.

Как опубликовать базу на веб-сервере

Стандартный путь — публикация из конфигуратора. Откройте базу в режиме «Конфигуратор», перейдите в меню «Администрирование» → «Публикация на веб-сервере». Укажите имя публикации (латиницей, без пробелов — оно станет частью URL), выберите веб-сервер (IIS или Apache), задайте каталог публикации и отметьте нужные флаги: публикация тонкого и веб-клиента, веб-сервисов, HTTP-сервисов. После нажатия «Опубликовать» платформа создаст каталог, файл default.vrd и зарегистрирует расширение в веб-сервере.

Для IIS предварительно должны быть установлены компоненты: сама служба IIS, модуль CGI/ISAPI (в зависимости от версии платформы используется сопоставление обработчиков ISAPI), а также компоненты работы с веб-сервисами из дистрибутива 1С — при установке платформы нужно отметить «Модули расширения веб-сервера». Для Apache потребуется вручную или через публикацию прописать подключение модуля 1С в конфигурации httpd.conf.

Порядок публикации базы на IIS
  1. 1
    Установите IIS с компонентами CGI/ISAPI и убедитесь, что при установке платформы 1С выбраны модули расширения веб-сервера
  2. 2
    Откройте базу в конфигураторе под пользователем с правами администратора
  3. 3
    Выберите «Администрирование» → «Публикация на веб-сервере», задайте имя латиницей и каталог
  4. 4
    Отметьте публикацию клиентов и нужных сервисов, нажмите «Опубликовать»
  5. 5
    Проверьте права: учётная запись пула IIS должна иметь доступ к каталогу публикации и, для файловой базы, к каталогу базы
  6. 6
    Откройте URL в браузере и авторизуйтесь пользователем 1С

После публикации обязательно проверьте права доступа. Пул приложений IIS работает под отдельной учётной записью, и именно она должна иметь чтение и запись к каталогу файловой базы. Для клиент-серверной базы модулю нужна сетевая доступность агента сервера 1С по его портам — если веб-сервер и сервер 1С на разных машинах, проверьте брандмауэр.

Как проходит запрос: сеансы, лицензии и производительность

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

Производительность веб-доступа зависит от трёх звеньев: канала связи между пользователем и веб-сервером, производительности самого веб-сервера и мощности сервера 1С. Самое узкое место на практике — канал связи: веб-клиент передаёт заметный объём служебных данных при отрисовке форм. Для медленных каналов тонкий клиент обычно предпочтительнее, так как его трафик компактнее.

Для снижения нагрузки на веб-сервер используют пул соединений: модуль 1С держит открытые соединения с сервером и переиспользует их, вместо того чтобы устанавливать новое соединение на каждый запрос. Параметры пула настраиваются в default.vrd (элемент pool с атрибутами размера и таймаута). При большом числе пользователей корректная настройка пула заметно снижает задержки.

Безопасность веб-доступа к 1С

Открытие базы в интернет без защитных мер — одна из самых опасных ошибок. Минимальный набор: HTTPS с валидным сертификатом, сложные пароли пользователей, отключение стандартных учётных записей с предсказуемыми именами, ограничение прав (внешним пользователям — только нужные роли). Желательно дополнительно ограничить доступ по IP на уровне веб-сервера или поставить перед публикацией VPN или обратный прокси с аутентификацией.

Отдельного внимания заслуживают публикуемые веб-сервисы и HTTP-сервисы: они доступны извне по тем же URL и должны иметь собственную проверку прав. Не публикуйте сервисы «на всякий случай» — включайте в публикацию только те, что реально используются интеграциями.

Диагностика типичных проблем

Если веб-клиент не открывается, проверяйте цепочку последовательно. Ошибка 404 означает, что виртуальный каталог не создан или URL указан неверно — проверьте имя публикации и регистр букв. Ошибка 500 чаще всего говорит о проблемах с модулем расширения: не установлены компоненты веб-расширения 1С, неверная битность пула приложений (для 64-разрядной платформы пул IIS должен быть 64-разрядным, флаг «Enable 32-bit applications» отключён) или нет прав на каталог.

Ситуация «страница открывается, но база недоступна» указывает на разрыв между веб-сервером и сервером 1С: проверьте, запущен ли агент сервера, доступен ли он по сети с машины веб-сервера, совпадает ли строка подключения в default.vrd с реальными именем сервера и именем базы в кластере. Для файловой базы проверьте, не открыта ли она монопольно другим процессом.

Типичные ошибки
01
Публикация под именем с кириллицей или пробелами — часть браузеров и прокси некорректно обрабатывает такие URL
02
Пул IIS в 32-разрядном режиме при 64-разрядной платформе — модуль 1С не загружается, ошибка 500
03
Учётная запись пула без прав на каталог файловой базы — база недоступна при корректной публикации
04
Публикация в интернет по HTTP без сертификата — перехват учётных данных
05
Включение всех веб-сервисов при публикации — лишняя поверхность атаки
Контрольные точки

Как проверить результат

Открытие URL публикации
Норма

Загружается окно входа 1С или интерфейс базы

Тревожный признак

Ошибка 404, 500 или заглушка веб-сервера

Авторизация пользователя
Норма

После ввода логина открывается рабочий стол конфигурации

Тревожный признак

Ошибка аутентификации или пустой список пользователей

Сеансы в консоли кластера
Норма

Появляется сеанс с типом «Веб-клиент» или «Тонкий клиент»

Тревожный признак

Сеанс отсутствует — запрос не доходит до сервера 1С

Когда веб-доступ не подходит и какие есть альтернативы

Веб-клиент — не универсальное решение. Если пользователям нужны механизмы, недоступные в браузере (некоторые внешние компоненты, специфическая интеграция с локальным оборудованием), придётся использовать тонкий или толстый клиент. Для единичных удалённых подключений внутри защищённой сети иногда проще настроить RDP-доступ к терминальному серверу с установленным клиентом 1С, чем поднимать и обслуживать веб-публикацию.

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

Итог

Что важно запомнить

Веб-доступ к 1С строится на связке «веб-сервер + модуль расширения 1С + сервер 1С или файловая база». Публикация создаётся из конфигуратора, ключевые точки отказа — права учётной записи веб-сервера, битность пула IIS и доступность агента сервера. Внешний доступ — только по HTTPS и с минимально необходимыми правами.

Частые вопросы о работе 1С через веб

Можно ли работать с файловой базой через веб?

Да, файловую базу можно опубликовать на веб-сервере, и модуль расширения 1С будет работать с файлом напрямую. Учётная запись пула веб-сервера должна иметь полный доступ к каталогу базы. Учтите, что файловый режим имеет ограничения по одновременной нагрузке, поэтому для большого числа веб-пользователей лучше клиент-серверный вариант.

Нужны ли отдельные лицензии для веб-клиента?

Отдельных лицензий на веб-клиент нет: каждый сеанс веб-клиента или тонкого клиента расходует обычную клиентскую лицензию 1С. Количество одновременных подключений ограничено купленными лицензиями, как и при работе в локальной сети.

Почему веб-клиент работает медленнее толстого клиента?

Веб-клиент передаёт по сети данные для отрисовки интерфейса в браузере, а браузер дополнительно тратит ресурсы на рендеринг. На медленных каналах разница особенно заметна. Уменьшить задержки помогают тонкий клиент вместо веб-клиента, настройка пула соединений и упрощение «тяжёлых» форм в конфигурации.

Как дать доступ внешнему контрагенту только к части данных?

Используйте механизм внешних пользователей: создайте отдельный профиль с ролями, ограниченными нужными объектами (например, только свои заказы и счета), и публикацию с включённым доступом внешних пользователей. Дополнительно ограничьте доступ по IP или через VPN.

Что делать, если после обновления платформы веб-клиент перестал работать?

После обновления платформы нужно переопубликовать базу: модули расширения веб-сервера привязаны к версии платформы. Откройте публикацию в конфигураторе новой версии и выполните «Опубликовать» заново, затем перезапустите веб-сервер и проверьте, что пул приложений использует обновлённые библиотеки.

Можно ли опубликовать несколько баз на одном веб-сервере?

Да, каждая база публикуется под своим именем и получает собственный URL и каталог с default.vrd. Ограничения — только ресурсы сервера: каждая публикация создаёт нагрузку на веб-сервер и на сервер 1С, поэтому при большом числе баз следите за памятью и настройками пулов соединений.