Инструкции
06.04.2020
Возникают моменты, когда приходится выполнять отладку по http, находясь во внешней сети. При этом доступ к внутренним ресурсам ограниченный.
Например, имеется внутренняя сеть организации, в которой развернуто окружение разработки, есть несколько серверов и запущен сервер отладки. Разработка и отладка внутри сети выполняется постоянно, и возникающие ошибки исправляются оперативно. Помимо этого продуктивный контур этой организации находится во внешней сети и подключение к основному серверу реализовано с помощью защищенного подключения к веб серверу. Кроме открытого порта 443 доступ к внутренней сети отсутствует. Для того, чтобы выполнить отладку сотруднику приходится просить воспроизведения сценария, либо подключаться удаленно для того, чтобы составить сценарий самостоятельно. Возможности отладки напрямую в такой ситуации отсутствуют.
Решением таких проблем является настройка и перенаправление запросов отладки через соединение с веб сервером, либо использование агента 1С:Link (при условии, что используется данная технология). Ниже представлены примеры настройки перенаправления запросов к серверу отладки для веб серверов Nginx и IIS, а также подключение к серверу отладки с помощью агента 1С:Link.
При установке агента 1C:Link и публикации сервера, на компьютере на котором расположен сам агент открывается дополнительный тунель для порта 1550.Канал работает только для локального адреса, без возможности указания порта сервера отладки. Тунель открывается и слушает порт в не зависимости от того, запущен сервер отладки или нет.
Если сервер запущен, то можно проверить его доступность с помощью браузера: введите в адресной строке адрес опубликованного сервера и ресурс /debugger/ (https://<my-server>.link.1c.ru/debugger/).
В окне браузера отобразится страница с сообщением:
1C:Enterprise 8.3 Debug Server (8.3.17.1091) © 1C-Soft LLC 1996-2019 - it works!
Настройка выполняется в конфигураторе в меню "Сервис" > "Параметры", вкладка "Отладка":
Примените изменения и перезапустите конфигуратор.
Для проверки работоспособности сервера, откройте окно подключения предметов отладки (меню "Отладка" > "Подключение"):
Если при перезапуске конфигуратора возникла ошибка, то необходимо проверить доступность сервера и публикации, с того компьютера, на котором запущен конфигуратор.
Для подключения клиента 1С:Предприятия для отладки, необходимо в параметрах запущенного приложения ("Файл" > "Настройки") разрешить отладку в текущем сеансе и указать сервер отладки:
После этого подключить необходимый клиент для отладки в конфигураторе.
Предполагается, что сервер отладки запущен на внутреннем сервере и работает на порту 1550. В качестве имени внутреннего сервера, для примера, является internal.server.01. Адрес веб сервера external.server.02. Имя ресурса debugger может быть произвольным и используется в качестве примера.
Для того, чтобы можно перенаправлять запросы к северу отладки через Nginx, необходимо добавить в настройки описания доступных ресурсов веб сервера (конфигурационные файлы в sites-available) следующее правило расположения в секции server:
Server{
…
location /debugger/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Accept-Encoding "";
proxy_pass http://internal.server.01:1550/;
}
…
}
После настройки конфигурационного файла убедиться, что команда nginx –t не возвращает информацию об ошибках.
Проверить доступность сервера можно с помощью браузера: введите в адресной строке адрес внешнего сервера и ресурс /debugger/ (https://external.server.02/debugger/). В окне браузера отобразится страница с сообщением:
1C:Enterprise 8.3 Debug Server (8.3.17.1091) © 1C-Soft LLC 1996-2019 - it works!
Для того, чтобы IIS умел перенаправлять запросы, необходимо установить дополнительно компоненты «URL Rewrite» и «Application Request Routing». Это можно сделать либо с помощью Web Platform Installer, либо вручную по следующим ссылкам:
https://www.iis.net/downloads/microsoft/url-rewrite
https://www.iis.net/downloads/microsoft/application-request-routing
После установки в консоли управления IIS для публикации сайта появится новый пункт меню:
Необходимо нажать на новый пункт меню и в открывшемся окне нажать кнопку «Добавить правила».
Откроется окно, в котором укажите адрес внутреннего сервера отладки (internal.server01:1550) и нажмите ОК.
Правило будет создано и его нужно будет открыть из списка правил для дополнительной настройки.
В окне настроек правила укажите следующие параметры:
Для завершения настройки осталось добавить правило перенаправления с порта 443 источника и нажать кнопку «Применить»:
После применения правила перезапустите сервер IIS.
Способ проверки работоспособности перенаправления запросов в сервер отладки, такой же как и при настройке Nginx.
1С:Предприятие. Документация :: Глава 32. Отладка и тестирование прикладных решений
https://its.1c.ru/db/v83doc#bookmark:dev:TI000001030
1C:Link