Обновление модулей расширения веб-сервера для 1С:Предприятие 8.3 — критически важная процедура, которая обеспечивает стабильную работу веб-клиентов, REST-сервисов и внешних интеграций. Несвоевременное обновление может привести к уязвимостям безопасности, несовместимости с новыми версиями платформы или даже полной недоступности веб-приложений. Однако многие администраторы откладывают эту задачу, опасаясь сбоев в работе системы или потери данных.

В этой статье мы разберём пошаговый алгоритм обновления модулей для всех популярных веб-серверов (Apache, IIS, Nginx), включая подготовку системы, резервное копирование, установку новых версий и пост-апдейтное тестирование. Особое внимание уделим типичным ошибкам, которые возникают при обновлении, и способам их устранения без остановки бизнес-процессов.

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

📊 Какой веб-сервер вы используете для 1С?
Apache
IIS (Windows Server)
Nginx
Другой
Не знаю

1. Почему необходимо обновлять модули расширения веб-сервера 1С

Модули расширения (например, mod_1c.so для Apache или 1CWebExtension.dll для IIS) — это посредники между веб-сервером и платформой 1С:Предприятие. Их актуальность напрямую влияет на:

Безопасность: В старых версиях модулей могут содержаться уязвимости, эксплуатируемые злоумышленниками для атак типа DDoS, SQL-инъекций или несанкционированного доступа к данным. Например, в версии 8.3.20 была устранена критическая уязвимость, позволяющая обходить аутентификацию через веб-сервисы.

Совместимость: Новые релизы платформы часто требуют обновлённых модулей. Например, начиная с версии 8.3.21, веб-клиент не работает с модулями старше 3.0.10.12.

Производительность: Оптимизированные модули сокращают время обработки запросов на 15–30% (по данным тестов на конфигурациях с высокой нагрузкой).

Функциональность: Поддержка новых протоколов (например, HTTP/2), улучшенная работа с WebSocket для онлайн-отчётов или интеграция с облачными сервисами (1С:Fresh, 1С:EDT) доступны только в актуальных версиях.

⚠️ Внимание: Если ваш веб-сервер обслуживает внешние REST-сервисы для мобильных приложений или сайтов, устаревшие модули могут привести к отказу в обработке запросов с ошибкой 500 ("Internal Server Error") после обновления платформы 1С на сервере приложений. Это одна из самых частых причин обращений в поддержку.

2. Подготовка к обновлению: резервное копирование и проверка совместимости

Перед началом обновления обязательно выполните следующие шаги, чтобы избежать потери данных или простоя системы:

🔹 Создайте резервную копию текущих модулей и конфигурационных файлов веб-сервера:

  • 📁 Для Apache: скопируйте файл /usr/lib/apache2/modules/mod_1c.so (или аналогичный путь) и папку с конфигурацией /etc/apache2/sites-enabled/.
  • 🖥️ Для IIS: экспортируйте настройки через Диспетчер IIS → Управление → Резервное копирование конфигурации.
  • 🛡️ Для Nginx: сохраните файлы /etc/nginx/nginx.conf и /etc/nginx/conf.d/1c.conf.

🔹 Проверьте совместимость версий:

  • 📋 Сравните версию вашей платформы 1С:Предприятие (узнать можно в Администрирование → О программе) с требованиями к модулям в официальной документации.
  • 🔄 Убедитесь, что версия модуля поддерживает вашу ОС (например, модули для Apache 2.4 несовместимы с Apache 2.2).

🔹 Тестовое окружение: Если возможно, обновляйте сначала на тестовом сервере с копией продуктивной базы. Это поможет выявить конфликты с другими ПО (например, с fail2ban или ModSecurity).

Создать бэкап модулей и конфигов|Проверить совместимость версий 1С и ОС|Остановить веб-сервисы (если требуется)|Уведомить пользователей о возможном простое|Подготовить откатный план-->

⚠️ Внимание: Если вы используете кластер серверов 1С с балансировкой нагрузки, обновляйте модули на всех узлах одновременно, чтобы избежать рассинхронизации сессий пользователей.

3. Где скачать актуальные модули расширения для 1С

Официальные дистрибутивы модулей расширения доступны на портале 1С:ИТС или в составе дистрибутива платформы. Вот основные источники:

📥 Для пользователей с действующей подпиской ИТС:

  • 🔗 Скачайте архив с модулями в разделе Технологическая поддержка → Программные продукты → 1С:Предприятие 8.
  • 📂 В архиве будут папки для разных веб-серверов: Apache24, IIS, Nginx.

📥 Для партнёров 1С:

  • 🔑 Модули доступны в Партнёрском портале в разделе Загрузки → Платформа 1С:Предприятие.
  • 📌 Здесь также публикуются бета-версии модулей для тестирования новых функций.

📥 Альтернативные источники (если нет доступа к ИТС):

  • 💾 В составе дистрибутива платформы 1С:Предприятие 8.3 (папка \bin\webinst).
  • 🔧 Через 1С:EDT (если используется для разработки веб-приложений).

🔍 Как проверить подлинность файлов:

Сравните контрольные суммы (MD5 или SHA-1) скачанных файлов с теми, что указаны в документации . Для этого в Linux используйте команду:

sha1sum mod_1c.so

В Windows можно воспользоваться утилитой CertUtil:

CertUtil -hashfile 1CWebExtension.dll SHA1
Веб-сервер Имя модуля Типичный путь установки Минимальная версия 1С
Apache 2.4 mod_1c.so /usr/lib/apache2/modules/ 8.3.10
IIS 10 1CWebExtension.dll C:\Program Files\1C\WebExtension\ 8.3.8
Nginx ngx_http_1c_module.so /usr/lib/nginx/modules/ 8.3.15
Apache 2.2 mod_1c.so (устаревшая) /usr/lib/apache2/modules/ 8.2.19

4. Пошаговая инструкция по обновлению модулей

Процесс обновления отличается в зависимости от веб-сервера. Ниже — детальные инструкции для каждого случая.

4.1. Обновление для Apache (Linux)

🛠 Шаг 1: Остановите веб-сервер:

sudo systemctl stop apache2

🛠 Шаг 2: Замените старый модуль новым:

sudo cp /путь/к/новому/mod_1c.so /usr/lib/apache2/modules/

🛠 Шаг 3: Обновите конфигурацию Apache (если требуется). Например, для версии 8.3.22+ может понадобиться добавить:

<IfModule mod_1c.so>

1CModuleConfig "/etc/apache2/1c.conf"

</IfModule>

🛠 Шаг 4: Перезапустите Apache:

sudo systemctl start apache2

4.2. Обновление для IIS (Windows Server)

🛠 Шаг 1: Откройте Диспетчер IIS и остановите сайты, использующие .

🛠 Шаг 2: Замените файл 1CWebExtension.dll в папке C:\Program Files\1C\WebExtension\.

🛠 Шаг 3: Обновите обработчики в настройках сайта:

  1. Выберите сайт → Обработчики.
  2. Найдите обработчик 1CWebExtension и проверьте путь к новой dll.
  3. Примените изменения.

🛠 Шаг 4: Перезапустите IIS:

iisreset /restart

4.3. Обновление для Nginx

🛠 Шаг 1: Остановите Nginx:

sudo systemctl stop nginx

🛠 Шаг 2: Замените модуль в папке /usr/lib/nginx/modules/.

🛠 Шаг 3: Проверьте конфигурацию /etc/nginx/nginx.conf на наличие директив:

load_module modules/ngx_http_1c_module.so;

🛠 Шаг 4: Перезапустите Nginx:

sudo systemctl start nginx
💡

Если после обновления модуля для Nginx возникает ошибка unknown directive "1c_config", убедитесь, что модуль загружен ДО основного блока конфигурации в файле nginx.conf.

5. Типичные ошибки при обновлении и их решения

Даже при строгом следовании инструкции могут возникнуть проблемы. Рассмотрим самые распространённые из них и способы их устранения.

🚨 Ошибка 1: После обновления веб-клиент выдаёт 500 Internal Server Error.

  • 🔍 Причина: Несовместимость версии модуля с платформой или веб-сервером.
  • 🛠 Решение: Проверьте логи веб-сервера (/var/log/apache2/error.log для Apache) на наличие сообщений о несовместимости. Откатнитесь на предыдущую версию модуля или обновите платформу .

🚨 Ошибка 2: При запуске Apache появляется ошибка Cannot load modules/mod_1c.so.

  • 🔍 Причина: Отсутствуют зависимости (например, libstdc++).
  • 🛠 Решение: Установите недостающие библиотеки:
    sudo apt-get install libstdc++6

🚨 Ошибка 3: В IIS обработчик 1CWebExtension не отображается в списке.

  • 🔍 Причина: Неправильные права доступа к dll.
  • 🛠 Решение: Предоставьте права на чтение группе IIS_IUSRS:
    icacls "C:\Program Files\1C\WebExtension\1CWebExtension.dll" /grant IIS_IUSRS:(R)

🚨 Ошибка 4: После обновления Nginx не стартует с ошибкой module "ngx_http_1c_module.so" is not binary compatible.

  • 🔍 Причина: Модуль собран для другой версии Nginx.
  • 🛠 Решение: Скачайте модуль, соответствующий вашей версии Nginx (проверьте версию командой nginx -v).
Что делать, если после обновления пропали настройки аутентификации?

Если после обновления модуля пользователи не могут авторизоваться через веб-клиент, проверьте:

1. Настройки Auth1C в конфигурации веб-сервера (возможно, синтаксис изменился в новой версии).

2. Права на папку с базой данных (модуль может требовать дополнительные разрешения).

3. Наличие файла default.vrd в корневой директории сайта (иногда он сбрасывается при обновлении).

Если проблема сохраняется, временно отключите аутентификацию через веб-сервер и используйте стандартный вход для диагностики.

6. Тестирование после обновления

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

🔍 Что проверять:

  • 🌐 Доступность веб-клиента по адресу http://ваш_сервер/база.
  • 📊 Работу REST-сервисов (отправьте тестовый запрос через Postman или curl).
  • 🔒 Аутентификацию пользователей (попробуйте войти под разными ролями).
  • 📈 Производительность: сравните время открытия отчётов до и после обновления.

🛠 Инструменты для тестирования:

  • 📋 1С:Предприятие в режиме отладки (Отладка → Тестирование и исправление).
  • 🖥️ Fiddler или Wireshark для анализа HTTP-запросов.
  • 📊 Apache Benchmark (ab) для нагрузочного тестирования:
    ab -n 100 -c 10 http://ваш_сервер/база

📝 Протокол тестирования:

Заведите таблицу с результатами проверок (пример ниже). Это поможет быстро выявить регрессии.

Компонент Действие Ожидаемый результат Фактический результат Статус
Веб-клиент Открытие формы списка справочника Форма открывается за <2 сек Форма открывается за 1.8 сек ✅ OK
REST-сервис Запрос GET /hs/exchange/rates Код ответа 200, данные в JSON Код ответа 500 ❌ Ошибка
Аутентификация Вход под пользователем с ролью "Бухгалтер" Успешный вход, доступ к разделам Успешный вход ✅ OK
💡

Если после обновления обнаружены критические ошибки (например, падение веб-сервера или потеря данных), немедленно откатнитесь на резервную копию модулей и свяжитесь с поддержкой 1С. Не пытайтесь "исправлять" проблемы методом тыка — это может усугубить ситуацию.

7. Автоматизация обновлений (для опытных администраторов)

Если у вас несколько серверов или часто выходят обновления, имеет смысл автоматизировать процесс. Ниже — примеры скриптов для разных сценариев.

🤖 Скрипт для Apache (Bash):

Создайте файл /usr/local/bin/update_1c_apache.sh:

#!/bin/bash

Останавливаем Apache

systemctl stop apache2

Копируем новый модуль (предварительно скачанный в /tmp)

cp /tmp/mod_1c.so /usr/lib/apache2/modules/

Перезапускаем сервис

systemctl start apache2

Проверяем статус

systemctl status apache2 | grep "active (running)"

if [ $? -eq 0 ]; then

echo "Обновление успешно завершено" >> /var/log/1c_update.log

else

echo "ОШИБКА: Apache не запустился!" >> /var/log/1c_update.log

# Откат на предыдущую версию

cp /usr/lib/apache2/modules/mod_1c.so.backup /usr/lib/apache2/modules/mod_1c.so

systemctl start apache2

fi

🤖 Скрипт для IIS (PowerShell):

# Останавливаем сайты

Import-Module WebAdministration

Get-Website | Where-Object {$_.Name -like "1C"} | Stop-Website

Копируем новый модуль

Copy-Item -Path "C:\Temp\1CWebExtension.dll" -Destination "C:\Program Files\1C\WebExtension\" -Force

Перезапускаем IIS

iisreset

Проверяем статус

$status = (Get-Service W3SVC).Status

if ($status -eq "Running") {

Write-Output "Обновление успешно" | Out-File C:\logs\1c_update.log -Append

} else {

Write-Output "ОШИБКА: IIS не запущен!" | Out-File C:\logs\1c_update.log -Append

# Откат

Copy-Item -Path "C:\Program Files\1C\WebExtension\1CWebExtension.dll.backup" -Destination "C:\Program Files\1C\WebExtension\" -Force

iisreset

}

🔄 Настройка автоматического обновления через cron (Linux):

Добавьте задачу в crontab для ежемесячной проверки обновлений:

0 0 1   /usr/local/bin/check_1c_updates.sh

Где check_1c_updates.sh — скрипт, который скачивает последние версии модулей с портала ИТС и сравнивает их с текущими.

⚠️ Внимание: Автоматические обновления рекомендуется использовать только в тестовых средах или на серверах с минимальной критичностью. В производственной среде лучше применять полуавтоматический подход: скрипт скачивает обновления, но установка требует ручного подтверждения.

8. Часто задаваемые вопросы (FAQ)

Можно ли обновлять модули расширения без остановки веб-сервера?

Нет, это невозможно. Модули расширения загружаются в память веб-сервера при его старте, поэтому для их замены требуется перезапуск. Однако вы можете минимизировать простой, используя:

  • 🔄 Балансировку нагрузки: Обновляйте серверы по очереди, перенаправляя трафик на работающие узлы.
  • 📥 Горячее резервирование: Разверните дублирующий сервер, обновите его, а затем перенастройте DNS или балансировщик.
Как узнать текущую версию модуля расширения?

Способы зависят от веб-сервера:

  • 🐧 Apache/Linux: Выполните команду apache2 -M | grep 1c (для модуля) или ls -la /usr/lib/apache2/modules/mod_1c.so (для файла).
  • 🪟 IIS/Windows: Посмотрите свойства файла 1CWebExtension.dll (вкладка "Подробно").
  • 🐵 Nginx: Проверьте вывод команды nginx -V (должен содержать строку с ngx_http_1c_module).

Версия модуля обычно соответствует версии платформы , но может иметь собственную нумерацию (например, 3.0.10.12).

Что делать, если после обновления перестали работать отчёты в веб-клиенте?

Эта проблема часто связана с:

  1. 📄 Несовместимостью версии модуля с конфигурацией отчётов. Проверьте, поддерживает ли ваша версия модуля формат отчётов, используемый в базе (например, СКД или старые отчёты).
  2. 🔧 Настройками кэширования. Очистите кэш браузера и кэш (папка ~/.1cv8/ в Linux или %APPDATA%\1C\1cv8\ в Windows).
  3. 🔒 Правами доступа. Убедитесь, что у веб-сервера есть права на чтение файлов отчётов в базе данных.

Если проблема сохраняется, попробуйте:

  • Открыть отчёт в толстом клиенте — если он работает там, проблема в веб-модуле.
  • Временно отключить ModSecurity или другие модули безопасности веб-сервера.
Как обновить модули, если нет доступа к порталу ИТС?

Если у вас нет действующей подписки ИТС, есть несколько альтернатив:

  • 💿 Используйте дистрибутив платформы: Модули входят в состав установщика 1С:Предприятие 8.3 (папка \bin\webinst).
  • 🤝 Обратитесь к партнёру 1С: Если вы покупали лицензии через франчайзи, они могут предоставить модули.
  • 📧 Напишите в поддержку 1С: Иногда модули предоставляют по запросу даже без ИТС (например, для критичных уязвимостей).

⚠️ Предупреждение: Не скачивайте модули с неофициальных источников! Это может привести к:

  • 🛡️ Уязвимостям безопасности (модули могут быть модифицированы).
  • 🚫 Нарушению лицензионного соглашения с .
  • 🔧 Несовместимости с вашей версией платформы.
Нужно ли обновлять модули, если я использую облачную версию 1С (1С:Fresh)?

Нет, в 1С:Fresh обновление модулей расширения веб-сервера выполняется автоматически службой поддержки . Вам не требуется никаких действий.

Однако если вы используете гибридную схему (часть сервисов в облаке, часть на своём сервере), то модули на вашем веб-сервере обновлять нужно, чтобы обеспечить совместимость с облачными компонентами.