Работа с 1С через браузер: от установки IIS до первого входа пользователя
Содержание
Чтобы сделать веб-клиент 1С, нужны три вещи: веб-сервер (IIS или Apache) с включёнными ISAPI-расширениями, компонента платформы «Модули расширения веб-сервера» и публикация базы через Конфигуратор → Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида http://сервер/имя_публикации/, без установки 1С на компьютер пользователя.
Типичная история: бухгалтер на удалёнке, ставить платформу на его ноутбук не хочется, а RDP нет. Веб-клиент решает задачу за час, если не споткнуться о права доступа и разрядность пула. Ниже порядок действий для Windows Server 2016 и новее и платформы 8.3.2x, с теми местами, где чаще всего всё ломается.
1. Что подготовить на сервере перед публикацией
Веб-клиент работает через посредника. Браузер обращается к веб-серверу, тот через модуль расширения 1С (wsisapi.dll для IIS) открывает информационную базу: файловую напрямую или клиент-серверную через кластер 1С.
Роли и компоненты IIS
В Windows Server откройте Диспетчер серверов → Управление → Добавить роли и компоненты и включите роль «Веб-сервер (IIS)». В её составе обязательно отметьте:
- 🔧 Разработка приложений → Расширения ISAPI — без него модуль 1С не загрузится;
- 🔧 Разработка приложений → Фильтры ISAPI;
- 🔧 Средства управления → Совместимость управления IIS 6 (с вложенной «Совместимостью конфигурации метабазы IIS 6») — её использует мастер публикации Конфигуратора;
- 🔧 Безопасность → Проверка подлинности Windows — если планируете вход по учётной записи домена.
На Windows 10/11 то же самое включается через Панель управления → Программы и компоненты → Включение или отключение компонентов Windows → Службы IIS.
Компонента платформы
Запустите установщик той же версии платформы, что используется для базы, и в списке компонентов отметьте «Модули расширения веб-сервера». Если платформа уже стоит — выберите в «Программах и компонентах» пункт изменения установки 1С и добавьте компоненту.
Разрядность модуля и пула приложений IIS должна совпадать. Пул IIS по умолчанию 64-битный. Поставили 32-битную платформу — придётся включать в пуле 32-битные приложения (об этом ниже). Проще сразу ставить 64-битную платформу на сервер.
На этот же компьютер нужен Конфигуратор: публикация делается из него. Отдельную клиентскую лицензию на сам веб-сервер покупать не надо, но о лицензиях пользователей — в разделе про ограничения.
2. Публикация базы на веб-сервере из Конфигуратора
Главное правило: Конфигуратор для публикации запускайте от имени администратора. Иначе мастер не сможет записать файлы в C:\inetpub\wwwroot и создать приложение в IIS, а ошибка не всегда говорит об этом прямо.
Пошагово
- Щёлкните правой кнопкой по ярлыку 1С → «Запуск от имени администратора».
- Откройте базу в режиме Конфигуратор.
- Выберите
Администрирование → Публикация на веб-сервере. - Заполните поле Имя латиницей без пробелов, например
buh. Это часть адреса:http://server/buh/. - В поле Веб-сервер выберите Internet Information Services (или Apache 2.4, если используете его).
- Каталог — папка публикации, по умолчанию
C:\inetpub\wwwroot\buh. - Оставьте отмеченным флажок публикации тонкого клиента и веб-клиента. Флажки OData, веб-сервисов и HTTP-сервисов включайте только если они нужны: каждая лишняя точка входа — лишняя поверхность для атаки.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
После публикации в папке появится файл default.vrd — описание точки подключения. В нём записана строка соединения с базой, а в web.config той же папки — путь к модулю wsisapi.dll нужной версии платформы.
Публикация из командной строки: webinst
Когда баз много или нужен скрипт, используйте утилиту webinst.exe из папки bin платформы. Пример для клиент-серверной базы:
cd "C:\Program Files\1cv8\8.3.24.1691\bin"
webinst -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Для файловой базы строка соединения выглядит как File="D:\Bases\Buh"; (в командной строке кавычки внутри экранируют удвоением). Удалить публикацию — тот же вызов с ключом -delete вместо -publish.
Номер версии в пути (8.3.24.1691) подставьте свой: папка называется по номеру установленной платформы.
Apache вместо IIS
С Apache 2.4 мастер публикации дописывает в httpd.conf строку загрузки модуля wsap24.dll и блок <Location /buh>. Разрядность Apache и платформы тоже должна совпадать. После публикации перезапустите службу Apache — без этого изменения конфигурации не подхватятся.
3. Права на папки и вход пользователей в веб-клиент
Большая часть ошибок «не открывается в браузере» — это права. Веб-сервер работает не от вашей учётной записи, а от учётной записи пула приложений.
Кому и какие права выдать
| Что | Кому | Права |
|---|---|---|
Папка файловой базы (где лежит 1Cv8.1CD) | группа IIS_IUSRS | Изменение |
Папка публикации C:\inetpub\wwwroot\buh | IIS_IUSRS, IUSR | Чтение и выполнение |
Папка bin платформы | IIS_IUSRS | Чтение и выполнение |
Для клиент-серверной базы права на файлы базы не нужны: данные лежат в СУБД, а веб-сервер обращается к кластеру 1С по сети. Зато между веб-сервером и сервером 1С должны быть открыты порты агента (1540), менеджера кластера (1541) и диапазон рабочих процессов, заданный в свойствах рабочего сервера.
Файловую базу лучше держать на том же компьютере, что и IIS. Сетевая папка требует, чтобы пул работал от доменной учётной записи с правами на шару, и это частый источник нестабильности.
Аутентификация
Варианты входа в веб-клиент те же, что и в обычном клиенте:
- 👤 Аутентификация 1С — логин и пароль пользователя базы. Работает из коробки. У пользователя в списке
Администрирование → Пользователи и права → Пользователидолжен быть разрешён вход в программу и назначен профиль с правами. - 🪪 Аутентификация операционной системы — вход без пароля по доменной учётной записи. В карточке пользователя 1С отмечается вход через ОС и указывается его учётная запись Windows. В IIS для приложения публикации включается проверка подлинности Windows, а анонимная — отключается.
Пользователь без пароля в базе — дыра, если публикация смотрит в интернет. Перед открытием наружу проверьте, что у всех пользователей заданы пароли.
Доступ из интернета
Пробрасывать порт 80 наружу — плохая идея: логины и пароли пойдут открытым текстом. Минимальный набор:
- Сертификат TLS и привязка HTTPS (порт 443) в
Диспетчер IIS → Сайт → Привязки. - Перенаправление с HTTP на HTTPS или полное закрытие порта 80.
- Публикуйте только нужные базы и только нужные сервисы.
Альтернатива — держать публикацию внутри сети и пускать удалённых сотрудников через VPN.
4. Чего веб-клиент 1С не умеет и чем он отличается от тонкого клиента
Веб-клиент — не урезанная, а иначе устроенная версия тонкого клиента: интерфейс тот же, но исполняется он в браузере. Отсюда ограничения.
- 🌐 Браузеры. Поддерживаются актуальные Chrome, Edge, Firefox, Safari и Яндекс Браузер. Разрешите для адреса публикации всплывающие окна, иначе часть форм не откроется.
- 📁 Файлы на компьютере пользователя. Загрузка и выгрузка файлов, работа с криптографией и сканером требуют установленного в браузере «Расширения для работы с 1С:Предприятием» и, для криптографии, компоненты расширения. Программа сама предложит их поставить при первой попытке.
- 🧩 Внешние компоненты и COM. Работают только компоненты, у которых есть версия для веб-клиента. COM-объекты на клиенте недоступны.
- 🖨️ Печать. Печатная форма открывается в браузере или выгружается в PDF, прямой печати на выбранный принтер как в тонком клиенте нет.
- 🔑 Лицензии. Веб-клиент расходует клиентскую лицензию так же, как тонкий клиент. Для клиент-серверной базы лицензию получает сервер 1С, для файловой — компьютер с веб-сервером.
Тонкий клиент тоже умеет подключаться к той же публикации по HTTP: в списке баз выбирается вариант «На веб-сервере» и указывается адрес http://server/buh. Это удобно, когда браузерные ограничения мешают, а прямого доступа к серверу 1С нет.
5. Как ускорить веб-клиент и выдержать больше пользователей
Веб-клиент обычно упирается не в IIS, а в базу. Несколько приёмов, которые реально помогают.
Файловая база: знать предел
Файловая база через веб-сервер обслуживает всех пользователей в одном процессе w3wp.exe. Для 3–5 человек это нормально. При 10–15 активных пользователях начинаются блокировки и замедления — пора переходить на клиент-серверный вариант с СУБД.
Настройки IIS
- ⚙️ Отдельный пул на каждую базу. Ошибка одной публикации не уронит остальные. Пул создаётся в
Диспетчер IIS → Пулы приложений, затем в основных настройках приложения публикации выбирается этот пул. - ⚙️ 32-битные приложения. Если стоит 32-битная платформа, в дополнительных параметрах пула установите «Разрешены 32-разрядные приложения» = True. Для 64-битной — False.
- ⚙️ Перезапуск пула по расписанию. По умолчанию IIS перезапускает пул каждые 1740 минут (29 часов), в произвольное время. Перезапуск обрывает сеансы веб-клиента. Задайте фиксированное время ночью в параметре «Определённое время» раздела «Перезапуск».
- ⚙️ Тайм-аут простоя. По умолчанию пул останавливается после 20 минут без запросов, и первый вход утром долгий. Для рабочей базы тайм-аут простоя можно поставить 0.
Любое изменение параметров пула перезапускает его. Все открытые сеансы веб-клиента оборвутся — меняйте настройки вне рабочего времени.
Масштабирование
Для крупной клиент-серверной базы ставят несколько веб-серверов с одной и той же публикацией и балансировщик перед ними. Веб-серверы почти не хранят состояние, основная нагрузка остаётся на кластере 1С и СУБД. Ещё один приём — вынести веб-сервер на отдельную машину рядом с сервером 1С, чтобы IIS не конкурировал с рабочими процессами за память.
После обновления платформы
Частая ловушка: поставили новую версию платформы, старую удалили — и веб-клиент перестал открываться. В web.config публикации остался путь к wsisapi.dll в папке старой версии. Переопубликуйте базу из Конфигуратора новой версии или запустите webinst из её папки bin. Версия модуля веб-сервера должна совпадать с версией платформы сервера 1С.
6. Ошибки при открытии веб-клиента: где смотреть и что делать
Начинайте с того, что видит браузер, затем смотрите журналы.
Где искать причину
- 📜 Журнал событий Windows (
eventvwr.msc→ «Журналы Windows → Приложение») — ошибки загрузки модуля и паденияw3wp.exe. - 📜 Журналы IIS — по умолчанию в
C:\inetpub\logs\LogFiles. Там видно код ответа и подкод, например500 0или404 3. - 📜 Технологический журнал 1С — включается файлом
logcfg.xmlв папкеconfплатформы. Нужен, когда ошибка возникает уже внутри базы. - 📜 Подробные ошибки IIS — откройте адрес публикации в браузере прямо на сервере: локально IIS показывает развёрнутую страницу ошибки с модулем и обработчиком.
Частые симптомы
Перед правкой прав и пулов проверьте простое: открывается ли база тем же пользователем в обычном тонком клиенте прямо на сервере. Если нет — проблема в базе или лицензии, а не в публикации.
Частые вопросы
Можно ли опубликовать на одном IIS несколько баз?
/buh, /zup, /ut) и получает свой адрес. Удобно назначить каждой отдельный пул приложений.