Обновление 1С:Предприятие на веб-сервере — задача, требующая особой аккуратности. В отличие от локальных установок, здесь ошибка может привести к простою бизнес-процессов всей компании. Веб-серверы (Apache, Nginx, IIS) взаимодействуют с 1С через специальные модули (mod_1c, wsap24), и их некорректное обновление может нарушить работу published-приложений, REST-сервисов или даже всего кластера.
В этой статье мы разберём уникальный алгоритм обновления 1С на веб-сервере с учётом специфики работы с published-базами и внешними подключениями, который минимизирует риски сбоев. Вы узнаете, как подготовить инфраструктуру, какие настройки сохранять, а какие сбрасывать, а также как проверить работоспособность системы после апгрейда. Особое внимание уделено резервному копированию конфигураций веб-расширений — их потеря может сделать базу недоступной для внешних пользователей.
Материал ориентирован на администраторов 1С и системных инженеров, работающих с веб-клиентом, тонким клиентом через браузер или мобильными приложениями, интегрированными с 1С по HTTP(S). Если вы обновляете только платформу на рабочих станциях — эта инструкция избыточна. Если же у вас published-базы или веб-сервисы — читайте внимательно.
1. Подготовка к обновлению: что нужно сделать до начала
Первый шаг — аудит текущей инфраструктуры. Уточните:
- 🔹 Версию 1С:Предприятия (
8.3.x.x) на сервере и клиентах. Используйте команду
для Windows илиwmic product where "name like '1C%%'" get versionrpm -qa | grep 1c-enterpriseдля Linux. - 🔹 Тип веб-сервера (Apache 2.4, Nginx 1.2x, IIS 10+) и версию модуля
mod_1c/wsap24. - 🔹 Список published-баз (проверьте файл
default.vrdв папке конфигурации веб-сервера). - 🔹 Наличие обратных прокси (например, HAProxy или Cloudflare), которые могут кешировать старые данные.
Критическая ошибка многих администраторов — игнорирование совместимости версий. Например, 1С:Предприятие 8.3.22 требует mod_1c не ниже 2.2.3, а для работы с TLS 1.3 нужен Apache 2.4.37+. Проверьте требования в официальной таблице совместимости (ссылка ведёт на ресурс 1С, но актуальные данные уточняйте в личном кабинете партнёра).
Резервное копирование должно включать:
- 📁 Папку с конфигурацией веб-сервера (например,
/etc/apache2/sites-enabled/илиC:\inetpub\wwwroot\). - 📄 Файлы
default.vrd,webinst.xmlи*.confиз директории published-приложений. - 🗃️ Саму базу 1С (через
1CV8.exe DESIGNER /D"ИмяБазы" /DumpIB "путь\к\файлу.dt"). - 🔑 Сертификаты SSL (если используете
https).
Создайте тестовую виртуальную машину с копией продуктивного сервера. Это позволит протерестировать обновление без риска для основной системы.
2. Обновление платформы 1С на сервере
Процесс обновления платформы зависит от операционной системы. Рассмотрим оба варианта.
Для Windows Server
1. Скачайте дистрибутив 1С:Предприятия с портала 1С:ИТС (раздел "Программные продукты").
2. Запустите установщик с правами администратора. Выберите "Обновление существующей установки".
3. В разделе "Компоненты" обязательно отметьте:
- 🖥️ Сервер 1С:Предприятия (если используется кластер серверов).
- 🌐 Веб-сервер (для Apache/Nginx) или Расширение для IIS.
- 🔧 Инструменты администрирования (для
1cv8иrac).
4. После установки перезагрузите сервер.
Для Linux (Debian/Ubuntu, CentOS)
1. Обновите репозитории:
sudo apt update # Для Debian/Ubuntu
sudo yum update # Для CentOS/RHEL
2. Удалите старые пакеты (если требуется):
sudo apt remove 1c-enterprise83-common 1c-enterprise83-ws
3. Установите новые пакеты:
sudo apt install 1c-enterprise83=8.3.23.1234 1c-enterprise83-ws=2.2.4-1
4. Перезапустите службы:
sudo systemctl restart apache2 # или nginx, sr1cv83
☑️ Проверка после обновления платформы
3. Обновление веб-расширений (mod_1c, wsap24)
Веб-расширения — это "мост" между веб-сервером и 1С. Их обновление требует особой осторожности, так как несовместимость версий может привести к ошибкам 500 Internal Server Error или 403 Forbidden.
Для Apache:
- Скачайте актуальный
mod_1c.soс портала 1С (раздел "Технологическая платформа → Веб-серверы"). - Замените файл в директории модулей (например,
/usr/lib/apache2/modules/). - Обновите конфигурацию в
apache2.conf:
LoadModule one_c_module /usr/lib/apache2/modules/mod_1c.so
SetHandler one_c
...
Для Nginx:
- Скачайте
wsap24(для 1С:Предприятия 8.3.20+). - Распакуйте архив в
/opt/1cv8/wsap24/. - Обновите конфиг
nginx.conf:
location /1c {
fastcgi_pass 127.0.0.1:9000;
include /opt/1cv8/wsap24/conf/nginx.conf.inc;
...
}
Для IIS:
- Запустите установщик
1C_Enterprise_8.3.23_WS.exe. - Выберите "Обновить расширение для IIS".
- Перезапустите пул приложений в Диспетчере IIS.
Что делать если после обновления веб-расширений появляется ошибка 403?
Ошибка 403 после обновления mod_1c или wsap24 чаще всего связана с неверными правами на папки. Проверьте:
1. Права на директорию published-баз (должны быть 755 для Linux или Full Control для IIUSR в Windows).
2. Наличие файла .htaccess с корректными директивами (иногда старые правила конфликтуют с новой версией модуля).
3. Логи веб-сервера на предмет ошибок типа client denied by server configuration.
4. Обновление published-баз и веб-сервисов
Published-базы — это виртуальные директории, через которые пользователи получают доступ к 1С через браузер. Их конфигурация хранится в файле default.vrd (для Apache/Nginx) или в настройках IIS.
После обновления платформы или веб-расширений необходимо:
- Переопубликовать базы через Консоль администрирования 1С (
rac):
rac cluster --cluster=ИмяКластера list
rac infobase --infobase=ИмяБазы --publish=path=/1c_base,port=80
- Проверить права доступа к папке published-базы (например,
/var/www/1c_base/). - Обновить веб-сервисы (если используются) через
1CV8.exe DESIGNER /WSUpdate.
Типичная ошибка: после обновления 1С published-базы могут выдавать 404 Not Found, если путь в default.vrd указывает на старую версию платформы. В этом случае:
- 🔧 Откройте
default.vrdв текстовом редакторе. - 🔍 Найдите строку
<bin 1cv8="/opt/1cv8/8.3.20.1549/bin/">. - 📝 Замените путь на актуальный (например,
/opt/1cv8/8.3.23.1234/bin/).
5. Проверка работоспособности после обновления
Обновление завершено, но это не значит, что система готова к работе. Проведите полную диагностику:
| Компонент | Как проверить | Ожидаемый результат |
|---|---|---|
| Сервер 1С | systemctl status sr1cv83 (Linux) или Службы Windows |
Статус active (running) |
| Веб-сервер | apache2ctl -t или nginx -t |
Syntax OK |
| Published-базы | Открыть в браузере http://server/1c_base |
Открывается форма авторизации 1С |
| Веб-сервисы | Выполнить тестовый запрос через curl или Postman |
Ответ в формате XML/JSON без ошибок |
| Логи | tail -f /var/log/apache2/error.log или Журналы Windows |
Отсутствие ошибок segmentation fault или access denied |
Если обнаружены ошибки:
- 🛑 Ошибки 500/502: проверьте логи веб-сервера на наличие
Premature end of script headers(часто связано с несовместимостьюmod_1c). - 🔄 Бесконечная загрузка: очистите кеш браузера или проверьте настройки
proxy_timeoutв Nginx. - 🔒 Ошибки SSL: обновите сертификаты или проверьте протокол в
ssl_protocols(должен бытьTLSv1.2 TLSv1.3).
После обновления обязательно протестируйте все критические сценарии: авторизацию пользователей, работу отчётов, интеграцию с внешними системами (например, эквайринг или ЕГАИС).
6. Решение типичных проблем после обновления
Даже при правильном обновлении могут возникнуть неожиданные ошибки. Рассмотрим самые распространённые.
Ошибка: "Не удалось подключиться к информационной базе"
Причины:
- 🔌 Не запущен сервис 1С:Предприятия (
systemctl start sr1cv83). - 📂 Неверный путь к базе в
default.vrd. - 🔒 Блокировка фаерволом (проверьте порты
1540-1541,1560-1591).
Ошибка: "Неверная версия платформы"
Решение:
- Проверьте версию платформы в Конфигураторе (
Справка → О программе). - Обновите конфигурацию базы (если требуется) через
1CV8.exe DESIGNER /UpdateDBCfg. - Перезапустите кластер серверов 1С:
rac cluster --cluster=ИмяКластера restart
Ошибка: "403 Forbidden" при доступе к published-базе
Чаще всего связана с:
- 🔐 Неправильными правами на папку (для Apache:
chown -R www-data:www-data /var/www/1c_base/). - 📜 Ошибками в
.htaccess(удалите или пересоздайте файл). - 🛡️ Настройками SELinux (для CentOS:
setenforce 0для теста).
Если после обновления пропали стили в веб-клиенте (белый экран, отсутствует CSS), очистите кеш браузера или добавьте в конфиг веб-сервера директиву для отключения кеширования статических файлов: Header set Cache-Control "no-cache" (для Apache).
7. Оптимизация производительности после обновления
Новые версии 1С часто требуют перенастройки веб-сервера для оптимальной работы. Рекомендации:
- 🚀 Увеличьте лимиты памяти для
php-fpm(если используется):
pm.max_children = 50
pm.max_requests = 500
memory_limit = 512M
- ⚡ Включите кеширование для статических файлов в Nginx:
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
- 🔧 Оптимизируйте настройки кластера 1С:
rac cluster --cluster=ИмяКластера tune --work-processes=8 --cache-size=2048
Для published-баз с высокой нагрузкой рассмотрите:
- 🔄 Балансировку нагрузки через HAProxy или Nginx.
- 📦 Разделение статики и динамики: статические файлы (
.js,.css) отдавайте через CDN. - 🛡️ Защиту от DDoS: настройте ограничение запросов в секунду (
limit_req_zoneв Nginx).
8. Автоматизация обновлений (для опытных администраторов)
Ручное обновление утомительно, особенно если у вас несколько серверов. Автоматизируйте процесс с помощью скриптов.
Пример скрипта для Debian/Ubuntu (сохраните как update_1c.sh):
#!/bin/bash
Остановка сервисов
systemctl stop apache2
systemctl stop sr1cv83
Обновление платформы
wget https://releases.1c.ru/version/8.3.23.1234/1c-enterprise83_8.3.23-1234_amd64.deb
dpkg -i 1c-enterprise83_8.3.23-1234_amd64.deb
Обновление mod_1c
wget https://releases.1c.ru/version/8.3.23.1234/mod_1c_2.2.4_apache2.4_amd64.deb
dpkg -i mod_1c_2.2.4_apache2.4_amd64.deb
Перезапуск сервисов
systemctl start sr1cv83
systemctl start apache2
Проверка
apache2ctl -t && echo "Apache config OK" || echo "Apache config ERROR"
systemctl status sr1cv83
Для Windows можно использовать PowerShell:
# Остановка сервисов
Stop-Service -Name "Apache2.4", "1C:Enterprise 8.3 Server Agent" -Force
Установка новой версии
Start-Process -Wait -FilePath "1C_Enterprise_8.3.23.1234.exe" -ArgumentList "/S /v/qn"
Перезапуск сервисов
Start-Service -Name "1C:Enterprise 8.3 Server Agent", "Apache2.4"
Проверка
Get-Service -Name "Apache2.4", "1C:Enterprise 8.3 Server Agent" | Select Name, Status
Автоматизация ускоряет процесс, но всегда тестируйте скрипты на тестовом сервере перед применением в продакшене. Используйте cron (Linux) или Планировщик задач (Windows) для регулярных проверок обновлений.
Автоматические обновления следует применять только для некритичных систем. Для производственных серверов рекомендуется ручной контроль каждой стадии обновления.
FAQ: Частые вопросы по обновлению 1С на веб-сервере
Можно ли обновить только веб-расширение, не трогая платформу?
Технически да, но не рекомендуется. Веб-расширения (mod_1c, wsap24) тестируются с конкретными версиями платформы. Например, mod_1c 2.2.4 может некорректно работать с 1С:Предприятие 8.3.18, хотя физически установится. Проверяйте совместимость в официальной документации.
Как откатиться на предыдущую версию, если после обновления ничего не работает?
Порядок отката:
- Восстановите резервные копии
default.vrd, конфигов веб-сервера и базы 1С. - Удалите текущую версию платформы (
apt remove 1c-enterprise83или через Панель управления в Windows). - Установите старую версию (сохраните дистрибутивы заранее!).
- Перезапустите сервисы и проверьте доступность published-баз.
Если used внешние компоненты (например, для ЕГАИС или 54-ФЗ), их тоже придётся откатить.
Нужно ли обновлять конфигурацию базы после обновления платформы?
Зависит от версии:
- 🔄 При минорном обновлении (например,
8.3.22.1234 → 8.3.22.1500) конфигурацию обновлять не обязательно. - 🔧 При майорном обновлении (например,
8.3.21 → 8.3.23) требуется обновление конфигурации через Конфигуратор (Администрирование → Обновление конфигурации базы данных).
Игнорирование обновления конфигурации может привести к ошибкам типа "Несоответствие версии конфигурации и базы данных".
Как проверить, что веб-сервисы 1С работают после обновления?
Используйте:
- Тестовый HTTP-запрос через
curl:
curl -X POST http://server/1c_ws/ws/ServiceName.ws \
-H "Content-Type: text/xml" \
-d '@request.xml'
- Проверку в браузере: откройте
http://server/1c_ws/ws/ServiceName.ws?wsdl— должен отобразиться WSDL-описание. - Логи веб-сервера: ищите строки с
POST /1c_ws/и кодом ответа200.
Если сервис возвращает 500, проверьте:
- Права на папку
/var/www/1c_ws/(или аналог в Windows). - Наличие файла
webinst.xmlс корректными путями. - Логи 1С (
/var/log/1C/1cv8.log).
Можно ли обновлять 1С на веб-сервере без остановки работы пользователей?
Технически нет, но можно минимизировать простой:
- Используйте резервный сервер: разверните копию системы на другом хосте, обновите её, затем перенаправьте трафик через DNS или балансировщик.
- Обновляйте в нерабочее время (ночь/выходные).
- Применяйте "горячее" обновление для кластеров 1С:
rac cluster --cluster=ИмяКластера rolling-update --version=8.3.23.1234
Эта команда обновляет рабочие процессы кластера по одному, не останавливая сервер полностью.