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

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

Как переопубликовать базу 1С на веб-сервере

Подробная инструкция по переопубликации базы 1С на веб-сервере IIS или Apache: настройка, проверка, типичные ошибки и способы их устранения.

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

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

Для успешной переопубликации нужны три условия: установленная платформа 1С той же или более новой версии, чем та, под которой база работает; запущенный и доступный веб-сервер; права администратора на компьютере, где выполняется публикация. Ниже разберём весь процесс по шагам, включая проверку результата и типичные ошибки.

Когда требуется переопубликация базы

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

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

Признаком того, что публикация повреждена или устарела, обычно служат ошибки при открытии базы в браузере: HTTP 500, «Ошибка соединения с сервером 1С:Предприятия», пустая страница или циклический запрос авторизации. В большинстве таких случаев переопубликация решает проблему быстрее, чем поиск причины вручную.

Ошибка 500 в браузереВеб-сервер не может обработать запрос

Проверьте версию платформы в публикации и логи веб-сервера

Ошибка соединения с сервером 1СПубликация указывает на недоступный сервер

Проверьте имя сервера в параметрах публикации и доступность службы агента

Публикация пропала после обновления IISВиртуальный каталог был удалён

Проверьте наличие каталога публикации в консоли IIS

База обновлена на новую платформуСтарая публикация ссылается на старую версию

Переопубликуйте базу из конфигуратора новой версии

Подготовка к переопубликации

Перед началом убедитесь, что веб-сервер установлен и работает. Для IIS это проверяется в консоли «Диспетчер служб IIS», для Apache — состоянием службы или командой проверки конфигурации. Также должны быть установлены расширения веб-сервера, необходимые платформе 1С (модули ISAPI для IIS или модуль wsap для Apache) — они устанавливаются вместе с компонентой «Расширение для веб-сервера» при установке платформы.

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

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

Основной способ переопубликации — стандартный диалог публикации в конфигураторе. Он подходит и для первичной публикации, и для обновления существующей: если имя публикации совпадает с уже существующей, файлы будут перезаписаны.

Порядок действий
  1. 1
    Запустите конфигуратор 1С от имени администратора и откройте нужную базу
  2. 2
    Откройте меню «Администрирование» → «Публикация на веб-сервере»
  3. 3
    Выберите веб-сервер (IIS или Apache) и укажите имя публикации — то же, что у существующей
  4. 4
    Проверьте каталог публикации и параметры подключения к базе (сервер, имя базы)
  5. 5
    На вкладках настройте нужные сервисы: веб-клиент, HTTP-сервисы, Web-сервисы, OData
  6. 6
    Нажмите «Опубликовать» и дождитесь сообщения об успешной публикации
  7. 7
    Перезапустите веб-сервер (для IIS выполните iisreset, для Apache — перезапуск службы)
  8. 8
    Откройте базу в браузере по адресу вида http://сервер/ИмяПубликации и проверьте вход

Настройки в диалоге публикации

В диалоге публикации важно корректно заполнить поле «Имя» — именно оно станет частью URL базы. Если вы переопубликовываете существующую базу, имя должно совпадать с прежним, иначе у пользователей изменится адрес для входа. Каталог по умолчанию формируется автоматически, но его можно изменить, если публикации хранятся в нестандартном расположении.

На дополнительных вкладках отметьте только те сервисы, которые реально используются: каждый опубликованный HTTP-сервис или интерфейс OData расширяет поверхность доступа к базе извне. Если мобильный клиент или OData не нужны, их лучше не публиковать.

Переопубликация через командную строку и вручную

Для автоматизации или когда конфигуратор недоступен, публикацию можно выполнить утилитой webinst, входящей в состав платформы. Это удобно для скриптов обновления сервера, когда после установки новой платформы нужно переопубликовать сразу несколько баз.

bash
"C:\Program Files\1cv8\<версия>\bin\webinst.exe" -publish -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -connStr "Srvr=Server1;Ref=MyBase" -confPath "C:\Program Files\Apache24\conf\httpd.conf"

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

Ручной способ — правка файла default.vrd в каталоге публикации — подходит только для точечных изменений, например смены строки подключения. Файл имеет XML-формат, и ошибка в нём делает всю публикацию нерабочей, поэтому после правки обязательно проверяйте доступность базы.

Проверка результата переопубликации

Проверка начинается с простого открытия базы в браузере. Должна появиться страница входа 1С, а после ввода учётных данных — рабочий интерфейс. Если база опубликована и для тонкого клиента, проверьте подключение и через него, указав адрес публикации в настройках информационной базы.

Если публиковались HTTP-сервисы или OData, проверьте их отдельно: OData отвечает на запрос по адресу вида http://сервер/ИмяПубликации/odata/standard.odata и должен вернуть XML-описание доступных сущностей. HTTP-сервисы проверяются прямыми запросами к их URL-шаблонам.

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

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

Открытие адреса публикации в браузере
Норма

Отображается форма входа 1С

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

Ошибка 500, 404 или пустая страница

Вход под реальным пользователем
Норма

Загружается рабочий интерфейс базы

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

Зависание на загрузке или ошибка соединения с сервером

Виртуальный каталог в IIS / конфигурация Apache
Норма

Каталог существует и привязан к нужному пулу/модулю

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

Каталог отсутствует или ссылается на старую версию платформы

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

Нет новых ошибок после обращения к базе

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

Ошибки загрузки модулей 1С в логах

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

Большинство проблем после переопубликации связано с правами доступа и версиями платформы. Пулы приложений IIS должны работать под учётной записью, имеющей доступ к каталогу публикации и — для клиент-серверных баз — возможность обратиться к серверу 1С. Для Apache аналогично проверяются права служебной учётной записи.

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

Если после переопубликации браузер выдаёт ошибку 500, первым делом смотрите журналы веб-сервера: для IIS это журналы в каталоге logs и журнал событий Windows, для Apache — error.log. Там обычно прямо указано, какой модуль не загрузился и почему.

Ограничения и альтернативные варианты

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

Сравнение вариантов

Публикация на веб-сервере (IIS/Apache)

Полноценный веб-клиент и тонкий клиент через HTTP/HTTPS. Требует настройки веб-сервера и обслуживания публикаций

Сервер 1С + тонкий клиент по TCP

Проще в настройке, но требует открытия портов сервера 1С и установки клиента на каждое рабочее место

1С:Фреш / облачный сервис

Публикацией занимается оператор сервиса; подходит, если нет ресурсов на собственный веб-сервер

RDP-доступ к терминальному серверу

Не требует публикации вообще, но зависит от лицензий на терминальный доступ и даёт менее удобный интерфейс

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

Итог

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

Переопубликация выполняется из конфигуратора через «Администрирование» → «Публикация на веб-сервере» с сохранением прежнего имени публикации. Запускайте конфигуратор от имени администратора, после публикации перезапускайте веб-сервер и проверяйте доступ к базе в браузере. Работы проводите вне пиковой нагрузки, предварительно сохранив копию каталога публикации.

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

Нужно ли останавливать сервер 1С при переопубликации?

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

После обновления платформы база не открывается в браузере. Что делать?

Это типичный признак того, что публикация ссылается на компоненты старой версии платформы. Запустите конфигуратор новой версии от имени администратора и переопубликуйте базу с тем же именем, затем перезапустите веб-сервер командой iisreset или перезапуском службы Apache.

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

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

Как переопубликовать базу, если нет доступа к конфигуратору?

Используйте утилиту webinst из каталога установленной платформы — она выполняет публикацию из командной строки для IIS и Apache. Альтернатива — вручную отредактировать файл default.vrd в каталоге существующей публикации, если нужно изменить только параметры подключения.

Опасно ли публиковать базу в интернете без VPN?

Публикация наружу требует обязательных мер защиты: HTTPS с действующим сертификатом, сильные пароли пользователей, отключение неиспользуемых сервисов (OData, HTTP-сервисы) и ограничение доступа по IP там, где это возможно. Без этих мер база становится доступной для попыток подбора паролей и атак извне.

Почему после переопубликации пропали настройки HTTP-сервисов?

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