Как зайти в Конфигуратор 1С на удаленном сервере без клиентских лицензий и исправить ошибки подключения?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В практике администрирования систем на платформе 1С:Предприятие часто возникает классическая инфраструктурная дилемма. Имеется производительный сервер, на котором развернуты СУБД, сервер приложений 1С и веб-сервер (IIS или Apache). База успешно опубликована, и пользователи без проблем заходят в нее через веб-клиент со своих рабочих мест. При этом на самом физическом или виртуальном сервере клиентские лицензии не установлены, поскольку они распределяются непосредственно на рабочих станциях пользователей. Это делает невозможным запуск Конфигуратора или толстого клиента локально на сервере.

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

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

Выясняем причину ошибки сетевого подключения к кластеру

При попытке добавить базу в список на удаленном компьютере администратор указывает правильный внешний IP-адрес сервера (например, 192.168.1.40) и имя информационной базы. Однако при попытке войти в Конфигуратор система выдает критическую ошибку следующего вида:

Ошибка при выполнении операции с информационной базой server_addr=tcp://fff:1541 descr=192.168.0.40:1541 Попытка соединения была безуспешной...

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

  1. Первичный запрос клиента: Наш удаленный компьютер отправляет запрос к менеджеру кластера 1С по указанному нами адресу (порт 1541).
  2. Ответ менеджера кластера: Менеджер кластера принимает запрос, проверяет имя базы и возвращает клиенту список доступных рабочих процессов (rphost) и имя рабочего сервера, на котором они запущены. Это имя берется из внутренних настроек самого кластера.
  3. Проблема маршрутизации: Если внутри кластера рабочий сервер зарегистрирован как localhost или под старым/внутренним IP-адресом (например, со второй сетевой карты сервера 192.168.0.40), менеджер кластера передает именно этот некорректный адрес обратно клиенту.
  4. Сбой соединения: Получив от сервера адрес localhost или недоступный IP 192.168.0.40, наш Конфигуратор пытается подключиться напрямую к нему. Естественно, удаленный компьютер под именем localhost пытается найти службу на самом себе (на клиенте) или ломится в чужую подсеть, что приводит к таймауту соединения и ошибке.

Для решения этой проблемы нам необходимо направить трафик по верному маршруту и скорректировать настройки кластера.

Шаг 1. Локальное перенаправление через файл hosts на клиенте

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

Рассмотрим, как обмануть систему маршрутизации операционной системы. Нам нужно принудительно связать имя сервера, которое возвращает кластер, с его реальным, доступным для нас IP-адресом.

  1. Нажмите клавишу Win, введите в поиске «Блокнот», нажмите на него правой кнопкой мыши и выберите «Запуск от имени администратора».
  2. В Блокноте выберите «Файл» -> «Открыть» и перейдите по пути: C:\Windows\System32\drivers\etc\.
  3. Переключите режим отображения файлов с «Текстовые документы (*.txt)» на «Все файлы (*.*)».
  4. Откройте файл hosts.
  5. В самый конец файла добавьте строку соответствия. Сначала укажите реальный, доступный вам IP-адрес сервера 1С, а затем через пробел — то сетевое имя, которое возвращает менеджер кластера (из текста ошибки, например, fff):

192.168.1.40 fff

Если менеджер кластера возвращает адрес в виде имени сервера, данная запись перенаправит все запросы к fff на рабочий IP-адрес 192.168.1.40. Сохраните файл и попробуйте снова запустить Конфигуратор.

Шаг 2. Настройка брандмауэра на сервере

Часто после исправления адресации возникает следующая проблема — блокировка портов брандмауэром (Firewall). Убедитесь, что на стороне сервера открыты все необходимые порты для полноценного взаимодействия с толстым клиентом Конфигуратора:

Шаг 3. Изменение имени сервера в кластере без запуска Конфигуратора локально

Использование localhost в качестве имени сервера в кластере является устаревшей практикой, приводящей к постоянным сетевым сбоям при удаленной работе. Нам необходимо заменить localhost на реальное сетевое имя сервера или его статический IP-адрес. Сделать это без запуска локального Конфигуратора на сервере можно следующими способами.

Способ А. Удаленное администрирование через консоль MMC

Если на вашем рабочем компьютере (администратора) установлена утилита «Администрирование серверов 1С:Предприятия», выполните следующие действия:

  1. Запустите консоль администрирования.
  2. Нажмите правой кнопкой мыши на ветку «Центральные серверы 1С:Предприятия» -> «Создать» -> «Центральный сервер».
  3. В поле «Имя» введите реальный IP-адрес сервера (192.168.1.40), порт оставьте по умолчанию (1540).
  4. После подключения разверните ветку вашего сервера, перейдите в раздел «Рабочие серверы».
  5. Найдите сервер с именем localhost, откройте его свойства и измените имя на актуальное сетевое имя сервера (например, fff) или его IP-адрес.
  6. Сохраните изменения. Теперь кластер будет возвращать клиентам корректный адрес.

Способ Б. Прямое редактирование конфигурационных файлов кластера

Если консоль MMC недоступна или не удается подключиться удаленно, мы можем отредактировать файлы конфигурации кластера напрямую. Для этого потребуется подключиться к серверу по протоколу RDP (лицензии 1С для этого не требуются):

  1. Зайдите на сервер по RDP.
  2. Откройте оснастку «Службы» (services.msc) и остановите службу «Агент сервера 1С:Предприятия 8.3». Важно: во время этой процедуры все пользователи будут отключены от баз данных.
  3. Перейдите в каталог хранения настроек службы. По умолчанию путь выглядит так: C:\Program Files\1cv8\srvinfo\ (или C:\Program Files (x86)\1cv8\srvinfo\ для 32-битной версии).
  4. В корневой папке srvinfo найдите файл 1cv8wsrv.lst.
  5. Откройте его в Блокноте. Найдите все вхождения слова "localhost" и замените их на реальное имя сервера, например "fff".
  6. Перейдите в подкаталог вашего кластера (обычно он называется reg_1541) и найдите там файлы 1CV8Clst.lst и 1CV8Clsto.lst.
  7. Откройте эти файлы и аналогичным образом замените "localhost" на реальное имя сервера "fff".
  8. Запустите службу «Агент сервера 1С:Предприятия 8.3» в оснастке служб.

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

Модификация файла публикации default.vrd при изменении имени сервера

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

За публикацию информационной базы отвечает специальный файл конфигурации default.vrd, который находится в каталоге публикации веб-сервера (например, C:\inetpub\wwwroot\MyDatabase\default.vrd для IIS или соответствующей папке для Apache).

Выясним, нужно ли заново публиковать базу через Конфигуратор. Нет, повторная публикация не требуется. Достаточно вручную скорректировать этот файл:

  1. Откройте файл default.vrd в текстовом редакторе. Это обычный XML-документ.
  2. Найдите строку подключения информационной базы, которая выглядит примерно так:

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/MyDatabase"
       ib="Srvr=&quot;localhost&quot;;Ref=&quot;MyDatabase&quot;;">
  1. Замените значение параметра Srvr с устаревшего localhost на ваше новое имя сервера fff (или IP-адрес):

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/MyDatabase"
       ib="Srvr=&quot;fff&quot;;Ref=&quot;MyDatabase&quot;;">
  1. Сохраните изменения в файле.

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

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

Представим ситуацию: мы успешно зашли в Конфигуратор с удаленного компьютера, добавили новый реквизит в документ или изменили код в общем модуле, после чего обновили конфигурацию базы данных (нажатием клавиши F7). Нужно ли нам совершать дополнительные действия с веб-сервером?

Рассмотрим два сценария работы:

Сценарий 1. Стандартное обновление метаданных и кода

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

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

Сценарий 2. Изменение структуры Web- или HTTP-сервисов

Если в процессе разработки вы добавили новый Web-сервис, изменили структуру пакетов XDTO, создали новый HTTP-сервис или изменили его шаблон URL-адреса, ситуация меняется. Веб-сервер строит карту маршрутизации внешних запросов на основе структуры сервисов в момент инициализации публикации.

В этом случае вам потребуется:

  1. Обновить публикацию конфигурации.
  2. Обязательно произвести перезапуск пула приложений IIS или службы Apache, чтобы веб-сервер перечитал структуру опубликованных сервисов и начал корректно обрабатывать новые URL-запросы.

Использование утилиты командной строки webinst для публикации баз

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

Эта утилита поставляется вместе с платформой 1С и позволяет гибко управлять публикациями. Рассмотрим пример команды для публикации базы на веб-сервере IIS под управлением 64-разрядной версии Windows:


"C:\Program Files\1cv8\8.3.22.1709\bin\webinst.exe" -iis -wsdir MyDatabase -dir "C:\inetpub\wwwroot\MyDatabase" -conn "Srvr=fff;Ref=MyDatabase;"

Разберем параметры этой команды подробнее:

Использование утилиты webinst полностью избавляет администратора от необходимости запуска локального Конфигуратора 1С на сервере для выполнения операций публикации.

Мы полностью разобрали проблему удаленного администрирования баз данных 1С, опубликованных на веб-сервере. Своевременный отказ от использования имени localhost в настройках кластера, правильная конфигурация файла hosts на клиентской машине и умение вручную редактировать параметры публикации default.vrd позволяют гибко настраивать и обновлять системы любой сложности без лишних затрат на покупку локальных клиентских лицензий для серверов.

← На главную