Модули расширения веб-сервера 1С: от установки компонента до работы базы в браузере
Содержание
Чтобы установить веб-расширение для 1С 8.3, запустите установщик платформы на компьютере с веб-сервером и отметьте компонент «Модули расширения веб-сервера». Затем опубликуйте базу: Конфигуратор, запущенный от имени администратора, меню Администрирование → Публикация на веб-сервере. После этого база открывается в браузере по адресу вида http://server/buh.
Работает это с Apache 2.4 и IIS, на Windows и Linux. Главные подводные камни: разрядность модуля должна совпадать с разрядностью веб-сервера, а учётной записи веб-сервера нужны права на каталог файловой базы. Оба легко проверить заранее, до запуска пользователей.
Что такое веб-расширение 1С 8.3 и когда оно нужно
Веб-расширение — это библиотека платформы, которую веб-сервер подгружает как модуль. Она принимает HTTP-запросы и передаёт их информационной базе. Сам веб-сервер 1С не содержит: Apache или IIS ставятся отдельно.
Расширение нужно, если вы хотите:
- 🌐 работать с базой через веб-клиент — в браузере, без установки платформы на рабочие места;
- 📡 подключать тонкий клиент по HTTP: удалённый офис заходит в базу через интернет ;
- 🔗 публиковать HTTP-сервисы, веб-сервисы и OData для обмена с сайтом, мобильным приложением, внешними системами;
- 📱 подключать мобильный клиент 1С.
Не путайте с расширением браузера для работы с 1С:Предприятием. Это отдельная надстройка для Chrome, Firefox и других браузеров. Веб-клиент сам предлагает её поставить, когда нужно работать с файлами или электронной подписью. Ставится она на компьютер пользователя, а не на сервер, и о ней — в вопросах в конце.
| Что нужно | Где ставится | Чем |
|---|---|---|
| Модули расширения веб-сервера | Сервер с Apache/IIS | Установщик платформы 1С |
| Публикация базы | Тот же сервер | Конфигуратор или утилита webinst |
| Расширение для работы с файлами | Компьютер пользователя | Браузер, по запросу веб-клиента |
Системные требования и совместимость модулей
Модуль веб-сервера идёт в дистрибутиве той же версии платформы, что и сервер 1С. Для клиент-серверной базы версия модулей должна совпадать с версией кластера до последней цифры. Связка «модуль 8.3.24, сервер 8.3.25» не заработает.
Какой файл за какой сервер отвечает:
| Веб-сервер | Файл модуля Windows | Файл модуля Linux |
|---|---|---|
| Apache 2.4 | wsap24.dll | wsap24.so |
| IIS | wsisapi.dll | — |
Модули для Apache 2.0 и 2.2 в новых релизах платформы уже не используют: берите Apache 2.4.
Разрядность — самая частая причина неудачи. Правило простое:
- 🧩 64-битный Apache 2.4 → нужна 64-битная платформа с модулем
wsap24.dll; - 🧩 32-битный Apache → 32-битная платформа;
- 🧩 IIS всегда 64-битный, но пул приложений умеет запускать 32-битные модули. Для 32-битной платформы в настройках пула включают параметр «Разрешить 32-разрядные приложения».
Под Windows ориентируйтесь на Windows Server 2016 и новее. Под Linux — на дистрибутивы, которые поддерживает ваша версия платформы: список есть в документации к релизу.
Отдельной лицензии на веб-сервер не требуется. Но каждый пользователь веб-клиента занимает клиентскую лицензию так же, как пользователь тонкого клиента .
Подготовка сервера к установке веб-расширения
Начните с самого веб-сервера. Без него компонент 1С поставится, но публиковать будет некуда.
Apache 2.4 под Windows
- Скачайте сборку Apache 2.4 нужной разрядности (обычно Win64) и распакуйте, например, в
C:\Apache24. - Установите службу из командной строки администратора:
cd C:\Apache24\bin
httpd.exe -k install
httpd.exe -k start
- Откройте
http://localhost— должна появиться стартовая страница «It works!». - Если порт 80 занят (часто IIS или Skype старых версий), поменяйте директиву
ListenвC:\Apache24\conf\httpd.conf.
Служба Apache по умолчанию работает от учётной записи «Локальная система». Для файловой базы на сетевом диске это не подойдёт: такой учётке недоступны общие папки. Запустите службу от доменного пользователя с правами на ресурс.
IIS
- Откройте
Диспетчер серверов → Добавить роли и компоненты. - Отметьте роль «Веб-сервер (IIS)».
- В компонентах роли раскройте «Разработка приложений» и включите Расширения ISAPI. Без них модуль
wsisapi.dllне загрузится. - Проверьте
http://localhost— должна открыться стартовая страница IIS.
Linux
Поставьте Apache штатным менеджером пакетов (apache2 в Debian/Ubuntu, httpd в RHEL-подобных). Каталог конфигурации и учётка процесса там другие: в Debian это /etc/apache2 и пользователь www-data.
Пошаговая установка веб-расширения 1С 8.3
Установка компонента на Windows
- Запустите
setup.exeиз дистрибутива платформы нужной разрядности. Если платформа уже стоит, выберите изменение установленной версии. - В списке компонентов отметьте «Модули расширения веб-сервера».
- Если на этом же компьютере работают пользователи, оставьте и «1С:Предприятие» — для запуска Конфигуратора. На чистом веб-сервере Конфигуратор не нужен: можно публиковать утилитой
webinst. - Завершите установку.
Модули появятся в каталоге bin версии платформы, например C:\Program Files\1cv8\8.3.24.1467\bin\wsap24.dll. Номер версии в пути у вас будет свой.
Установка на Linux
В пакете платформы для Linux модули ставятся вместе с пакетом сервера или отдельным пакетом ws — это видно по составу дистрибутива. После установки файл wsap24.so и утилита webinst лежат в /opt/1cv8/x86_64/<версия>/.
После обновления платформы старый модуль никуда не девается. Конфигурация Apache продолжает ссылаться на путь со старой версией. Удалите старую версию платформы — и Apache не запустится. Поэтому после каждого обновления сервера 1С переопубликуйте базу или поправьте путь в LoadModule.
Публикация базы на веб-сервере
Публикация связывает адрес на сайте с конкретной информационной базой. Технически это два изменения: строки в конфигурации веб-сервера и файл default.vrd в каталоге публикации.
Через Конфигуратор
- Запустите 1С от имени администратора (правый клик по ярлыку). Без этого публикация не сможет записать
httpd.confи упадёт с ошибкой доступа. - Откройте базу в Конфигураторе.
- Меню
Администрирование → Публикация на веб-сервере. - Заполните поля:
- Имя — латиницей, оно станет частью адреса:
buh→http://server/buh; - Веб-сервер — Apache 2.4 или IIS;
- Каталог — папка публикации, например
C:\Apache24\htdocs\buh. Для Apache укажите и путь кhttpd.conf, если окно его спрашивает.
- Имя — латиницей, оно станет частью адреса:
- Отметьте, что публиковать: доступ для клиентских приложений (тонкий и веб-клиент), HTTP-сервисы, веб-сервисы, OData. Лишнего не включайте.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
Перезапуск Apache или IIS обрывает текущие сеансы веб-клиента. На работающей системе публикуйте новые базы в обед или после рабочего дня.
Через утилиту webinst
Утилита лежит в том же каталоге bin, что и модули. Она удобна для серверов без интерфейса и для скриптов:
"C:\Program Files\1cv8\8.3.24.1467\bin\webinst.exe" -publish -apache24 ^
-wsdir buh ^
-dir "C:\Apache24\htdocs\buh" ^
-connstr "Srvr=srv1c;Ref=buh;" ^
-confpath "C:\Apache24\conf\httpd.conf"
Для файловой базы строка подключения выглядит так: -connstr "File=D:\Bases\Buh;". Для IIS вместо -apache24 указывают -iis, путь к httpd.conf не нужен. Снять публикацию — тот же вызов с ключом -delete.
Что появится в httpd.conf
После публикации в конце файла будут строки примерно такого вида:
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1467/bin/wsap24.dll"
# 1c publication
Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>
Строка LoadModule для модуля 1С должна быть в файле одна, даже если опубликовано десять баз. Две строки с разными версиями — частая причина того, что Apache не стартует.
Права на файловую базу
Для клиент-серверной базы данные хранит СУБД, и права на папки не нужны. Для файловой базы веб-сервер открывает 1Cv8.1CD сам, от своей учётной записи. Дайте ей полный доступ к каталогу базы:
- 👤 IIS — группе
IIS_IUSRSи пользователюIUSR(или учётке пула приложений); - 👤 Apache под Windows — пользователю, от которого запущена служба;
- 👤 Apache под Linux —
www-dataилиapache.
Права нужны на изменение, а не только на чтение: при работе база пишет журнал регистрации и временные файлы.
Проверка работы и типичные ошибки публикации
Проверка в три шага:
- Откройте в браузере
http://server/buh. Должно появиться окно входа или сразу рабочий стол базы. - Добавьте эту же базу в список тонкого клиента: «Добавить» → «На веб-сервере», адрес
http://server/buh. Подключение должно пройти так же. - Если публиковали HTTP-сервисы, вызовите один из них по адресу
http://server/buh/hs/<корневой URL сервиса>.
Если что-то не так, найдите свой симптом:
Подробности ошибок Apache пишет в C:\Apache24\logs\error.log, IIS — в журналы в C:\inetpub\logs. Смотрите туда в первую очередь: в браузере текст ошибки обычно урезан.
Как ускорить работу через веб-доступ
Веб-клиент передаёт больше данных, чем тонкий клиент, и сильнее зависит от канала. Что реально помогает:
- 🚀 Ставьте веб-сервер рядом с сервером 1С. Лучше в той же локальной сети или на той же машине. Задержка между ними умножается на каждый вызов сервера.
- 🚀 Предлагайте пользователям тонкий клиент по HTTP, а не браузер. Платформа на рабочем месте кеширует интерфейс, и формы открываются быстрее.
- 🚀 Включите сжатие на веб-сервере для текстовых ответов (в Apache — модуль
mod_deflate). На медленных каналах выигрыш заметен. - 🚀 Используйте актуальные браузеры: свежий Chrome, Edge, Firefox или Яндекс Браузер. Старые версии хуже работают с веб-клиентом.
- 🚀 Следите за ресурсами самого веб-сервера. При десятках пользователей Apache держит много одновременных соединений — проверьте лимиты потоков в настройках MPM.
Если тормозит одна база, а остальные работают быстро, дело обычно не в веб-сервере, а в конфигурации или СУБД. Сравните скорость той же операции в тонком клиенте при прямом подключении к серверу.
Безопасность веб-доступа к 1С
Опубликованная база доступна всем, кто знает адрес. Если сервер смотрит в интернет, минимальный набор такой:
- Только HTTPS. Подключите сертификат: в Apache через
mod_ssl, в IIS через привязку https. Логины и пароли по обычному HTTP идут открытым текстом. - У каждого пользователя базы — пароль. Пользователь без пароля в опубликованной базе — открытая дверь.
- Публикуйте только нужное. Не включайте OData и веб-сервисы, если ими никто не пользуется. Каждая лишняя точка — ещё один вход.
- Ограничьте доступ по IP или VPN, если работают только сотрудники офисов. В Apache это директива
Require ip, в IIS — ограничения IP-адресов. - Не выставляйте наружу сервер 1С. Порты кластера (1540, 1541 и диапазон рабочих процессов) в интернет не открывают — снаружи должен быть виден только веб-сервер.
- Обновляйте Apache или IIS вместе с операционной системой.
Частые вопросы
Нужно ли ставить платформу 1С на компьютеры пользователей для веб-клиента?
Как установить расширение браузера для работы с 1С?
Можно ли опубликовать файловую базу?
File=..., а учётке веб-сервера нужны права на изменение каталога базы. Для десятков пользователей лучше клиент-серверный вариант.Сколько баз можно опубликовать на одном веб-сервере?
Что делать с публикацией после обновления платформы?
LoadModule ссылался на новый путь. Старую версию удаляйте только после проверки.