- Подключение к серверу отладки через https, в т.ч. с использованием технологии 1С:Линк
- 1. Введение
- 2. 1С:Линк
- Настройка удаленного подключения к опубликованному серверу отладки
- 3. Настройка веб сервера
- 3.1. Nginx
- 3.2. Настройка сервера IIS
- 4. Ссылки
- Отладка по протоколам HTTP и TCP/IP в 1С
- Предмет отладки
- Выбор протокола отладки
- Протокол отладки TCP/IP
- Подключение предметов отладки
- Протокол отладки HTTP
- Сервер отладки
- Подключение предметов отладки
Подключение к серверу отладки через https, в т.ч. с использованием технологии 1С:Линк
1. Введение
Возникают моменты, когда приходится выполнять отладку по http , находясь во внешней сети. При этом доступ к внутренним ресурсам ограниченный.
Например, имеется внутренняя сеть организации, в которой развернуто окружение разработки, есть несколько серверов и запущен сервер отладки. Разработка и отладка внутри сети выполняется постоянно, и возникающие ошибки исправляются оперативно. Помимо этого продуктивный контур этой организации находится во внешней сети и подключение к основному серверу реализовано с помощью защищенного подключения к веб серверу. Кроме открытого порта 443 доступ к внутренней сети отсутствует. Для того, чтобы выполнить отладку сотруднику приходится просить воспроизведения сценария, либо подключаться удаленно для того, чтобы составить сценарий самостоятельно. Возможности отладки напрямую в такой ситуации отсутствуют.
Решением таких проблем является настройка и перенаправление запросов отладки через соединение с веб сервером, либо использование агента 1С:Link (при условии, что используется данная технология). Ниже представлены примеры настройки перенаправления запросов к серверу отладки для веб серверов Nginx и IIS , а также подключение к серверу отладки с помощью агента 1С:Link .
2. 1С:Линк
При установке агента 1C:Link и публикации сервера, на компьютере на котором расположен сам агент открывается дополнительный тунель для порта 1550 .Канал работает только для локального адреса, без возможности указания порта сервера отладки. Тунель открывается и слушает порт в не зависимости от того, запущен сервер отладки или нет.
Если сервер запущен, то можно проверить его доступность с помощью браузера: введите в адресной строке адрес опубликованного сервера и ресурс /debugger/ (https:// .link.1c.ru/debugger/).
В окне браузера отобразится страница с сообщением:
1C:Enterprise 8.3 Debug Server (8.3.17.1091) © 1C-Soft LLC 1996-2019 — it works!
Настройка удаленного подключения к опубликованному серверу отладки
Настройка выполняется в конфигураторе в меню » Сервис » > » Параметры «, вкладка «Отладка»:
- Протокол отладки : Отладка по протоколу HTTP;
- Адрес удаленного сервера отладки : https:// .link.1c.ru/debugger/);
- Имя информационной базы : опционально, если имя информационной базы не совпадает с именем текущей базы (для которой открыт конфигуратор).
Примените изменения и перезапустите конфигуратор.
Для проверки работоспособности сервера, откройте окно подключения предметов отладки (меню » Отладка » > » Подключение «):
Если при перезапуске конфигуратора возникла ошибка , то необходимо проверить доступность сервера и публикации, с того компьютера, на котором запущен конфигуратор.
Для подключения клиента 1С:Предприятия для отладки, необходимо в параметрах запущенного приложения (» Файл » > » Настройки «) разрешить отладку в текущем сеансе и указать сервер отладки :
После этого подключить необходимый клиент для отладки в конфигураторе.
3. Настройка веб сервера
Предполагается, что сервер отладки запущен на внутреннем сервере и работает на порту 1550 . В качестве имени внутреннего сервера, для примера, является internal. server.01 . Адрес веб сервера external. server.02. Имя ресурса debugger может быть произвольным и используется в качестве примера.
3.1. Nginx
Для того, чтобы можно перенаправлять запросы к северу отладки через Nginx , необходимо добавить в настройки описания доступных ресурсов веб сервера (конфигурационные файлы в sites-available ) следующее правило расположения в секции server:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
После настройки конфигурационного файла убедиться, что команда 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!
3.2. Настройка сервера IIS
Для того, чтобы IIS умел перенаправлять запросы, необходимо установить дополнительно компоненты « URL Rewrite » и « Application Request Routing ». Это можно сделать либо с помощью Web Platform Installer , либо вручную по следующим ссылкам:
После установки в консоли управления IIS для публикации сайта появится новый пункт меню:
Необходимо нажать на новый пункт меню и в открывшемся окне нажать кнопку «Добавить правила».
Откроется окно, в котором укажите адрес внутреннего сервера отладки (internal.server01:1550) и нажмите ОК .
Правило будет создано и его нужно будет открыть из списка правил для дополнительной настройки.
В окне настроек правила укажите следующие параметры:
Для завершения настройки осталось добавить правило перенаправления с порта 443 источника и нажать кнопку « Применить »:
После применения правила перезапустите сервер IIS .
Способ проверки работоспособности перенаправления запросов в сервер отладки, такой же как и при настройке Nginx.
4. Ссылки
1С:Предприятие. Документация :: Глава 32. Отладка и тестирование прикладных решений
Источник
Отладка по протоколам HTTP и TCP/IP в 1С
Отладку можно проводить при помощи двух различных протоколов: по TCP/IP (вариант по умолчанию) и по HTTP, при этом оба протокола предоставляют достаточно похожие возможности. Собственно, эта статья и посвящена рассмотрению особенностей этих двух протоколов, также в ней рассказывается о том, что такое предмет отладки.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Предмет отладки
Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст встроенного языка, который характеризуется такими параметрами как:
- имя пользователя;
- тип предмета отладки;
- номер сеанса;
- имя компьютера и номер порта при отладки по TCP/IP;
- имя информационной базы при отладке по HTTP.
Типы предметов отладки:
- тонкий клиент — код исполняемый в тонком клиенте;
- веб-клиент — код исполняемый в веб-клиенте;
- толстый клиент — код исполняемый в толстом клиенте;
- клиент (мобильное приложение) — код исполняемый в клиентском приложении, на мобильном устройстве (только HTTP);
- сервер — код исполняемый на сервере;
- сервер (файловый вариант) — код исполняемый на сервере, в файловом варианте;
- сервер (мобильное приложение) — код исполняемый на сервере, в файловом варианте, на мобильном устройстве (только HTTP);
- COM-соединение — код исполняемый через внешнее соединение;
- Web-сервис — код исполняемый при вызовах методов Web-сервисов;
- HTTP-сервис — код исполняемый при вызовах методов HTTP-сервисов;
- фоновое задание — код исполняемый в фоновом задании;
- фоновое задание (файловый вариант) — код исполняемый в фоновом задании (в файловом варианте);
- фоновое задание (мобильное приложение) — код исполняемый в фоновом задании (в файловом варианте) на мобильном устройстве (только HTTP).
Подключение предметов отладки зависит от выбранного протокола отладки и поэтому будет рассмотрено ниже.
Выбор протокола отладки
Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:
Выбор протокола отладки
При выборе варианта отладки по протоколу HTTP поля диалога становятся доступными для редактирования. Этот диалог может незначительно отличаться (доступностью полей и значениями по умолчанию) в зависимости от информационной базы.
Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:
- Использовать локальный сервер отладки — вариант в основном для файловых информационных баз, в дополнительных полях можно указать адрес сетевой карты (если их несколько), а также один или несколько диапазонов портов которые будут использоваться для отладки, например: 1560:1591, 7700-8000;
- Использовать удаленный сервер отладки — конфигуратор попытается подключиться к удаленному серверу отладки по указанному адресу и порту;
- Использовать сервер отладки кластера — используется сервер отладки кластера серверов, кластер серверов должен быть запущен в отладочном режиме.
Группа «Имя информационной базы» позволяет указать имя информационной базы, под которым отладчик зарегистрируется на сервере отладки. Если доступ к серверу отладки защищен паролем, то этот пароль можно указать в группе «Доступ».
Протокол отладки TCP/IP
При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).
Подключение предметов отладки
Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
Диалог «Предметы отладки»
В список доступных предметов отладки попадают только те из них, которые отвечают следующим требованиям:
- отладчик и предмет отладки имеют одинаковый идентификатор информационной базы;
- в приложении включена возможность отладки (для сервера — см. первую статью серии, для клиентского приложения — соответствующий параметр командной строки либо свойство в диалоге настройки клиентского приложения либо соответствующие указания в конфигурационном файле);
- отсутствуют в списке подключенных предметов отладки.
«Параметры»)» width=»470″ height=»602″ srcset=»https://1c-programmer-blog.ru/wp-content/uploads/2018/10/nastrojki-klientskogo-prilozheniya.jpg 470w, https://1c-programmer-blog.ru/wp-content/uploads/2018/10/nastrojki-klientskogo-prilozheniya-234×300.jpg 234w» sizes=»(max-width: 470px) 100vw, 470px»/> Настройки клиентского приложения («Сервис»->»Параметры»)
Кнопка «Настройка…» открывается окно с настройками:
Настройки отладчика
В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).
Некоторые типы предметов отладки остаются доступными для подключения очень непродолжительное время, в этом случае нужно воспользоваться настройками автоматического подключения предметов отладки:
Настройки автоматического подключения
Настройку отладки сервисов (Web, HTTP, OData) в файловой базе следует выполнять в диалоге публикации на веб-сервере (подробнее об этом в следующей статье).
Протокол отладки HTTP
Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7. При этом для отладки клиент-серверной информационной базы сервер должен быть запущен в режим отладки по протоколу HTTP, о том как это сделать читайте в предыдущей статье серии.
Основное отличие отладки по протоколу HTTP заключается в наличии специального приложения — сервер отладки, который занимается координацией процесса отладки. Отладчик и предметы отладки общаются с сервером отладки по протоколу HTTP, поэтому нужно убедиться, что протокол HTTP не блокируется какими-либо прокси-серверами, брандмауэрами или чем-то другим.
Сервер отладки
Сервер отладки обычно запускается конфигуратором (в файловом варианте) или кластером серверов (если кластер запущен в режиме отладки).
Кроме этого сервер отладки может быть запущен вручную — для реализации нетривиальных сценариев отладки.
Сервер отладки (dbgs) находится в каталоге bin, параметр —help покажет информацию об имеющихся параметрах запуска (там все довольно понятно), пример запуска:
C:\Program Files\1cv8\8.3.13.1513\bin\dbgs -a 192.168.0.170 -p 4000
Сервер отладки готов к работе
Подключение предметов отладки
Как и в случае с отладкой по протоколу TCP/IP, для выполнения отладки по HTTP требуется, что бы предмет отладки был подключен. Управления предметами отладки все также происходит в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
Подключение предметов отладки
В список доступных предметов отладки попадают все предметы отладки зарегистрированные на используемом сервере отладки для информационной базы, имя которой указывается в настройках (см. «Выбор протокола отладки»).
Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:
Отбор предметов отладки
В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:
Настройки отладчика (HTTP)
Для настройки автоматического подключения предметов отладки существует специальный диалог:
Настройка автоматического подключения предметов отладки (HTTP)
В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник