Публикация базы 1С на веб-сервере и подключение клиентов

· 9 мин

Содержание

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

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

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

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

Первое решение — какой веб-сервер использовать. Платформа 8.3 работает с двумя: Microsoft IIS (входит в состав Windows Server) и Apache 2.4 (ставится отдельно). На Windows Server 2016 и новее чаще берут IIS — он уже в системе, им проще управлять через графическую оснастку «Диспетчер служб IIS», удобно разводить базы по пулам приложений и настраивать проверку подлинности Windows. Apache выбирают там, где веб-сервер уже стоит под другие задачи или когда база публикуется на Linux. Для одной-двух баз разница непринципиальна — берите тот, что проще поддерживать вашей команде.

Три условия, без которых публикация не заработает:

  • 🧩 При установке платформы отмечен компонент «Модули расширения веб-сервера». Без него в папке bin нет нужных библиотек, и Конфигуратору нечем публиковать. Если компонент не ставили — запустите установщик платформы повторно в режиме изменения и добавьте его.
  • ⚙️ Разрядность платформы совпадает с разрядностью веб-сервера. Для 64-битного IIS и пула приложений нужна 64-битная платформа и 64-битный модуль расширения.
  • 🔐 Для IIS включены компоненты «Расширения ISAPI» и «Фильтры ISAPI» (в ролях Windows: Веб-сервер (IIS) → Разработка приложений).

Модуль расширения — это библиотека из каталога платформы (C:\Program Files\1cv8\<номер версии>\bin): wsisapi.dll для IIS и wsap24.dll для Apache 2.4. Запоминать путь вручную не нужно — Конфигуратор подставит его сам, но именно его отсутствие даёт большинство ошибок на старте.

Перед публикацией проверьте
Выполнено: 0 / 5

Публикация базы из Конфигуратора

Запустите Конфигуратор от имени администратора — иначе он не сможет записать настройки в конфигурацию веб-сервера. Откройте меню Администрирование → Публикация на веб-сервере….

В окне публикации заполните:

  1. Имя — псевдоним (alias) виртуального каталога. Он войдёт в адрес: имя buh даст http://сервер/buh. Пишите латиницей, без пробелов.
  2. Веб-сервер — выберите из списка Apache или IIS. Если список пуст, платформа не нашла установленный веб-сервер.
  3. Каталог — физическая папка, куда лягут служебные файлы публикации. Заведите отдельную пустую папку, например C:\inetpub\1c\buh.
  4. Галочки состава публикации. Для обычного доступа оставьте «Публиковать тонкий клиент и веб-клиент». Остальные (OData, Web-сервисы, HTTP-сервисы) включайте только если они реально нужны.

Нажмите «Опубликовать». Платформа создаёт в каталоге файл default.vrd, а также web.config (для IIS) или .htaccess (для Apache), и регистрирует виртуальный каталог в веб-сервере. На вопрос о перезапуске веб-сервера ответьте утвердительно.

Эти три файла и есть вся публикация: default.vrd описывает, к какой базе и каким составом сервисов идёт обращение, а web.config или .htaccess подключают модуль расширения и задают права доступа к каталогу. Удалять их вручную не нужно — для снятия публикации есть кнопка «Отключить» в той же форме. Проверить результат проще всего сразу: откройте адрес http://сервер/имя в браузере на самом сервере — если появилось окно входа 1С, виртуальный каталог зарегистрирован верно.

Публиковать можно и без Конфигуратора — утилитой webinst из каталога bin. Запуск webinst без параметров выводит справку по ключам. Это удобно для автоматических развёртываний на Linux-серверах.

После каждого обновления платформы публикацию нужно создать заново. Файлы web.config и .htaccess ссылаются на модуль конкретной версии платформы. Когда старая версия удаляется, путь к .dll становится недействительным и сайт падает с ошибкой 500. Это и есть самая частая причина «вчера работало, сегодня нет». Решение — открыть ту же форму публикации и нажать «Опубликовать» ещё раз.

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

Как настроить доступ и аутентификацию

Файл default.vrd в каталоге публикации хранит строку подключения к базе. Для файловой базы это атрибут вида File="C:\bases\buh", для серверной — Srvr="сервер";Ref="имя_базы". Менять его вручную обычно не нужно: значение подставляется из того, к чему подключён Конфигуратор в момент публикации.

Способов входа два:

  • Аутентификация 1С — при открытии адреса появляется окно с полем логина и пароля пользователя базы. Подходит, когда доступ открыт широкому кругу и доменной сети нет.
  • Аутентификация ОС — прозрачный вход под учётной записью Windows или домена, без ввода пароля. Чтобы она работала, у пользователя информационной базы в списке пользователей (Конфигуратор: Администрирование → Пользователи) должно быть задано сопоставление с пользователем ОС, а на веб-сервере включена проверка подлинности Windows и отключён анонимный вход.

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

Для внешнего доступа настройте на веб-сервере HTTPS: установите сертификат и используйте в адресе https://. Пароли и данные базы по открытому HTTP в интернет отдавать нельзя. Если наружу смотрит только публикация, а кластер 1С и файл базы остаются во внутренней сети, площадь атаки заметно меньше, чем при прямом доступе к серверу 1С.

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

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

После успешной публикации база доступна сразу двумя путями.

Веб-клиент. Откройте в браузере адрес публикации, например http://сервер/buh. Поддерживаются современные версии Chrome, Microsoft Edge, Firefox и Яндекс.Браузера. Введите логин и пароль (или войдёте автоматически при аутентификации ОС). Устанавливать 1С на компьютер не нужно — всё работает в окне браузера.

Тонкий клиент. В окне запуска 1С нажмите «Добавить», выберите «Добавление в список существующей информационной базы», затем вариант «На веб-сервере». В поле адреса укажите тот же http://сервер/buh. После этого база появляется в списке как обычная и запускается тонким клиентом.

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

Какой способ выбрать под конкретную задачу:

КритерийВеб-клиент (браузер)Тонкий клиент по веб-серверу
Установка на компьютерене нужнанужен дистрибутив тонкого клиента
Доступ с чужого или мобильного устройствада, сразутолько где установлена 1С
Работа с локальными файлами и оборудованиемограниченаполная
Скорость интерфейса на слабом каналенижевыше
Внешние компоненты и сканерычастичнода

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

Диагностика типовых ошибок публикации

Большинство проблем с подключением опубликованной базы сводятся к нескольким причинам. Прежде чем искать сложное, проверьте простое: открывается ли вообще стартовая страница веб-сервера по http://сервер/, верно ли написан псевдоним в адресе и запускался ли Конфигуратор с правами администратора при публикации. Затем сопоставьте симптом с решением.

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

Если не помогло — посмотрите журнал самого веб-сервера (для IIS это журналы в C:\inetpub\logs, для Apache — error.log). Там видно, на каком этапе обрывается запрос: не нашёл модуль, отказал в правах или не смог подключиться к базе.

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

Оптимизация веб-доступа к базе

Когда подключение заработало, стоит настроить веб-сервер так, чтобы страницы грузились быстрее, а сервер держал нагрузку.

  • 📦 Включите сжатие (gzip) статического и динамического содержимого на веб-сервере — трафик веб-клиента заметно уменьшится, особенно на медленных каналах.
  • 🗂️ Разрешите кэширование статических ресурсов платформы (скрипты, стили, картинки интерфейса) — они почти не меняются между сеансами.
  • 🔁 Выделите публикации отдельный пул приложений в IIS. Тогда её можно перезапускать и настраивать изолированно, не задевая другие сайты на том же сервере.
  • 👥 Для десятка и более одновременных пользователей используйте серверный (клиент-серверный) вариант базы. Файловая база под веб-сервером при высокой параллельной нагрузке работает нестабильно.
  • ⏱️ Проверьте таймауты веб-сервера: короткий таймаут обрывает длинные операции (формирование тяжёлых отчётов, загрузку больших объёмов данных).

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

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

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

Нужна ли отдельная лицензия для веб-клиента?
Нет. Подключение через веб-клиент или тонкий клиент по веб-серверу расходует лицензию 1С так же, как обычный сеанс. Отдельной «лицензии для веба» не существует, но без свободной лицензии база не запустится.
Можно ли опубликовать несколько баз на одном веб-сервере?
Да. Для каждой базы создаёте свою публикацию с отдельным именем — получаются разные адреса http://сервер/base1, http://сервер/base2. Пулы приложений им лучше назначить разные.
Чем веб-клиент отличается от тонкого по возможностям?
Большинство операций одинаковы. Но в браузере ограничена работа с локальными файлами, внешними компонентами и оборудованием. Если нужны такие функции, подключайтесь тонким клиентом по тому же адресу.
Почему публикация перестала открываться после обновления платформы?
Служебные файлы ссылаются на модуль прежней версии, которой уже нет на диске. Нужно открыть форму публикации и опубликовать базу заново — путь к модулю обновится.
Можно ли опубликовать базу на Linux?
Да, через Apache 2.4 на Linux. Публикация выполняется тем же Конфигуратором или утилитой webinst; модуль расширения — из состава платформы для Linux.