Как подключить отладку при HTTP и HTTPS запросах в 1С через IIS?

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

Часто при разработке интеграций и API в 1С возникает необходимость отладить входящие HTTP или HTTPS запросы. Если база работает в файловом варианте, настроить перехват достаточно просто. Однако, если база клиент-серверная, а в качестве веб-сервера используется IIS (Internet Information Services), процесс настройки требует более глубокого понимания взаимодействия служб. Разберем по шагам, как правильно подготовить систему, чтобы отладчик Конфигуратора начал успешно перехватывать сеансы при входящих веб-запросах.

1. Включение отладки на сервере 1С:Предприятия

В первую очередь выясним причину, по которой отладчик может не видеть фоновые задания и веб-сеансы. По умолчанию служба Агента сервера 1С (ragent) запускается без поддержки отладки HTTP-соединений. Нам необходимо изменить параметры ее запуска через системный реестр Windows.

Проанализируем строку запуска службы. Чтобы включить отладку, необходимо добавить флаги -debug и -http. Зайдите в редактор реестра (regedit), найдите ветку службы 1С и измените параметр ImagePath. Итоговая строка должна выглядеть примерно так (пути могут отличаться в зависимости от версии платформы):


"C:\Program Files\1cv8\8.3.13.1513\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http

После внесения изменений обязательно полностью перезапустите службу «Агент сервера 1С:Предприятия».

2. Выбор правильного порта для отладчика

Рассмотрим ситуацию с портами. В локальных (файловых) базах используется локальный сервер отладки. Но для клиент-серверной базы нам нужен центральный кластер. Важно понимать, что если IIS "слушает" стандартные веб-порты (80 для HTTP или 443 для HTTPS), мы не должны направлять отладку на них, иначе IIS просто не поймет этот трафик и вернет ошибку 404. Нам нужно указать свободный порт для отладчика, например 1550 или 1551.

3. Настройка файла публикации default.vrd

Теперь посмотрим на настройки самого веб-сервера IIS. Главное упущение многих разработчиков — забыть включить отладку на стороне веб-сервера. Зайдите в каталог виртуального приложения, где опубликована ваша база. Там находится конфигурационный файл default.vrd. Откройте его в текстовом редакторе и убедитесь, что в нем присутствует тег debug с включенным параметром enable="true".

Строка настройки должна выглядеть следующим образом:



Обратите внимание, что URL и порт должны совпадать с теми, что вы выбрали для сервера отладки (в нашем примере это порт 1551). После сохранения изменений в файле default.vrd обязательно перезапустите веб-сервер IIS или его пул приложений, чтобы новые правила вступили в силу.

4. Подготовка Конфигуратора к отладке

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

  1. Откройте Конфигуратор вашей базы данных.
  2. Перейдите в меню СервисПараметры и откройте вкладку Отладка.
  3. Явно укажите протокол отладки (HTTP) и проверьте настройки локального адреса и порта (укажите ваш порт, например 1551).
  4. Перейдите в меню ОтладкаПодключениеАвтоматическое подключение.
  5. Обязательно установите галочку напротив пункта HTTP-сервисы (и/или Web-сервисы, если используете SOAP). Без этого Конфигуратор проигнорирует внешние запросы.

5. Особенности отладки HTTPS из внешней сети

Проанализируем ситуацию, если ваш сервер принимает запросы снаружи по защищенному протоколу HTTPS. Зачастую брандмауэры блокируют все порты, кроме 443. В таком случае прямое подключение к порту отладчика 1551 извне не сработает.

Чтобы обойти это ограничение, на стороне IIS можно настроить механизм Reverse Proxy (обратный прокси). Обращения к специальному адресу (например, https://your-server.com/debugger/) будут прозрачно перенаправляться службой IIS на внутренний локальный адрес сервера отладки (http://localhost:1551). Это позволит безопасно отлаживать базу из интернета.

6. Как инициировать срабатывание точки останова

Когда все настройки выполнены, расставьте точки останова в модуле вашего HTTP-сервиса. Важно понимать: отладчик сработает только в момент реального обращения к API. Для генерации и тестирования HTTP/HTTPS запросов (GET, POST, PUT) рекомендуется использовать специализированные инструменты.

Отличными решениями будут бесплатные программы, такие как Fiddler или Postman. Сформируйте корректный запрос к опубликованному URL вашего сервиса, отправьте его — и Конфигуратор автоматически перехватит выполнение кода на вашей точке останова.

← На главную