Полезное

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

Вадим Заплетин 4 мин чтения
Модули расширения веб-сервера 1С: установка и решение ошибок

Модули расширения веб-сервера 1С — компоненты, которые связывают платформу 1С:Предприятие с внешним веб-сервером (Apache или IIS). Они обрабатывают HTTP-запросы клиентов и передают их в процессы 1С через протокол ragent. Без этих модулей тонкий клиент, веб-клиент и мобильные приложения 1С не работают.

Ошибка «Не установлены модули расширения веб сервера» появляется при попытке опубликовать информационную базу на веб-сервере. Она означает, что платформа 1С не может найти или подключить нужные библиотеки — wsap24.dll для IIS или mod_wsap24.so для Apache.

Эта инструкция объясняет, как правильно установить модули расширения, настроить конфигурацию веб-сервера и устранить типовые ошибки подключения.

Как работают модули расширения 1С

Архитектура публикации 1С через веб-сервер состоит из четырёх компонентов:

  • Веб-сервер (Apache или IIS) — принимает HTTP-запросы от браузеров и мобильных приложений
  • Модуль расширения (wsap24.dll или mod_wsap24.so) — обрабатывает запросы к виртуальным директориям 1С
  • Агент сервера ragent — диспетчер, который распределяет запросы между рабочими процессами
  • Рабочие процессы rphost — выполняют код 1С:Предприятие

Модуль расширения загружается в адресное пространство веб-сервера при старте. Когда приходит запрос к виртуальной директории (например, http://server/accounting), модуль перехватывает его, сериализует в бинарный протокол и передаёт через TCP-порт 1540 агенту сервера. Агент выбирает свободный процесс rphost, отправляет ему запрос, получает ответ и возвращает его модулю. Модуль формирует HTTP-ответ и отдаёт его браузеру.

Для корректной работы необходимо:

  1. Установить модули расширения той же версии, что и платформа 1С
  2. Зарегистрировать модуль в конфигурации веб-сервера
  3. Настроить виртуальные директории для публикации баз
  4. Запустить агент сервера ragent

Требования к серверному оборудованию

Производительность веб-публикации 1С зависит от количества одновременных пользователей и сложности обработок. Базовые требования:

Количество пользователей Процессор Оперативная память Диски
До 10 4 ядра, 2.5 ГГц 16 ГБ SSD 120 ГБ
10-50 8 ядер, 3.0 ГГц 32 ГБ SSD 240 ГБ
50-200 16 ядер, 3.2 ГГц 64 ГБ NVMe 480 ГБ
200+ 32+ ядра, 3.5 ГГц 128+ ГБ NVMe RAID 10

Для высоконагруженных конфигураций выбирайте серверные процессоры с высокой тактовой частотой — 1С плохо масштабируется по ядрам из-за монопоточной природы бизнес-логики. Объём оперативной памяти рассчитывайте исходя из 1-2 ГБ на одновременного пользователя плюс 8 ГБ под операционную систему и веб-сервер.

Для баз данных SQL Server или PostgreSQL используйте отдельный сервер с быстрыми SSD-накопителями — производительность дисковой подсистемы критична для OLTP-нагрузок 1С.

Установка модулей расширения для IIS

IIS (Internet Information Services) — штатный веб-сервер Windows Server. Модуль расширения для IIS называется wsap24.dll, где 24 — версия протокола.

Пошаговая установка

Шаг 1. Проверьте версию платформы 1С

Откройте Конфигуратор 1С и посмотрите версию в меню «Справка → О программе». Модули расширения должны точно совпадать по версии с платформой — 8.3.24, 8.3.23 и так далее.

Шаг 2. Установите роль IIS

Если IIS ещё не установлен, добавьте роль через Server Manager:

  1. Откройте «Диспетчер серверов → Управление → Добавить роли и компоненты»
  2. Выберите «Веб-сервер (IIS)»
  3. В компонентах роли отметьте: «Общие функции HTTP → Документ по умолчанию, Обзор каталога, Статическое содержимое» и «Разработка приложений → ISAPI-расширения, ISAPI-фильтры»
  4. Завершите установку и перезагрузите сервер

Шаг 3. Запустите установщик модулей расширения

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

  1. Смонтируйте ISO-образ платформы или распакуйте установочный архив
  2. Найдите файл 1CEnterprise 8\8.3.x.xxxx\ws (x.xxxx — номер релиза)
  3. Запустите wssetup.exe от имени администратора
  4. Выберите «Установить модули расширения веб-сервера»
  5. Укажите путь установки (по умолчанию C:\Program Files\1cv8\8.3.x.xxxx\ws)
  6. Отметьте «IIS» в списке поддерживаемых веб-серверов
  7. Завершите установку

Шаг 4. Проверьте регистрацию модуля

Откройте диспетчер IIS (inetmgr) и проверьте:

  • В разделе «ISAPI и фильтры CGI» должна быть разрешена библиотека wsisapi.dll
  • В корне сервера в разделе «Сопоставления обработчиков» должна быть зарегистрирована запись *.ws с путём к wsisapi.dll

Если записей нет, выполните регистрацию вручную через командную строку:

cd "C:\Program Files\1cv8\8.3.x.xxxx\ws\wsisapi.dll"
regsvr32 wsisapi.dll

Шаг 5. Создайте виртуальную директорию для базы

В диспетчере IIS щёлкните правой кнопкой на Default Web Site и выберите «Добавить виртуальный каталог»:

  • Псевдоним: имя базы латиницей (например, accounting)
  • Физический путь: C:\inetpub\wwwroot\accounting (создайте пустую папку)

Откройте свойства виртуального каталога и в разделе «Сопоставления обработчиков» добавьте сопоставление:

  • Путь запроса: *
  • Модуль: IsapiModule
  • Исполняемый файл: C:\Program Files\1cv8\8.3.x.xxxx\ws\wsisapi.dll
  • Имя: 1C Web Service Extension

Шаг 6. Опубликуйте базу через Конфигуратор

  1. Откройте Конфигуратор, выберите базу и зайдите в «Администрирование → Публикация информационной базы»
  2. Укажите имя публикации (то же, что псевдоним в IIS)
  3. Выберите «Опубликовать на этом компьютере» или укажите удалённый сервер
  4. Задайте каталог веб-сервера (физический путь виртуальной директории)
  5. Нажмите «Опубликовать»

После публикации проверьте доступность базы через браузер: http://server/accounting.

Установка модулей расширения для Apache

Apache HTTP Server широко используется на серверах Linux. Модуль расширения для Apache называется mod_wsap24.so.

Установка на Ubuntu/Debian

  1. Установите Apache и необходимые пакеты:
    sudo apt update
    sudo apt install apache2 apache2-dev
  2. Распакуйте дистрибутив платформы 1С:
    tar -xzf 1ce-server-8.3.x.xxxx-linux.tar.gz
    cd 1ce-server-8.3.x.xxxx-linux
  3. Установите пакет модулей расширения:
    sudo dpkg -i 1c-enterprise-8.3.x-ws.deb
    sudo apt-get install -f
  4. Скопируйте конфигурацию Apache:
    sudo cp /opt/1cv8/conf/1c_apache.conf /etc/apache2/conf-available/
    sudo a2enconf 1c_apache
    sudo systemctl reload apache2
  5. Проверьте загрузку модуля:
    apache2ctl -M | grep wsap
    Должна появиться строка wsap24_module (shared)

Установка на CentOS/RHEL

  1. Установите Apache:
    sudo yum install httpd httpd-devel
  2. Распакуйте и установите пакет 1С:
    tar -xzf 1ce-server-8.3.x.xxxx-linux.tar.gz
    cd 1ce-server-8.3.x.xxxx-linux
    sudo yum install 1c-enterprise-8.3.x-ws*.rpm
  3. Скопируйте конфигурацию:
    sudo cp /opt/1cv8/conf/1c_apache.conf /etc/httpd/conf.d/
    sudo systemctl reload httpd

После установки создайте виртуальную директорию в конфигурации Apache. Откройте /etc/apache2/sites-available/1c.conf (Ubuntu) или /etc/httpd/conf.d/1c.conf (CentOS) и добавьте:

<VirtualHost *:80>
    ServerName server.company.local

    Alias /accounting /var/www/1c/accounting
    <Directory /var/www/1c/accounting>
        Require all granted
    </Directory>
</VirtualHost>

Создайте директорию и настройте права:

sudo mkdir -p /var/www/1c/accounting
sudo chown www-data:www-data /var/www/1c/accounting
sudo systemctl reload apache2

Опубликуйте базу через Конфигуратор, указав путь /var/www/1c/accounting в параметрах публикации.

Типовые ошибки и способы устранения

Ошибка «Не установлены модули расширения веб сервера»

Причина: Конфигуратор не находит файлы wsisapi.dll (IIS) или mod_wsap24.so (Apache) в каталоге установки платформы.

Решение:

  • Проверьте, что модули расширения установлены: C:\Program Files\1cv8\8.3.x.xxxx\ws\wsisapi.dll (Windows) или /opt/1cv8/x86_64/8.3.x.xxxx/ws/mod_wsap24.so (Linux)
  • Версия модулей должна совпадать с версией платформы — переустановите модули из актуального дистрибутива
  • Запустите установщик wssetup.exe от имени администратора и выберите «Восстановить»
  • На Linux проверьте, что пакет 1c-enterprise-8.3-ws установлен: dpkg -l | grep 1c-enterprise

Ошибка «Модуль расширения не зарегистрирован»

Причина: Веб-сервер не загружает модуль расширения при старте.

Решение для IIS:

  1. Откройте диспетчер IIS и перейдите в «ISAPI и фильтры CGI»
  2. Найдите запись wsisapi.dll — если её нет, добавьте вручную: путь C:\Program Files\1cv8\8.3.x.xxxx\ws\wsisapi.dll, описание «1C Web Service Extension», разрешить выполнение
  3. Перезапустите IIS: iisreset

Решение для Apache:

  1. Проверьте наличие директивы LoadModule в конфигурации:
    grep -r "LoadModule wsap24_module" /etc/apache2/
    grep -r "LoadModule wsap24_module" /etc/httpd/
  2. Если директивы нет, добавьте в /etc/apache2/mods-available/wsap24.load:
    LoadModule wsap24_module /opt/1cv8/x86_64/8.3.x.xxxx/ws/mod_wsap24.so
  3. Включите модуль: sudo a2enmod wsap24
  4. Перезапустите Apache: sudo systemctl restart apache2

Ошибка «Информационная база недоступна»

Причина: Агент сервера ragent не запущен или не может связаться с рабочими процессами.

Решение:

  • Проверьте, что служба «1C:Enterprise Server Agent» запущена (Windows) или демон srv1cv8 активен (Linux): sudo systemctl status srv1cv8
  • Проверьте доступность порта 1540: telnet localhost 1540 — если порт не отвечает, перезапустите агент
  • Изучите журнал агента: C:\ProgramData\1C\1cv8\logs (Windows) или /var/log/1C (Linux) — ищите ошибки авторизации, прав доступа, переполнения пула процессов
  • Увеличьте количество рабочих процессов в параметрах кластера: откройте Консоль кластера серверов, выберите кластер → «Настройка производительности» → увеличьте «Максимальное количество рабочих процессов»

Ошибка HTTP 500.0 Internal Server Error

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

Решение:

  • Проверьте журнал событий Windows (раздел Application) — ошибки IIS содержат код исключения и адрес модуля
  • Убедитесь, что пул приложений работает в режиме 64-bit: откройте диспетчер IIS → «Пулы приложений» → DefaultAppPool → «Дополнительные параметры» → установите «Разрешить 32-разрядные приложения» в False
  • Проверьте права доступа: учётная запись пула приложений (по умолчанию IIS_IUSRS) должна иметь права чтения на директорию C:\Program Files\1cv8 и права записи на каталог публикации базы
  • Переустановите модули расширения — скачайте актуальный дистрибутив с портала 1С и выполните чистую установку

Ошибка «Не удаётся подключиться к кластеру серверов»

Причина: Модуль расширения не может установить TCP-соединение с агентом сервера на порту 1540.

Решение:

  • Проверьте настройки брандмауэра — разрешите входящие соединения на порты 1540-1541 (агент), 1560-1591 (рабочие процессы)
  • На Linux проверьте SELinux: sudo setenforce 0 — если после этого заработало, добавьте политику разрешения:
    sudo setsebool -P httpd_can_network_connect 1
  • Если кластер на удалённом сервере, проверьте сетевую доступность: telnet cluster-server 1540
  • Проверьте параметры публикации в Конфигураторе: «Администрирование → Публикация информационной базы → Сервер 1С:Предприятие» должен содержать правильное имя или IP-адрес кластера

Настройка производительности

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

Параметры пула рабочих процессов

Откройте Консоль кластера серверов, выберите рабочий сервер и настройте:

  • Использование памяти: 50-70% от объёма ОЗУ сервера
  • Максимальное количество рабочих процессов: количество ядер процессора × 2
  • Память на один рабочий процесс: 500-1000 МБ (зависит от сложности конфигурации)
  • Время жизни рабочего процесса: 3600 секунд (перезапуск процесса для освобождения памяти)

Настройки веб-сервера

Для IIS:

  • Увеличьте лимит очереди запросов: applicationHost.config<applicationPools>queueLength="2000"
  • Отключите переработку пула по расписанию: «Пулы приложений → Recycling → Disable all recycling options»
  • Установите таймаут простоя в 0 (Idle Time-out): пул не будет останавливаться при отсутствии запросов

Для Apache:

  • Используйте модуль mpm_worker или mpm_event вместо prefork:
    sudo a2dismod mpm_prefork
    sudo a2enmod mpm_event
  • Увеличьте лимиты соединений в /etc/apache2/mods-available/mpm_event.conf:
    StartServers 5
    MinSpareThreads 75
    MaxSpareThreads 250
    ThreadLimit 64
    ThreadsPerChild 64
    MaxRequestWorkers 400
    MaxConnectionsPerChild 10000
    
  • Включите сжатие для снижения трафика:
    sudo a2enmod deflate
    sudo systemctl restart apache2

Кэширование статического контента

Веб-клиент 1С загружает большое количество статики (JavaScript, CSS, изображения). Настройте кэширование в веб-сервере:

IIS: установите модуль «Кэширование HTTP» и в настройках сайта включите кэширование для типов файлов .js, .css, .png, .jpg — срок хранения 7 дней.

Apache: включите модуль mod_expires и добавьте в конфигурацию виртуального хоста:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 7 days"
    ExpiresByType text/javascript "access plus 7 days"
    ExpiresByType image/png "access plus 30 days"
    ExpiresByType image/jpeg "access plus 30 days"
</IfModule>

Контроль работы модулей расширения

Для мониторинга используйте встроенные инструменты 1С и журналы веб-сервера.

Журнал технологического журнала 1С

Включите технологический журнал для диагностики проблем с модулями расширения:

  1. Создайте файл logcfg.xml в каталоге C:\ProgramData\1C\1cv8\conf (Windows) или /var/log/1C (Linux)
  2. Добавьте конфигурацию:
    <config xmlns="http://v8.1c.ru/v8/tech-log">
        <log location="C:\ProgramData\1C\1cv8\logs" history="24">
            <event>EXCP</event>
            <event>CONN</event>
            <event>CALL</event>
            <property name="all"/>
        </log>
    </config>
    
  3. Перезапустите агент сервера

События CALL содержат информацию о запросах через модули расширения — метод HTTP, URI, время выполнения, размер ответа. События EXCP фиксируют исключения.

Счётчики производительности Windows

Добавьте в системный монитор счётчики:

  • Процесс → % загруженности процессора → rphost — загрузка рабочих процессов 1С
  • Процесс → Байтов исполняемого кода → w3wp — потребление памяти пулом IIS
  • Веб-служба → Текущие подключения — количество активных HTTP-соединений

Если загрузка процессора rphost превышает 80%, увеличьте количество рабочих процессов или оптимизируйте код конфигурации. Если w3wp потребляет более 4 ГБ памяти, проверьте утечки памяти в модуле расширения — обновите платформу до актуального релиза.

Совместимость версий

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

Версия платформы Модуль IIS Модуль Apache Поддерживаемые ОС
8.3.24 wsisapi.dll (протокол 24) mod_wsap24.so Windows Server 2016-2022, Ubuntu 20.04-22.04, RHEL 7-9
8.3.23 wsisapi.dll (протокол 24) mod_wsap24.so Windows Server 2012 R2-2022, Ubuntu 18.04-22.04, RHEL 7-9
8.3.22 wsisapi.dll (протокол 24) mod_wsap24.so Windows Server 2012 R2-2019, Ubuntu 18.04-20.04, RHEL 7-8
8.3.21 wsisapi.dll (протокол 24) mod_wsap24.so Windows Server 2012-2019, Ubuntu 18.04-20.04, RHEL 7-8
8.3.20 и старше wsisapi.dll (протокол 23) mod_wsap23.so Windows Server 2008 R2-2019, Ubuntu 16.04-20.04, RHEL 6-8

При обновлении платформы переустановите модули расширения из нового дистрибутива. Смешивание версий (например, платформа 8.3.24 + модули 8.3.23) приводит к ошибкам «Несовместимая версия протокола» и сбоям при обработке запросов.

Для веб-серверов поддержка следующая:

  • IIS: версии 7.5 (Windows Server 2008 R2) — 10.0 (Windows Server 2022)
  • Apache: версии 2.4.x (2.2.x не поддерживается с платформы 8.3.20)

Вопросы и ответы

Можно ли использовать модули расширения 1С с nginx?

Официальная поддержка nginx отсутствует — 1С разрабатывает модули только для IIS и Apache. Для работы через nginx настройте его как обратный прокси (reverse proxy) перед Apache или IIS. Nginx будет терминировать SSL, балансировать нагрузку и отдавать статику, а динамические запросы к 1С пробрасывать на внутренний Apache с модулем расширения. Такая схема используется в высоконагруженных системах.

Необходимо установить модули расширения web сервера 1с предприятие — что делать, если установщик выдаёт ошибку?

Проверьте права доступа — установщик требует административных привилегий. Запустите wssetup.exe от имени администратора (правая кнопка → «Запуск от имени администратора»). Если ошибка сохраняется, проверьте целостность дистрибутива — скачайте ISO-образ заново с портала releases.1c.ru. Антивирус может блокировать установку — временно отключите защиту. На Linux проверьте зависимости пакета: dpkg -i 1c-enterprise-8.3-ws.deb покажет отсутствующие библиотеки, установите их через apt-get install -f.

Как проверить, что модули расширения веб сервера 1с установлены и работают?

Для IIS откройте диспетчер IIS, перейдите в «ISAPI и фильтры CGI» — должна быть запись wsisapi.dll со статусом «Разрешено». Для Apache выполните apache2ctl -M | grep wsap (Ubuntu) или httpd -M | grep wsap (CentOS) — должен вывестись модуль wsap24_module. Финальная проверка — откройте браузер и перейдите на адрес опубликованной базы, например http://server/accounting. Если открывается форма авторизации 1С, модули работают корректно. Если появляется ошибка 404 или 500, изучите журналы веб-сервера.