Администрирование · 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. Тонкий клиент обычно работает быстрее веб-клиента на слабых каналах и поддерживает больше функций платформы, но требует установки и обновления на каждом рабочем месте.
Сравнение вариантов доступа
Подходит для удалённой работы без установки ПО. Ограничение: часть механизмов платформы недоступна, выше нагрузка на браузер.
Подходит для постоянных рабочих мест с нестабильной сетью. Ограничение: нужна установка и обновление клиента.
Максимум возможностей платформы в локальной сети. Не работает через веб-публикацию напрямую.
Как опубликовать базу на веб-сервере
Стандартный путь — публикация из конфигуратора. Откройте базу в режиме «Конфигуратор», перейдите в меню «Администрирование» → «Публикация на веб-сервере». Укажите имя публикации (латиницей, без пробелов — оно станет частью URL), выберите веб-сервер (IIS или Apache), задайте каталог публикации и отметьте нужные флаги: публикация тонкого и веб-клиента, веб-сервисов, HTTP-сервисов. После нажатия «Опубликовать» платформа создаст каталог, файл default.vrd и зарегистрирует расширение в веб-сервере.
Для IIS предварительно должны быть установлены компоненты: сама служба IIS, модуль CGI/ISAPI (в зависимости от версии платформы используется сопоставление обработчиков ISAPI), а также компоненты работы с веб-сервисами из дистрибутива 1С — при установке платформы нужно отметить «Модули расширения веб-сервера». Для Apache потребуется вручную или через публикацию прописать подключение модуля 1С в конфигурации httpd.conf.
- 1Установите IIS с компонентами CGI/ISAPI и убедитесь, что при установке платформы 1С выбраны модули расширения веб-сервера
- 2Откройте базу в конфигураторе под пользователем с правами администратора
- 3Выберите «Администрирование» → «Публикация на веб-сервере», задайте имя латиницей и каталог
- 4Отметьте публикацию клиентов и нужных сервисов, нажмите «Опубликовать»
- 5Проверьте права: учётная запись пула IIS должна иметь доступ к каталогу публикации и, для файловой базы, к каталогу базы
- 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 с реальными именем сервера и именем базы в кластере. Для файловой базы проверьте, не открыта ли она монопольно другим процессом.
Как проверить результат
Загружается окно входа 1С или интерфейс базы
Ошибка 404, 500 или заглушка веб-сервера
После ввода логина открывается рабочий стол конфигурации
Ошибка аутентификации или пустой список пользователей
Появляется сеанс с типом «Веб-клиент» или «Тонкий клиент»
Сеанс отсутствует — запрос не доходит до сервера 1С
Когда веб-доступ не подходит и какие есть альтернативы
Веб-клиент — не универсальное решение. Если пользователям нужны механизмы, недоступные в браузере (некоторые внешние компоненты, специфическая интеграция с локальным оборудованием), придётся использовать тонкий или толстый клиент. Для единичных удалённых подключений внутри защищённой сети иногда проще настроить RDP-доступ к терминальному серверу с установленным клиентом 1С, чем поднимать и обслуживать веб-публикацию.
Для интеграций между системами веб-публикация базы целиком часто избыточна: достаточно опубликовать отдельные HTTP-сервисы или веб-сервисы с узким набором операций. Это безопаснее и проще в сопровождении, чем открывать полный клиентский доступ.
Что важно запомнить
Веб-доступ к 1С строится на связке «веб-сервер + модуль расширения 1С + сервер 1С или файловая база». Публикация создаётся из конфигуратора, ключевые точки отказа — права учётной записи веб-сервера, битность пула IIS и доступность агента сервера. Внешний доступ — только по HTTPS и с минимально необходимыми правами.
Частые вопросы о работе 1С через веб
Можно ли работать с файловой базой через веб?
Да, файловую базу можно опубликовать на веб-сервере, и модуль расширения 1С будет работать с файлом напрямую. Учётная запись пула веб-сервера должна иметь полный доступ к каталогу базы. Учтите, что файловый режим имеет ограничения по одновременной нагрузке, поэтому для большого числа веб-пользователей лучше клиент-серверный вариант.
Нужны ли отдельные лицензии для веб-клиента?
Отдельных лицензий на веб-клиент нет: каждый сеанс веб-клиента или тонкого клиента расходует обычную клиентскую лицензию 1С. Количество одновременных подключений ограничено купленными лицензиями, как и при работе в локальной сети.
Почему веб-клиент работает медленнее толстого клиента?
Веб-клиент передаёт по сети данные для отрисовки интерфейса в браузере, а браузер дополнительно тратит ресурсы на рендеринг. На медленных каналах разница особенно заметна. Уменьшить задержки помогают тонкий клиент вместо веб-клиента, настройка пула соединений и упрощение «тяжёлых» форм в конфигурации.
Как дать доступ внешнему контрагенту только к части данных?
Используйте механизм внешних пользователей: создайте отдельный профиль с ролями, ограниченными нужными объектами (например, только свои заказы и счета), и публикацию с включённым доступом внешних пользователей. Дополнительно ограничьте доступ по IP или через VPN.
Что делать, если после обновления платформы веб-клиент перестал работать?
После обновления платформы нужно переопубликовать базу: модули расширения веб-сервера привязаны к версии платформы. Откройте публикацию в конфигураторе новой версии и выполните «Опубликовать» заново, затем перезапустите веб-сервер и проверьте, что пул приложений использует обновлённые библиотеки.
Можно ли опубликовать несколько баз на одном веб-сервере?
Да, каждая база публикуется под своим именем и получает собственный URL и каталог с default.vrd. Ограничения — только ресурсы сервера: каждая публикация создаёт нагрузку на веб-сервер и на сервер 1С, поэтому при большом числе баз следите за памятью и настройками пулов соединений.