Что делать, если при публикации базы 1С на веб-сервере зависает Конфигуратор?

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

Зависание Конфигуратора 1С при попытке открыть меню «Администрирование — Публикация на веб-сервере» — это классическая проблема, с которой часто сталкиваются системные администраторы и разработчики, работающие на платформе 8.3.11 и выше. Проблема коварна тем, что стандартная очистка кэша или перезапуск службы Агент сервера 1С:Предприятия не всегда приносят результат. В данной статье мы подробно проанализируем причины такого поведения и разберем по шагам рабочие методы решения задачи — от восстановления работы интерфейса до ручной настройки публикации.

Выясняем причины: почему Конфигуратор «замирает»?

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

Рассмотрим основные факторы, вызывающие «мертвое» зависание:

  1. Зависшие службы веб-сервера: Если служба WAS (Windows Process Activation Service) или W3SVC находится в промежуточном состоянии, Конфигуратор будет бесконечно ждать ответа от API системы.
  2. Ошибки в конфигурационных файлах: Если в файле конфигурации Apache (httpd.conf) или в метабазе IIS присутствуют ссылки на несуществующие каталоги или некорректно прописанные прошлые публикации, парсер 1С может войти в бесконечный цикл или упасть по таймауту.
  3. Проблемы с правами доступа: Недостаток прав у пользователя, под которым запущен Конфигуратор, на чтение веток реестра или конфигурационных папок веб-сервера.
  4. Блокировки безопасности: Усиленная конфигурация безопасности Internet Explorer (IE ESC) на серверных ОС или работа антивирусного ПО.

Решение 1: Очистка конфигурации веб-сервера (Apache)

Проанализируем ситуацию, когда основной причиной является «мусор» в настройках самого веб-сервера. Если вы используете Apache, Конфигуратор при открытии окна публикации считывает файл httpd.conf, чтобы найти в нем существующие блоки настроек для баз 1С.

Порядок действий следующий:

  1. Перейдем в каталог установки Apache (обычно это C:\Program Files\Apache Software Foundation\Apache2.4\conf\).
  2. Сделаем резервную копию файла httpd.conf.
  3. Откроем файл любым текстовым редактором и найдем строки, содержащие пути к вашим публикациям. Обычно они выглядят так: Alias /BaseName "C:/inetpub/wwwroot/BaseName/".
  4. Удалим все упоминания старых или проблемных публикаций.
  5. Сохраним файл и перезапустим службу Apache.

Как показывает практика, после удаления «битых» ссылок в конфиге Apache, Конфигуратор мгновенно открывает окно публикации без всяких задержек.

Решение 2: Ручная правка файла default.vrd (обход интерфейса)

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

Каждая публикация 1С описывается специальным XML-файлом с расширением .vrd. Разберем пример, как включить отладку, если интерфейс не открывается. Найдем файл default.vrd в папке публикации (например, C:\inetpub\wwwroot\MyBase\) и отредактируем его.

Пример структуры файла с включенной отладкой:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/MyBase"
		ib="Srvr=&quot;Server1C&quot;;Ref=&quot;MyBase&quot;;">
	<httpServices publishByDefault="true">
		<debug enable="true" url="tcp://localhost" />
	</httpServices>
	<standardOdata enable="false"
			publishExtensionsByDefault="true" />
</point>

В данном примере мы вручную установили параметр enable="true" в секции debug. После сохранения файла и перезапуска веб-сервера настройки вступят в силу без участия Конфигуратора.

Решение 3: Проверка прав доступа для IUSR и групп

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

Решение 4: Использование командной строки для публикации

Если графический интерфейс (GUI) безнадежно виснет, вспомним о возможности публикации через параметры запуска. Это позволяет «проскочить» этап инициализации диалогового окна. Рассмотрим формат команды для публикации на сервере IIS:


"C:\Program Files\1cv8\8.3.11.2867\bin\1cv8.exe" DESIGNER /S "Server\Base" /N "Admin" /P "Pass" /WAPublish -IIS -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -confPath "C:\Windows\System32\inetsrv\config\applicationHost.config"

Разберем ключевые параметры:

Дополнительные рекомендации

Проанализируем еще несколько нюансов, которые могут помочь в диагностике:

Отключение IE ESC: На серверных операционных системах попробуйте временно отключить «Конфигурацию усиленной безопасности Internet Explorer» через Server Manager. Конфигуратор 1С использует компоненты браузера для отрисовки некоторых форм, и блокировка скриптов может вызывать фриз.

Конфликт разрядности: На платформе 8.3.11 часто возникали проблемы при попытке 32-битного Конфигуратора работать с 64-битным IIS. Если есть возможность, попробуйте выполнить публикацию с клиента другой разрядности или обновить платформу до актуальной версии 8.3.12+, где многие ошибки взаимодействия с wsiis.dll были исправлены.

Очистка реестра: Если вы переходили с Apache на IIS (или наоборот), проверьте ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation. Если там остались пути к удаленным каталогам, Конфигуратор может пытаться к ним обратиться при сканировании, что и вызывает зависание.

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

← На главную