Модули расширения веб-сервера 1С: от установки компонента до работы базы в браузере

· 9 мин

Содержание

Чтобы установить веб-расширение для 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.4wsap24.dllwsap24.so
IISwsisapi.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

  1. Скачайте сборку Apache 2.4 нужной разрядности (обычно Win64) и распакуйте, например, в C:\Apache24.
  2. Установите службу из командной строки администратора:
cd C:\Apache24\bin
httpd.exe -k install
httpd.exe -k start
  1. Откройте http://localhost — должна появиться стартовая страница «It works!».
  2. Если порт 80 занят (часто IIS или Skype старых версий), поменяйте директиву Listen в C:\Apache24\conf\httpd.conf.

Служба Apache по умолчанию работает от учётной записи «Локальная система». Для файловой базы на сетевом диске это не подойдёт: такой учётке недоступны общие папки. Запустите службу от доменного пользователя с правами на ресурс.

IIS

  1. Откройте Диспетчер серверов → Добавить роли и компоненты.
  2. Отметьте роль «Веб-сервер (IIS)».
  3. В компонентах роли раскройте «Разработка приложений» и включите Расширения ISAPI. Без них модуль wsisapi.dll не загрузится.
  4. Проверьте http://localhost — должна открыться стартовая страница IIS.

Linux

Поставьте Apache штатным менеджером пакетов (apache2 в Debian/Ubuntu, httpd в RHEL-подобных). Каталог конфигурации и учётка процесса там другие: в Debian это /etc/apache2 и пользователь www-data.

Пошаговая установка веб-расширения 1С 8.3

Установка компонента на Windows

  1. Запустите setup.exe из дистрибутива платформы нужной разрядности. Если платформа уже стоит, выберите изменение установленной версии.
  2. В списке компонентов отметьте «Модули расширения веб-сервера».
  3. Если на этом же компьютере работают пользователи, оставьте и «1С:Предприятие» — для запуска Конфигуратора. На чистом веб-сервере Конфигуратор не нужен: можно публиковать утилитой webinst.
  4. Завершите установку.

Модули появятся в каталоге 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. Запустите 1С от имени администратора (правый клик по ярлыку). Без этого публикация не сможет записать httpd.conf и упадёт с ошибкой доступа.
  2. Откройте базу в Конфигураторе.
  3. Меню Администрирование → Публикация на веб-сервере.
  4. Заполните поля:
    • Имя — латиницей, оно станет частью адреса: buh → http://server/buh;
    • Веб-сервер — Apache 2.4 или IIS;
    • Каталог — папка публикации, например C:\Apache24\htdocs\buh. Для Apache укажите и путь к httpd.conf, если окно его спрашивает.
  5. Отметьте, что публиковать: доступ для клиентских приложений (тонкий и веб-клиент), HTTP-сервисы, веб-сервисы, OData. Лишнего не включайте.
  6. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

Перезапуск 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.

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

Проверка работы и типичные ошибки публикации

Проверка в три шага:

  1. Откройте в браузере http://server/buh. Должно появиться окно входа или сразу рабочий стол базы.
  2. Добавьте эту же базу в список тонкого клиента: «Добавить» → «На веб-сервере», адрес http://server/buh. Подключение должно пройти так же.
  3. Если публиковали 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С

Опубликованная база доступна всем, кто знает адрес. Если сервер смотрит в интернет, минимальный набор такой:

  1. Только HTTPS. Подключите сертификат: в Apache через mod_ssl, в IIS через привязку https. Логины и пароли по обычному HTTP идут открытым текстом.
  2. У каждого пользователя базы — пароль. Пользователь без пароля в опубликованной базе — открытая дверь.
  3. Публикуйте только нужное. Не включайте OData и веб-сервисы, если ими никто не пользуется. Каждая лишняя точка — ещё один вход.
  4. Ограничьте доступ по IP или VPN, если работают только сотрудники офисов. В Apache это директива Require ip, в IIS — ограничения IP-адресов.
  5. Не выставляйте наружу сервер 1С. Порты кластера (1540, 1541 и диапазон рабочих процессов) в интернет не открывают — снаружи должен быть виден только веб-сервер.
  6. Обновляйте Apache или IIS вместе с операционной системой.
Перед открытием доступа из интернета
Выполнено: 0 / 5

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

Нужно ли ставить платформу 1С на компьютеры пользователей для веб-клиента?
Нет. Веб-клиенту достаточно браузера. Платформа нужна только тем, кто подключается тонким клиентом.
Как установить расширение браузера для работы с 1С?
Веб-клиент сам предложит его, когда понадобится работа с файлами или электронной подписью. Согласитесь, браузер откроет страницу расширения в своём магазине, после установки перезагрузите страницу базы.
Можно ли опубликовать файловую базу?
Можно. Строка подключения будет File=..., а учётке веб-сервера нужны права на изменение каталога базы. Для десятков пользователей лучше клиент-серверный вариант.
Сколько баз можно опубликовать на одном веб-сервере?
Ограничения платформы нет. Каждая база получает своё имя публикации и свой каталог, модуль 1С загружается один раз.
Что делать с публикацией после обновления платформы?
Установите модули новой версии и переопубликуйте базы, чтобы LoadModule ссылался на новый путь. Старую версию удаляйте только после проверки.