Публикация базы 1С на веб-сервере и подключение клиентов
Содержание
Опубликовать базу 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. Запоминать путь вручную не нужно — Конфигуратор подставит его сам, но именно его отсутствие даёт большинство ошибок на старте.
Публикация базы из Конфигуратора
Запустите Конфигуратор от имени администратора — иначе он не сможет записать настройки в конфигурацию веб-сервера. Откройте меню Администрирование → Публикация на веб-сервере….
В окне публикации заполните:
- Имя — псевдоним (alias) виртуального каталога. Он войдёт в адрес: имя
buhдастhttp://сервер/buh. Пишите латиницей, без пробелов. - Веб-сервер — выберите из списка Apache или IIS. Если список пуст, платформа не нашла установленный веб-сервер.
- Каталог — физическая папка, куда лягут служебные файлы публикации. Заведите отдельную пустую папку, например
C:\inetpub\1c\buh. - Галочки состава публикации. Для обычного доступа оставьте «Публиковать тонкий клиент и веб-клиент». Остальные (
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://сервер/, верно ли написан псевдоним в адресе и запускался ли Конфигуратор с правами администратора при публикации. Затем сопоставьте симптом с решением.
web.config: заблокированы секции конфигурации или не включены расширения ISAPI. Включите компоненты ISAPI и повторите публикацию из Конфигуратора с правами администратора.IIS_IUSRS и IUSR) нет прав на папку файловой базы. Выдайте этой группе права на чтение и запись в каталог базы.Если не помогло — посмотрите журнал самого веб-сервера (для IIS это журналы в C:\inetpub\logs, для Apache — error.log). Там видно, на каком этапе обрывается запрос: не нашёл модуль, отказал в правах или не смог подключиться к базе.
Отдельный случай — базу перенесли в другую папку или переименовали на сервере. Строка подключения в default.vrd продолжает указывать на старый путь, и подключение рвётся. Лечится повторной публикацией: Конфигуратор подставит актуальный путь к базе, к которой подключён в этот момент.
Оптимизация веб-доступа к базе
Когда подключение заработало, стоит настроить веб-сервер так, чтобы страницы грузились быстрее, а сервер держал нагрузку.
- 📦 Включите сжатие (gzip) статического и динамического содержимого на веб-сервере — трафик веб-клиента заметно уменьшится, особенно на медленных каналах.
- 🗂️ Разрешите кэширование статических ресурсов платформы (скрипты, стили, картинки интерфейса) — они почти не меняются между сеансами.
- 🔁 Выделите публикации отдельный пул приложений в IIS. Тогда её можно перезапускать и настраивать изолированно, не задевая другие сайты на том же сервере.
- 👥 Для десятка и более одновременных пользователей используйте серверный (клиент-серверный) вариант базы. Файловая база под веб-сервером при высокой параллельной нагрузке работает нестабильно.
- ⏱️ Проверьте таймауты веб-сервера: короткий таймаут обрывает длинные операции (формирование тяжёлых отчётов, загрузку больших объёмов данных).
Отдельный пул приложений заодно упрощает диагностику: если «тормозит» или падает одна база, видно, что дело именно в её процессе, а не в соседних сайтах.
Отслеживать, кто и как подключён через публикацию, удобно в консоли администрирования серверов 1С (для серверного варианта): там видны активные сеансы, их длительность и расход лицензий. Если число сеансов упёрлось в лимит лицензий, новые пользователи получат отказ при входе — это не ошибка публикации, а нехватка свободных лицензий. Для файловой базы такого списка нет, что ещё один довод в пользу серверного варианта при росте числа пользователей.
Частые вопросы
Нужна ли отдельная лицензия для веб-клиента?
Можно ли опубликовать несколько баз на одном веб-сервере?
http://сервер/base1, http://сервер/base2. Пулы приложений им лучше назначить разные.Чем веб-клиент отличается от тонкого по возможностям?
Почему публикация перестала открываться после обновления платформы?
Можно ли опубликовать базу на Linux?
webinst; модуль расширения — из состава платформы для Linux.