К статье
Практический материал

Администрирование · 13 мин

Как обновить веб-сервер 1С: пошаговая инструкция

Пошаговая инструкция по обновлению веб-сервера 1С: переустановка модуля wsap, обновление публикации базы, проверка default.vrd, типичные ошибки и способы их устранения.

Обновление веб-сервера 1С — задача, которая возникает в двух типовых ситуациях: после обновления платформы 1С:Предприятие на сервере и после изменения публикации информационной базы. В первом случае модуль взаимодействия веб-сервера с платформой (wsap24.dll для IIS или mod_1cws для Apache) устаревает, и веб-клиент перестаёт запускаться. Во втором случае нужно просто перезаписать файл публикации default.vrd и перезапустить веб-сервер.

Ошибка обычно выглядит одинаково: при открытии адреса базы в браузере пользователь видит сообщение о несовпадении версий, ошибку HTTP 500 или белый экран. Причина почти всегда в том, что веб-сервер продолжает использовать библиотеку от старой версии платформы, а база уже обновлена на новую.

Ниже разобраны оба сценария для IIS и Apache на Windows и Linux, порядок проверки результата и типичные ошибки, которые приводят к повторным сбоям. Инструкция рассчитана на администратора с доступом к серверу и правами на перезапуск веб-служб.

Что именно обновляется на веб-сервере 1С

Веб-сервер сам по себе не хранит платформу 1С — он использует специальный модуль-адаптер, который связывает HTTP-запросы с сервером 1С или файловой базой. Для IIS это библиотека wsap24.dll, для Apache — модуль mod_1cws (wsap24.so на Linux). Именно версия этого модуля должна совпадать с версией платформы, на которой работает база.

Второй элемент публикации — файл default.vrd в каталоге виртуального приложения. В нём описаны параметры подключения: имя базы, строка соединения с сервером 1С, настройки веб-сервисов, HTTP-сервисов и расширений. Если менялись параметры базы или состав публикуемых сервисов, обновляется именно этот файл.

Важно понимать: обновление платформы на сервере 1С автоматически не обновляет публикации на веб-сервере. Это отдельное действие, которое администратор должен выполнить вручную для каждой опубликованной базы.

Подготовка: что проверить перед обновлением

Перед началом работ убедитесь, что у вас есть: административный доступ к серверу с веб-сервером, установленная новая версия платформы 1С (с компонентой «Модули расширения веб-сервера»), и информация о том, какие базы опубликованы — их имена и каталоги публикации.

Определите, какой веб-сервер используется. Для IIS откройте оснастку «Диспетчер служб IIS» и найдите виртуальные каталоги с именами ваших баз. Для Apache посмотрите файл httpd.conf — публикации подключаются директивами LoadModule и блоками с путями к default.vrd.

Ошибка несовпадения версий при открытии веб-клиентаМодуль wsap от старой платформы

Нужна повторная публикация базы утилитой webinst новой версии

HTTP 500 или пустая страницаМодуль не загружается или нет прав

Проверить разрядность пула IIS, права на каталог публикации и логи веб-сервера

База открывается, но не работают веб-сервисыУстарел default.vrd

Обновить файл публикации и перезапустить веб-сервер

Проверьте, что при установке новой платформы был отмечен компонент «Модули расширения веб-сервера». Без него каталог bin не будет содержать wsap24.dll и утилиту webinst, и публикацию выполнить не получится. Если компонент пропущен — запустите установщик платформы повторно в режиме изменения.

Обновление публикации через конфигуратор

Самый простой способ — публикация из конфигуратора. Откройте конфигуратор от имени администратора (это важно: без повышенных прав веб-сервер не примет изменения), перейдите в меню «Администрирование» → «Публикация на веб-сервере».

В открывшемся окне выберите веб-сервер (IIS или Apache), укажите имя публикации — оно должно совпадать с существующим, чтобы перезаписать старую публикацию, а не создать новую. Проверьте каталог публикации и отметьте нужные флажки: публиковать тонкий и веб-клиент, веб-сервисы, HTTP-сервисы.

Нажмите «Опубликовать» и дождитесь сообщения об успешном завершении. Конфигуратор запишет новый default.vrd и зарегистрирует модуль расширения текущей версии платформы. После этого перезапустите веб-сервер: для IIS выполните iisreset, для Apache — перезапуск службы.

Порядок обновления через конфигуратор
  1. 1
    Запустить конфигуратор от имени администратора
  2. 2
    Открыть «Администрирование» → «Публикация на веб-сервере»
  3. 3
    Указать то же имя публикации, что было раньше
  4. 4
    Проверить каталог и состав публикуемых сервисов
  5. 5
    Нажать «Опубликовать» и дождаться подтверждения
  6. 6
    Перезапустить IIS или Apache
  7. 7
    Открыть базу в браузере и проверить версию платформы веб-клиента

Обновление публикации утилитой webinst

Утилита webinst — это консольный инструмент из каталога bin установленной платформы. Она удобна, когда публикаций много, когда на сервере нет конфигуратора или когда обновление нужно автоматизировать скриптом. Утилита запускается из командной строки с правами администратора.

Для IIS на Windows команда публикации выглядит так: указывается тип веб-сервера, имя публикации, каталог, строка подключения к базе. Пример для серверной базы:

cmd
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\webinst.exe" -publish -iis -wsdir "mybase" -dir "C:\inetpub\wwwroot\mybase" -connstr "Srvr=srv1c;Ref=mybase;" -confpath "C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\wsap24.dll"

Для Apache команда отличается только первым параметром: вместо -iis указывается -apache22 или -apache24 в зависимости от версии веб-сервера, а также путь к конфигурационному файлу Apache. Утилита сама добавит нужные строки в httpd.conf и создаст каталог публикации с default.vrd.

Чтобы удалить устаревшую публикацию, используйте webinst с ключом -delete и теми же параметрами имени и веб-сервера. После любых операций webinst перезапускайте веб-сервер — без этого изменения не вступят в силу.

Особенности для IIS и Apache

IIS на Windows

Для IIS критичны два момента: разрядность пула приложений и права на каталог публикации. Если платформа 1С 64-разрядная, пул приложений должен работать в 64-битном режиме — параметр «Enable 32-Bit Applications» должен быть отключён. Несовпадение разрядности — одна из самых частых причин ошибки HTTP 500 после обновления.

Также проверьте, что в IIS разрешено выполнение расширений ISAPI: в разделе «Ограничения ISAPI и CGI» путь к wsap24.dll новой версии должен иметь статус «Разрешено». После обновления платформы старая запись может указывать на уже удалённый каталог старой версии — её нужно заменить.

Apache на Windows и Linux

Для Apache обновление сводится к замене модуля mod_1cws на версию из новой платформы и проверке строк LoadModule в httpd.conf. Если webinst прописал путь к модулю автоматически, после обновления платформы путь может указывать на старый каталог — исправьте его вручную или перезапустите публикацию.

На Linux дополнительно проверьте права: пользователь, от имени которого работает Apache (обычно www-data или apache), должен иметь чтение на каталог публикации и файл default.vrd. Также модуль wsap24.so должен соответствовать версии Apache — несовместимость приводит к отказу запуска веб-сервера, что видно в его журнале ошибок.

Сравнение способов обновления

Публикация из конфигуратора

Подходит для одной-двух баз и администратора без опыта командной строки. Ограничение: требует запуска конфигуратора на машине с веб-сервером и прав администратора.

Утилита webinst

Подходит для массового обновления нескольких публикаций и автоматизации скриптами. Ограничение: требует точного знания параметров командной строки и строки подключения.

Ручное редактирование default.vrd и httpd.conf

Подходит для точечных правок, когда версия платформы не менялась. Ограничение: не обновляет модуль расширения, поэтому при смене платформы недостаточно.

Проверка результата после обновления

После перезапуска веб-сервера откройте адрес базы в браузере в режиме инкогнито или с очисткой кэша — браузер мог закэшировать старые компоненты веб-клиента. База должна открыться с окном авторизации, а после входа — загрузить интерфейс без ошибок.

Проверьте версию платформы, которую использует веб-клиент: в тонком и веб-клиенте её можно посмотреть через «О программе». Она должна совпадать с версией, установленной на сервере. Если версия старая — модуль расширения не обновился, и публикацию нужно повторить.

Если публиковались веб-сервисы или HTTP-сервисы, проверьте их доступность отдельным запросом. Для веб-сервиса откройте его wsdl-описание в браузере: корректный XML означает, что сервис опубликован и работает.

Контрольные точки

Как проверить результат

Открытие базы в браузере
Норма

Появляется окно авторизации, интерфейс загружается без ошибок

Тревожный признак

Ошибка несовпадения версий, HTTP 500 или пустая страница

Версия платформы веб-клиента
Норма

Совпадает с версией, установленной на сервере

Тревожный признак

Указана старая версия — модуль не обновлён

Wsdl веб-сервиса в браузере
Норма

Открывается XML-описание сервиса

Тревожный признак

Ошибка 404 или 500 — сервис не опубликован

Журнал ошибок веб-сервера
Норма

Нет записей о сбое загрузки модуля wsap

Тревожный признак

Ошибки загрузки библиотеки или отказ в доступе

Типичные ошибки и их устранение

Наиболее частая проблема — публикация выполнена, но веб-сервер не перезапущен. IIS и Apache кэшируют загруженные модули, поэтому без перезапуска они продолжают использовать старую библиотеку. Всегда завершайте обновление командой iisreset или перезапуском службы Apache.

Вторая распространённая ошибка — обновление платформы выполнено без компоненты «Модули расширения веб-сервера». В этом случае webinst отсутствует, а публикация из конфигуратора завершается ошибкой. Решение — доустановить компонент через повторный запуск установщика платформы.

Третья группа проблем связана с правами: конфигуратор запущен без прав администратора, у пула IIS нет доступа к каталогу публикации, на Linux не выданы права пользователю веб-сервера. Диагностируйте такие случаи по журналам веб-сервера — там почти всегда есть явное указание на отказ в доступе.

Типичные ошибки
01
Забыли перезапустить веб-сервер после публикации — продолжает работать старый модуль, ошибка версии сохраняется
02
Создали новую публикацию с другим именем вместо обновления старой — старая публикация со старой версией продолжает конфликтовать
03
Не установили компоненту «Модули расширения веб-сервера» — webinst отсутствует, публикация невозможна
04
Пул IIS остался в 32-битном режиме при 64-битной платформе — ошибка HTTP 500 при каждом обращении
05
Проверяют результат в браузере с кэшем — видят старую ошибку, хотя публикация уже исправлена

Когда обновления публикации недостаточно

Если после корректной публикации и перезапуска ошибки сохраняются, проблема может быть глубже: повреждённая установка платформы, конфликт нескольких версий на одном сервере, блокировка антивирусом библиотеки wsap. В таких случаях полностью удалите публикацию (webinst -delete), перезапустите веб-сервер и создайте публикацию заново.

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

Маршрут решения

Как выбрать действие

Обновилась версия платформы на сервереВыполните повторную публикацию всех баз новой версией webinst или из конфигуратора и перезапустите веб-сервер
Платформа не менялась, изменились только настройки или состав сервисовОбновите только default.vrd через публикацию из конфигуратора и перезапустите веб-сервер
После публикации ошибка HTTP 500Проверьте разрядность пула IIS, права на каталог и журнал ошибок веб-сервера
Нужно обновить много публикаций сразуПодготовьте скрипт с вызовами webinst для каждой базы и выполните его от имени администратора

В сложных инфраструктурах с кластером серверов 1С и несколькими веб-серверами обновляйте публикации последовательно, проверяя работу каждого узла. Это позволит сохранить доступность системы и быстро локализовать проблемный узел.

Итог

Что важно запомнить

Обновление веб-сервера 1С — это всегда повторная публикация базы после смены платформы плюс перезапуск IIS или Apache. Используйте конфигуратор для разовых задач и webinst для массовых. Проверяйте разрядность пула, права на каталоги и версию платформы в веб-клиенте, а работы проводите вне пиковой нагрузки.

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

Нужно ли обновлять публикацию после каждого обновления платформы?

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

Можно ли обновить публикацию без остановки работы пользователей?

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

Где найти утилиту webinst?

Утилита находится в каталоге bin установленной платформы, например C:\Program Files\1cv8\<номер версии>\bin\webinst.exe на Windows. На Linux она располагается в каталоге установки платформы. Если файла нет — при установке платформы не была выбрана компонента «Модули расширения веб-сервера».

Что делать, если после обновления браузер показывает старую ошибку?

Сначала очистите кэш браузера или откройте базу в режиме инкогнито — веб-клиент активно кэширует ресурсы. Если ошибка сохраняется, проверьте, был ли перезапущен веб-сервер, и посмотрите его журнал ошибок: там видно, загрузился ли модуль новой версии.

Можно ли держать на одном веб-сервере публикации разных версий платформы?

Да, но каждая публикация должна использовать модуль расширения своей версии. Для IIS это означает отдельные пулы приложений с корректными настройками разрядности и разрешениями ISAPI для каждой версии wsap24.dll. Смешивать одну публикацию между версиями нельзя.

Почему публикация из конфигуратора завершается ошибкой доступа?

Конфигуратор запущен без прав администратора, либо у учётной записи нет прав на изменение конфигурации веб-сервера. Запустите конфигуратор через «Запуск от имени администратора». Если ошибка повторяется, проверьте права на каталог публикации и используйте webinst из командной строки с повышенными привилегиями.