РАБОТАЕМ ПО ВСЕЙ РОССИИ

Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽

Неверно указан протокол отладки на сервере: TCP в запускаемом приложении HTTP 1С, как исправить

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

Всё поправимо, ведь конфликт протоколов решается за 15 минут. Ниже - пошаговая инструкция, которая поможет правильно включить отладку по HTTP, настроить параметры запуска службы агента и проверить сетевые порты.




Оглавление

  1. HTTP отладка 1С: что это такое и как работает
  2. Пошаговая настройка 1С debug HTTP на сервере
  3. Настройка Конфигуратора и веб-сервера
  4. Настройка брандмауэра и сети (Порты отладки)
  5. Чек-лист быстрого исправления ошибок

HTTP отладка 1С: что это такое и как работает

Современный механизм 1С отладки по HTTP появился в платформе, начиная с версий 8.3.7 и 8.3.8. Он пришел на смену устаревшему протоколу TCP. Его главное отличие - использование веб-сервера (IIS или Apache) и стандартных веб-портов. Переход на отладку по протоколу HTTP 1С необходим, если специалист работает удалённо через интернет, подключается по VPN или разрабатывает мобильные приложения для автоматизации управления бизнесом. Это значительно упрощает администрирование сетевых экранов.

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

Если платформа на сервере запущена в режиме TCP, а клиентское приложение (конфигуратор, тонкий или веб-клиент) пытается подключиться по HTTP - связь обрывается. Ситуация часто усугубляется тем, что клиент использует старые кэшированные данные или неверный сетевой адрес базы. Сбой в строке подключения или подстановка сырого ip-адреса вместо корректного DNS-имени (при несовпадении записей) приводит к тому, что система не находит службу отладки.

Возможна и обратная ситуация: неверно указан протокол отладки на сервере HTTP в запускаемом приложении TCP. Причина та же - на одном конце включили отладку по новому протоколу, а на втором оставили старый TCP. Исправляется это согласованием протоколов по инструкции ниже.

Пошаговая настройка 1С debug HTTP на сервере

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

Вариант 1. Настройка на сервере Windows (Реестр)

Для включения режима HTTP-отладки отредактируйте параметры запуска исполняемого файла ragent.exe в реестре Windows.

  1. Вызовите окно Выполнить с помощью комбинации клавиш Win + R и введите команду regedit.
  2. Перейдите к ветке службы: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3…
  3. Откройте параметр ImagePath. По умолчанию там записан путь к исполняемому файлу: "C:\Program Files\1cv8\8.3.X.X\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591.
  4. Добавьте технологические ключи -debug -HTTP в строку после пути к файлу. Допускается использовать как дефис, так и косую черту (например, /debug /HTTP).
  5. Откройте оснастку Службы (services.msc) и перезапустите службу сервера 1С:Предприятие.

Вариант 2. Настройка на сервере Linux (systemd)

В серверных версиях на базе Linux параметры меняются без прямой правки основного unit-файла, чтобы настройки не слетели при обновлении платформы.

  • В терминале выполните команду переопределения конфигурации службы: systemctl edit srv1cv83
  • В открывшемся текстовом редакторе добавьте секцию, активирующую debug-режим:

[Service]

Environment=SRV1CV8_DEBUG=-debug

Environment=SRV1CV8_HTTP=-HTTP

  • Сохраните изменения и перезапустите домен сервера 1С: systemctl restart srv1cv83.

Настройка Конфигуратора и веб-сервера

Когда серверная часть подготовлена, необходимо переключить клиентское приложение на протокол debug HTTP 1С.

  1. Запустите конфигуратор нужной информационной базы.
  2. Перейдите в главное меню: Сервис -> Параметры.
  3. Откройте вкладку Запуск 1С:Предприятия и выберите подраздел Отладка.
  4. В поле Протокол отладки установите переключатель в положение Использовать протокол HTTP.
  5. Чтобы автоматизировать перехват процедур на сервере, зайдите в меню Отладка -> Подключение. Нажмите кнопку Настройка автоматического подключения и установите флажок напротив пункта Серверные вызовы.

Проблема с именами баз: если имя (идентификатор) базы в конфигураторе отличается от ее названия на сервере хотя бы на один символ, отладчик проигнорирует этот контекст. Имена баз в списке должны совпадать идеально. Вроде мелочь, но запомните этот момент, чтобы не ломать потом голову, а что же не так!

Если вы работаете через веб-сервер, обязательно проанализируйте файл конфигурации публикации default.vrd, который лежит в каталоге публикации на веб-сервере (IIS или Apache). Убедитесь, что внутри разрешена отладка (включая открытие формы веб-клиента) и корректно прописан URL-адрес сервера отладки.

Настройка брандмауэра и сети (Порты отладки)

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

В настройках отладки можно ограничить пулы адресов, которые сканирует конфигуратор:

  • При стандартных настройках на сервере и клиенте должны быть открыты TCP- и UDP-порты 1540, 1541, а также рабочий диапазон 1560-1591.
  • HTTP-протокол по умолчанию занимает порт 1560. В брандмауэре Windows добавьте исключения для исполняемых файлов ragent.exe, rmngr.exe и rphost.exe на указанные порты.
  • В Linux проверьте iptables или ufw: порты должны быть разрешены для входящих и исходящих соединений.

Чек-лист быстрого исправления ошибок

Если после выполнения всех шагов приложение продолжает выдавать ошибку протокола, выполните три проверочных действия:

  1. Очистите локальный кэш: закройте программу, удалите базу из списка запуска и добавьте ее заново. Это сотрет зависшие временные файлы конфигуратора.
  2. Проверьте тип базы: помните, что файловая база, характерная для малого бизнеса, выполняет код локально и не требует ключей сервера. Клиент-серверный вариант (на базе SQL) требует обязательной перезагрузки службы ragent после любых правок.
  3. Очистите кэш предметов отладки: в меню Отладка -> Подключение нажмите кнопку Настройка автоматического подключения и выберите пункт Очистить кэш. Это удалит устаревшие записи.

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