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

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

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

Как перенести публикацию базы 1С на другой веб-сервер: подготовка IIS или Apache, настройка default.vrd, права доступа, проверка работы и типичные ошибки.

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

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

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

Что понадобится перед началом работы

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

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

Версия платформыДолжна совпадать с версией на сервере 1С

Посмотрите версию в свойствах базы в консоли кластера или в конфигураторе

Тип базыФайловая или клиент-серверная

От этого зависит строка подключения в default.vrd

Доступность сервера 1СНовый веб-сервер должен видеть сервер 1С по сети

Проверьте ping и доступность порта агента кластера

Учётная запись веб-сервераНужны права на каталог базы или сетевой ресурс

Для IIS это обычно пул приложений, для Apache — системная учётка службы

Установка веб-расширения 1С на новом сервере

На новом веб-сервере запустите установщик платформы 1С и выберите компоненту «Веб-расширение 1С» (в новых версиях может называться «Модули расширения веб-сервера»). Устанавливать полный клиент или сервер 1С на эту машину не обязательно — достаточно модуля веб-расширения и, при необходимости, административных утилит.

Обратите внимание на разрядность: для 64-разрядных IIS и Apache ставьте 64-разрядное веб-расширение. Несовпадение разрядности — одна из самых частых причин, когда веб-сервер не может загрузить модуль wsisapi.dll (IIS) или mod_1cws (Apache) и отдаёт ошибку загрузки модуля.

После установки убедитесь, что файлы веб-расширения лежат в каталоге платформы (обычно подкаталог bin внутри каталога версии). Эти пути понадобятся на следующем шаге при настройке веб-сервера.

Настройка IIS для публикации 1С

Если новый веб-сервер — IIS на Windows, сначала включите саму роль веб-сервера через «Диспетчер сервера» или компоненты Windows. Для работы 1С нужны, как минимум, службы IIS, поддержка ISAPI-расширений и ISAPI-фильтров — их включение часто пропускают, и это приводит к ошибке 500 при обращении к публикации.

Самый простой способ опубликовать базу — воспользоваться механизмом публикации из конфигуратора 1С (меню «Администрирование» → «Публикация на веб-сервере») прямо на машине с IIS, если там установлена платформа с конфигуратором. Укажите имя публикации (латиницей, без пробелов), каталог, тип веб-сервера IIS и строку подключения. Конфигуратор сам создаст виртуальный каталог, зарегистрирует обработчик ISAPI и сформирует default.vrd.

Если конфигуратора на веб-сервере нет, настройку выполняют вручную: создают виртуальный каталог в IIS, в сопоставлениях обработчиков добавляют ISAPI-модуль wsisapi.dll из каталога платформы, разрешают выполнение ISAPI и CGI в настройках сервера, а в каталог публикации кладут подготовленный default.vrd. Пул приложений при этом должен работать в той же разрядности, что и веб-расширение (параметр «Разрешить 32-разрядные приложения»).

Публикация через конфигуратор на IIS
  1. 1
    Откройте конфигуратор на машине с IIS и зайдите в «Администрирование → Публикация на веб-сервере»
  2. 2
    Укажите имя публикации латиницей и каталог для файлов публикации
  3. 3
    Выберите тип веб-сервера IIS и проверьте строку подключения к базе
  4. 4
    Нажмите «Опубликовать» и дождитесь сообщения об успешной публикации
  5. 5
    Перезапустите IIS командой iisreset и проверьте доступ по URL в браузере

Настройка Apache на Windows или Linux

Для Apache потребуется подключить модуль веб-расширения 1С вручную в файле httpd.conf. Модуль называется mod_1cws (библиотека mod_1cws.so для Linux или mod_1cws.dll для Windows) и находится в каталоге платформы. В конфигурацию добавляют директиву загрузки модуля и секцию обработчика для виртуального пути публикации.

apache
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.24.1467/bin/mod_1cws.dll"

Alias "/mybase" "C:/inetpub/mybase"
<Directory "C:/inetpub/mybase">
    AllowOverride None
    Require all granted
    SetHandler 1c-application
</Directory>

В указанном каталоге публикации должен лежать файл default.vrd. Обратите внимание на пути: в Apache на Windows используйте прямые слэши, а на Linux убедитесь, что пользователь, под которым работает Apache (обычно www-data или apache), имеет чтение каталога публикации и доступ к каталогу файловой базы, если она используется.

После правки httpd.conf проверьте синтаксис конфигурации командой apachectl configtest (или httpd -t на Windows) и только потом перезапускайте службу. Это убережёт от ситуации, когда Apache не стартует из-за опечатки и веб-доступ оказывается полностью остановлен.

Перенос и правка файла default.vrd

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

Ключевой параметр — атрибут ib в элементе point. Для клиент-серверной базы он выглядит как строка вида srvr="Server1C";ref="MyBase", для файловой — File="\\server\share\mybase". Также в default.vrd могут быть включены веб-сервисы, HTTP-сервисы и сервисы OpenID — проверьте, что их настройки соответствуют тому, что должно работать через новый сервер.

Если через публикацию работают внешние системы по веб-сервисам, дополнительно проверьте параметр baseName и enable в элементах ws — после переноса сервисы должны остаться включёнными, иначе интеграции начнут возвращать ошибку 404, хотя интерфейс базы открывается нормально.

Проверка работы публикации после переноса

Первичная проверка — открыть URL публикации в браузере вида http://имя-сервера/имя-публикации. Должна открыться страница входа веб-клиента 1С или запрос авторизации. Если вместо этого вы видите ошибку 403 — проблема в правах на каталог публикации; ошибку 404 — не создан виртуальный каталог или неправильный путь; ошибку 500 — веб-расширение не загрузилось (разрядность, отсутствие ISAPI-разрешений, неверная версия платформы).

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

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

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

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

Страница входа веб-клиента или запрос логина и пароля

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

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

Тонкий клиент по HTTP
Норма

База открывается, справочники и документы доступны

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

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

Веб-сервисы (если используются)
Норма

WSDL отдаётся по адресу сервиса, вызовы проходят

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

Ошибка 404 на адресе сервиса при работающем интерфейсе

Нагрузка и стабильность
Норма

Сеансы открываются несколькими пользователями одновременно

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

Сбои при втором подключении — признак проблем с пулом или правами

Типичные ошибки и как их избежать

Большинство проблем при переносе публикации связаны не с самой 1С, а с окружением веб-сервера. Самая частая — несовпадение разрядности веб-расширения и веб-сервера: 64-битный IIS с 32-битным модулем (или наоборот) даёт ошибку загрузки ISAPI. Вторая по частоте — забытые права: учётная запись пула приложений или службы Apache не имеет доступа к каталогу файловой базы или каталогу публикации.

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

Типичные ошибки
01
Публикация под другой версией платформы — тонкие клиенты не смогут подключиться из-за несовпадения версий
02
Перенос default.vrd без правки строки подключения — публикация указывает на старый сервер или недоступный путь
03
Отключённый ISAPI/CGI в IIS — ошибка 500 при обращении к базе
04
Отсутствие прав у пула приложений на каталог базы — ошибка доступа к информационной базе
05
Смена URL публикации без уведомления пользователей — массовые обращения в поддержку и сбой интеграций

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

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

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

Варианты организации доступа

Публикация на IIS

Стандартный вариант для Windows-инфраструктуры; удобная публикация из конфигуратора, но требует лицензий Windows на сервер

Публикация на Apache

Подходит для Linux и смешанных сред; настройка сложнее, конфигурация правится вручную в httpd.conf

VPN + прямое подключение

Не требует веб-сервера, но нужен тонкий клиент у каждого пользователя и настроенный VPN-доступ

Терминальный доступ

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

Итог

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

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

Часто задаваемые вопросы

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

Если старая публикация продолжает работать, перенос можно выполнить параллельно: настроить новый веб-сервер, проверить его, а затем переключить пользователей на новый адрес (или перенастроить DNS на новый сервер с тем же URL). Полная остановка нужна только на короткое время переключения.

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

Да, одна база может быть опубликована на нескольких веб-серверах — например, для резервирования или разделения нагрузки. Каждый веб-сервер настраивается независимо со своим default.vrd, указывающим на одну и ту же базу. Перед серверами можно поставить балансировщик.

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

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

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

Настройте веб-сервер вручную: скопируйте default.vrd со старого сервера, исправьте в нём строку подключения, создайте виртуальный каталог и зарегистрируйте модуль веб-расширения (wsisapi.dll для IIS или mod_1cws для Apache). Конфигуратор лишь автоматизирует эти шаги, но не обязателен.

Нужен ли отдельный сертификат HTTPS при смене веб-сервера?

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

Почему файловая база через веб-сервер работает медленнее, чем по сети напрямую?

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