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

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

Зачем публиковать базу 1С и как это сделать правильно

Зачем публиковать базу 1С на веб-сервере: доступ через браузер, тонкий клиент, веб-сервисы. Способы публикации, требования, безопасность и типичные ошибки.

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

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

Материал разбирает практические сценарии, в которых публикация оправдана, способы её выполнения, минимальные требования к инфраструктуре и меры безопасности, без которых выносить базу в сеть нельзя.

Какие задачи решает публикация базы

Основная причина публикации — доступ к базе без установки толстого клиента и без прямого подключения к серверу 1С или файловому ресурсу. Пользователю достаточно браузера или тонкого клиента и ссылки вида https://server/base. Это критично для удалённых сотрудников, руководителей, работающих с планшетов, и сотрудников филиалов без собственной ИТ-инфраструктуры.

Вторая группа задач — интеграции. Опубликованные веб-сервисы (SOAP) и HTTP-сервисы позволяют внешним системам — сайту, CRM, мобильному приложению, системе логистики — читать и записывать данные в 1С напрямую. Без публикации эти механизмы недоступны, и интеграцию приходится строить через промежуточные файлы или COM-соединения.

Третья задача — работа внешних пользователей: контрагентов, клиентов, поставщиков. Через веб-клиент им можно дать ограниченный доступ к личному кабинету, заказам или статусам отгрузок, не пуская их в корпоративную сеть.

Удалённые пользователиДоступ через браузер

Есть сотрудники вне офисной сети без установленной платформы

ИнтеграцииВеб-сервисы и HTTP-сервисы

Внешняя система должна обмениваться данными с 1С в реальном времени

Внешние пользователиЛичный кабинет контрагента

Клиентам нужен ограниченный доступ к своим данным

Тонкий клиент по HTTPСлабый канал связи

Филиалы с медленным интернетом, где RDP или толстый клиент неудобны

Какие способы доступа открывает публикация

Веб-клиент

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

Тонкий клиент через веб-сервер

Тонкий клиент — небольшая программа, которая подключается к опубликованной базе по HTTP/HTTPS. Он даёт полноценный интерфейс управляемого приложения и работает заметно быстрее веб-клиента на слабых каналах. Это основной вариант для постоянных удалённых пользователей.

Веб-сервисы и HTTP-сервисы

При публикации можно выборочно включать доступ к веб-сервисам и HTTP-сервисам, описанным в конфигурации. Это стандартный способ отдать данные сайту или принять заказы из внешней системы. Доступ к сервисам регулируется отдельно от доступа к интерфейсу, что позволяет публиковать только API без пользовательского входа.

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

Веб-клиент

Ничего устанавливать не нужно; подходит для эпизодической работы. Ограничения по функциональности и скорости интерфейса.

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

Полноценный интерфейс, хорошо работает на слабых каналах. Требуется установка тонкого клиента на устройство.

HTTP-сервисы

Только машинный обмен данными для интеграций. Пользовательского интерфейса нет, нужна разработка на стороне внешней системы.

Что нужно подготовить перед публикацией

Для публикации требуется веб-сервер: Apache (чаще всего версии 2.4) или IIS на Windows. На машине с веб-сервером должны быть установлены компоненты 1С «Модули расширения веб-сервера» — именно они связывают веб-сервер с платформой. Версия разрядности веб-сервера и модулей расширения должна совпадать: 32-битный Apache не работает с 64-битными модулями и наоборот.

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

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

Как опубликовать базу: порядок действий

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

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

Порядок публикации базы
  1. 1
    Установите веб-сервер (Apache или IIS) и модули расширения веб-сервера 1С той же разрядности
  2. 2
    Откройте конфигуратор от имени администратора: Администрирование → Публикация на веб-сервере
  3. 3
    Укажите имя публикации латиницей без пробелов, выберите каталог и отметьте нужные виды доступа (клиенты, веб-сервисы)
  4. 4
    Подтвердите публикацию и перезапустите веб-сервер
  5. 5
    Откройте в браузере адрес вида http://server/имя_публикации и войдите под тестовым пользователем
  6. 6
    Настройте HTTPS и проверьте доступ с внешнего устройства, если база выходит за пределы локальной сети

Если страница не открывается, первым делом смотрят журнал ошибок веб-сервера: типичные причины — несовпадение разрядности модулей, отсутствие прав на каталог публикации и незарегистрированный обработчик. Для Apache помогает проверка синтаксиса конфигурации командой самого веб-сервера.

Безопасность опубликованной базы

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

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

Дополнительно рекомендуется ограничить доступ на уровне сети: веб-сервер выносится в DMZ или за reverse proxy, а прямой доступ к серверу 1С и СУБД извне закрывается файрволом. Регулярно обновляйте платформу и веб-сервер — уязвимости в них открывают путь ко всей базе.

Типичные ошибки при публикации
01
Публикация по HTTP без сертификата — перехват паролей и данных в открытом виде
02
Имя публикации с пробелами или кириллицей — ошибки обращения к базе и проблемы с URL
03
Разная разрядность веб-сервера и модулей расширения — база не открывается, в логах ошибка загрузки модуля
04
Публикация всех сервисов «на всякий случай» — лишняя поверхность атаки и доступ к данным, которые не должны выходить наружу
05
Правка default.vrd вручную без резервной копии — при повторной публикации из конфигуратора изменения теряются
06
Отсутствие отдельных ролей для внешних пользователей — контрагент видит чужие документы

Как проверить, что публикация работает корректно

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

Третий этап — нагрузка и безопасность: одновременный вход нескольких пользователей не должен приводить к ошибкам сеансов, попытка входа без пароля и обращение к отключённым сервисам должны отклоняться. Для HTTP-сервисов проверку делают тестовым запросом и смотрят код ответа и содержимое.

Контрольные точки

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

Открытие базы в браузере
Норма

Страница входа по HTTPS, успешный вход, формы открываются

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

Ошибка 500, белый экран, требование установить компоненты

Работа тонкого клиента
Норма

Подключение по HTTPS, документы проводятся, отчёты строятся

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

Ошибки сеанса, обрывы соединения, недоступность функций

Ответ HTTP-сервиса
Норма

Ожидаемый код ответа и корректные данные

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

401/403 при верных учётных данных, пустой или ошибочный ответ

Защищённость
Норма

Анонимный вход закрыт, HTTP перенаправляется на HTTPS

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

База открывается без пароля или по незашифрованному соединению

Альтернативы публикации

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

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

Маршрут решения

Как выбрать способ доступа

Нужен доступ с любых устройств без установки ПОПубликуйте базу и используйте веб-клиент
Постоянные удалённые пользователи со слабым каналомПубликация плюс тонкий клиент по HTTPS
Нужен обмен данными с сайтом или внешней системойПубликуйте HTTP-сервисы или веб-сервисы с отдельной учётной записью
Требуются функции, недоступные в веб-клиентеРассмотрите терминальный доступ вместо публикации
Пользователей мало и все в доверенной сетиДостаточно VPN и прямого подключения к кластеру
Итог

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

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

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

Можно ли опубликовать файловую базу 1С?

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

Что выбрать для публикации — Apache или IIS?

Оба варианта поддерживаются платформой. IIS удобнее в инфраструктуре Windows и проще в настройке для администраторов Microsoft-стека; Apache чаще выбирают на Linux или когда нужна гибкая конфигурация. Главное требование одно: разрядность веб-сервера и модулей расширения 1С должна совпадать.

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

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

Почему после публикации база не открывается и выдаёт ошибку?

Наиболее частые причины: несовпадение разрядности веб-сервера и модулей расширения, отсутствие прав у веб-сервера на каталог публикации, незарегистрированный обработчик или неверное имя публикации в URL. Диагностику начинайте с журнала ошибок веб-сервера — там обычно указана конкретная причина.

Как ограничить доступ к опубликованной базе из интернета?

Комбинируйте несколько мер: HTTPS с сертификатом, запрет анонимного доступа, отдельные роли с минимальными правами для внешних пользователей, ограничение доступа по IP на уровне веб-сервера или файрвола и размещение веб-сервера в DMZ с закрытым доступом к серверу 1С и СУБД извне.

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

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