Администрирование · 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.
Нужна повторная публикация базы утилитой webinst новой версии
Проверить разрядность пула IIS, права на каталог публикации и логи веб-сервера
Обновить файл публикации и перезапустить веб-сервер
Проверьте, что при установке новой платформы был отмечен компонент «Модули расширения веб-сервера». Без него каталог bin не будет содержать wsap24.dll и утилиту webinst, и публикацию выполнить не получится. Если компонент пропущен — запустите установщик платформы повторно в режиме изменения.
Обновление публикации через конфигуратор
Самый простой способ — публикация из конфигуратора. Откройте конфигуратор от имени администратора (это важно: без повышенных прав веб-сервер не примет изменения), перейдите в меню «Администрирование» → «Публикация на веб-сервере».
В открывшемся окне выберите веб-сервер (IIS или Apache), укажите имя публикации — оно должно совпадать с существующим, чтобы перезаписать старую публикацию, а не создать новую. Проверьте каталог публикации и отметьте нужные флажки: публиковать тонкий и веб-клиент, веб-сервисы, HTTP-сервисы.
Нажмите «Опубликовать» и дождитесь сообщения об успешном завершении. Конфигуратор запишет новый default.vrd и зарегистрирует модуль расширения текущей версии платформы. После этого перезапустите веб-сервер: для IIS выполните iisreset, для Apache — перезапуск службы.
- 1Запустить конфигуратор от имени администратора
- 2Открыть «Администрирование» → «Публикация на веб-сервере»
- 3Указать то же имя публикации, что было раньше
- 4Проверить каталог и состав публикуемых сервисов
- 5Нажать «Опубликовать» и дождаться подтверждения
- 6Перезапустить IIS или Apache
- 7Открыть базу в браузере и проверить версию платформы веб-клиента
Обновление публикации утилитой webinst
Утилита webinst — это консольный инструмент из каталога bin установленной платформы. Она удобна, когда публикаций много, когда на сервере нет конфигуратора или когда обновление нужно автоматизировать скриптом. Утилита запускается из командной строки с правами администратора.
Для IIS на Windows команда публикации выглядит так: указывается тип веб-сервера, имя публикации, каталог, строка подключения к базе. Пример для серверной базы:
"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 — несовместимость приводит к отказу запуска веб-сервера, что видно в его журнале ошибок.
Сравнение способов обновления
Подходит для одной-двух баз и администратора без опыта командной строки. Ограничение: требует запуска конфигуратора на машине с веб-сервером и прав администратора.
Подходит для массового обновления нескольких публикаций и автоматизации скриптами. Ограничение: требует точного знания параметров командной строки и строки подключения.
Подходит для точечных правок, когда версия платформы не менялась. Ограничение: не обновляет модуль расширения, поэтому при смене платформы недостаточно.
Проверка результата после обновления
После перезапуска веб-сервера откройте адрес базы в браузере в режиме инкогнито или с очисткой кэша — браузер мог закэшировать старые компоненты веб-клиента. База должна открыться с окном авторизации, а после входа — загрузить интерфейс без ошибок.
Проверьте версию платформы, которую использует веб-клиент: в тонком и веб-клиенте её можно посмотреть через «О программе». Она должна совпадать с версией, установленной на сервере. Если версия старая — модуль расширения не обновился, и публикацию нужно повторить.
Если публиковались веб-сервисы или HTTP-сервисы, проверьте их доступность отдельным запросом. Для веб-сервиса откройте его wsdl-описание в браузере: корректный XML означает, что сервис опубликован и работает.
Как проверить результат
Появляется окно авторизации, интерфейс загружается без ошибок
Ошибка несовпадения версий, HTTP 500 или пустая страница
Совпадает с версией, установленной на сервере
Указана старая версия — модуль не обновлён
Открывается XML-описание сервиса
Ошибка 404 или 500 — сервис не опубликован
Нет записей о сбое загрузки модуля wsap
Ошибки загрузки библиотеки или отказ в доступе
Типичные ошибки и их устранение
Наиболее частая проблема — публикация выполнена, но веб-сервер не перезапущен. IIS и Apache кэшируют загруженные модули, поэтому без перезапуска они продолжают использовать старую библиотеку. Всегда завершайте обновление командой iisreset или перезапуском службы Apache.
Вторая распространённая ошибка — обновление платформы выполнено без компоненты «Модули расширения веб-сервера». В этом случае webinst отсутствует, а публикация из конфигуратора завершается ошибкой. Решение — доустановить компонент через повторный запуск установщика платформы.
Третья группа проблем связана с правами: конфигуратор запущен без прав администратора, у пула IIS нет доступа к каталогу публикации, на Linux не выданы права пользователю веб-сервера. Диагностируйте такие случаи по журналам веб-сервера — там почти всегда есть явное указание на отказ в доступе.
Когда обновления публикации недостаточно
Если после корректной публикации и перезапуска ошибки сохраняются, проблема может быть глубже: повреждённая установка платформы, конфликт нескольких версий на одном сервере, блокировка антивирусом библиотеки wsap. В таких случаях полностью удалите публикацию (webinst -delete), перезапустите веб-сервер и создайте публикацию заново.
При работе нескольких версий платформы на одном сервере помните: каждый виртуальный каталог или сайт должен использовать модуль своей версии. Смешивать их нельзя — одна публикация не может обслуживать базы на разных версиях платформы.
Как выбрать действие
В сложных инфраструктурах с кластером серверов 1С и несколькими веб-серверами обновляйте публикации последовательно, проверяя работу каждого узла. Это позволит сохранить доступность системы и быстро локализовать проблемный узел.
Что важно запомнить
Обновление веб-сервера 1С — это всегда повторная публикация базы после смены платформы плюс перезапуск IIS или Apache. Используйте конфигуратор для разовых задач и webinst для массовых. Проверяйте разрядность пула, права на каталоги и версию платформы в веб-клиенте, а работы проводите вне пиковой нагрузки.
Частые вопросы
Нужно ли обновлять публикацию после каждого обновления платформы?
Да, если изменилась версия платформы, на которой работает база. Модуль расширения веб-сервера жёстко привязан к версии платформы, и при несовпадении веб-клиент перестанет запускаться. Если обновлялась только конфигурация без смены платформы, публикацию трогать не нужно.
Можно ли обновить публикацию без остановки работы пользователей?
Полностью безболезненно — нет: перезапуск веб-сервера разрывает активные соединения. Можно снизить влияние, выполняя работы в нерабочее время или используя два веб-сервера с балансировкой, когда узлы обновляются по очереди.
Где найти утилиту webinst?
Утилита находится в каталоге bin установленной платформы, например C:\Program Files\1cv8\<номер версии>\bin\webinst.exe на Windows. На Linux она располагается в каталоге установки платформы. Если файла нет — при установке платформы не была выбрана компонента «Модули расширения веб-сервера».
Что делать, если после обновления браузер показывает старую ошибку?
Сначала очистите кэш браузера или откройте базу в режиме инкогнито — веб-клиент активно кэширует ресурсы. Если ошибка сохраняется, проверьте, был ли перезапущен веб-сервер, и посмотрите его журнал ошибок: там видно, загрузился ли модуль новой версии.
Можно ли держать на одном веб-сервере публикации разных версий платформы?
Да, но каждая публикация должна использовать модуль расширения своей версии. Для IIS это означает отдельные пулы приложений с корректными настройками разрядности и разрешениями ISAPI для каждой версии wsap24.dll. Смешивать одну публикацию между версиями нельзя.
Почему публикация из конфигуратора завершается ошибкой доступа?
Конфигуратор запущен без прав администратора, либо у учётной записи нет прав на изменение конфигурации веб-сервера. Запустите конфигуратор через «Запуск от имени администратора». Если ошибка повторяется, проверьте права на каталог публикации и используйте webinst из командной строки с повышенными привилегиями.