Справочник по командной строке для туннелей разработки
Туннели разработки предлагают средство интерфейса командной строки (CLI) для создания туннель разработки и управления ими. В этой статье описаны синтаксис и параметры для различных devtunnel
команд CLI.
Важно!
Эта функция сейчас доступна в виде общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания. Ее не следует использовать для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены.
Примечание.
devtunnel
Команды CLI доступны в предварительной версии. Имена команд и параметры могут изменяться в будущих выпусках.
Глобальные параметры
-v, --verbose
: включите подробные выходные данные.-?, -h, --help
: отображение сведений о справке и использовании.
Управление учетными данными пользователя
Служба туннеля разработки требует входа для авторизации управления и доступа к туннель разработки. По умолчанию туннель разработки доступен только пользователю, создавшему туннель разработки, хотя этот пользователь может предоставить доступ другим пользователям.
После входа маркер входа кэшируется в системной безопасной цепочке ключей и действителен в течение нескольких дней до истечения срока действия. Выход из интерфейса командной строки очищает этот кэшированный маркер, но не очищает файлы cookie браузера. Это может включать маркеры доступа к туннелю разработки, если браузер использовался для проверки подлинности с помощью туннеля разработки.
Команда | Description |
---|---|
devtunnel user login |
Войдите с помощью учетной записи Майкрософт или GitHub. |
devtunnel user logout |
Очистка кэшированного маркера |
devtunnel user show |
Отображение текущего состояния входа |
Совет
devtunnel login
и devtunnel logout
являются короткими командами для входа и выхода.
Ниже приведены некоторые примеры использования этих команд:
Примеры | Description |
---|---|
devtunnel user login |
Вход с помощью организации Майкрософт (идентификатор Microsoft Entra) или личная учетная запись |
devtunnel user login -g |
Вход с помощью учетной записи GitHub |
devtunnel user login -d |
Вход с помощью учетной записи GitHub с именем входа в код устройства, если имя входа локального интерактивного браузера невозможно |
devtunnel user login -g -d |
Вход с помощью учетной записи GitHub с именем входа в код устройства, если имя входа локального интерактивного браузера невозможно |
Размещение туннеля разработки
devtunnel host
— это основная команда, используемая для размещения туннеля разработки. Команда должна выполняться в хост-системе под управлением сервера, доступного через туннель разработки.
Команда | Description |
---|---|
devtunnel host |
Размещение туннеля разработки. Если идентификатор туннеля разработки не указан, создается новый временный туннель разработки, который удаляется после закрытия подключения. |
Ниже приведены некоторые примеры использования этой команды:
Примеры | Description |
---|---|
devtunnel host -p 3000 |
Размещение временного туннеля разработки для сервера, прослушивающего порт 3000 в системе узла. |
devtunnel host -p 3000 --allow-anonymous |
Разместите временный туннель разработки и включите анонимный клиентский доступ. |
devtunnel host -p 3000 5000 |
Размещение временного туннеля разработки для локальных серверов, прослушивающих порты 3000 и 5000. |
devtunnel host -p 8443 --protocol https |
Размещение временного туннеля разработки для сервера, прослушивающего порт 8443, использующего протокол HTTPS. |
devtunnel host -p 8000 --expiration 2d |
Размещение временного туннеля разработки с пользовательским временем окончания срока действия. Минимальное значение — 1 час (1 ч), а максимальное — 30 дней (30d). |
devtunnel host TUNNELID |
Размещение существующего туннеля разработки, настроенного ранее. |
Предупреждение
Разрешение анонимного доступа к туннелю разработки означает, что любой пользователь в Интернете может подключиться к локальному серверу, если он может угадать идентификатор туннеля разработки.
Нажмите клавиши Control-C , чтобы остановить процесс узла туннеля разработки и завершить любые клиентские подключения через туннель разработки. Если существующий туннель разработки не был предоставлен, туннель разработки, который был автоматически создан процессом, будет удален при выходе процесса.
Подключение в туннель разработки
Использование пользовательского интерфейса пересылки в Интернете:
Команда devtunnel host
отображает выходные данные, аналогичные следующим:
Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/
Отображаемый https:
URI является уникальным для порта туннеля разработки: первый компонент — это поддомен, содержащий заданный идентификатор туннеля разработки и номер порта.
Если размещенный порт подключается к веб-серверу, этот URI можно открыть непосредственно в браузере в любом месте. Если для доступа к туннелю разработки требуется авторизация, первоначальный запрос к URI перенаправится на страницу входа и вернется на сайт после того, как пользователь авторизован.
Если размещенный порт подключается к веб-службе, этот URI можно использовать в качестве базового URI клиентского приложения веб-службы. Однако если туннель разработки не разрешает анонимный доступ, клиент веб-службы обычно не знает, как пройти проверку подлинности. Если веб-служба безопасна для предоставления общедоступного доступа, рассмотрите возможность анонимного доступа. В противном случае клиент веб-службы может добавить заголовок запроса с маркером доступа к туннелю разработки для авторизации подключения.
Использование интерфейса командной строки:
Вместо подключения клиентского браузера или приложения непосредственно к URI ретранслятора разработки интерфейс командной строки можно использовать для пересылки подключений из порта на клиент к порту разработки. Клиенту также может потребоваться войти в систему, если туннель разработки не разрешает анонимный доступ.
devtunnel connect TUNNELID
- Замените
TUNNELID
на тот же идентификатор туннеля разработки, который использовался на узле.
Успешный вывод клиента аналогичен следующему:
Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.
Теперь сервер, который был предоставлен на порте узла 3000, доступен на localhost:3000
клиенте с помощью IPv4 или IPv6. (Префикс SSH заключается в том, что служба туннеля разработки строится на стандартном протоколе SSH для перенаправления портов.) Если размещенный порт подключается к веб-серверу, http://localhost:3000/
его можно открыть в браузере. В этом случае дополнительная авторизация не требуется, так как маркер входа интерфейса командной строки клиента использовался для авторизации подключения при необходимости.
Дополнительно: управление туннель разработки
Можно создать туннель разработки, не размещая его. Это полезно для расширенной конфигурации и управления туннелем разработки, например:
- Перечисление всех принадлежащих туннель разработки
- Добавление и удаление портов туннеля разработки
- Управление элементами управления доступом к туннелю разработки
- Добавление метаданных в туннель разработки, например описание и теги
Команда | Description |
---|---|
devtunnel create |
Создание постоянного туннеля разработки |
devtunnel list |
Список туннель разработки |
devtunnel show |
Отображение сведений о туннеле разработки |
devtunnel update |
Обновление свойств туннеля разработки |
devtunnel delete |
Удаление туннеля разработки |
devtunnel delete-all |
Удаление всех туннель разработки |
Ниже приведены некоторые примеры использования этих команд:
Примеры | Description |
---|---|
devtunnel create -a |
Создайте постоянный туннель разработки, который разрешает анонимный доступ. |
devtunnel create -d 'my tunnel description' |
Создайте постоянный туннель разработки с описанием без поиска. |
devtunnel create --expiration 4h |
Создайте постоянный туннель разработки с настраиваемым временем окончания срока действия. Минимальное значение — 1 час (1 ч), а максимальное — 30 дней (30d). |
devtunnel create myTunnelID |
Создайте постоянный туннель разработки с помощью пользовательского идентификатора туннеля. |
devtunnel create --tags my-web-app v1 |
Создайте постоянный туннель разработки и примените теги, доступные для поиска. |
devtunnel list --tags my-web-app |
Список туннель разработки с любым из указанных тегов. |
devtunnel list --all-tags my-web-app v1 |
Список туннель разработки со всеми указанными тегами. |
devtunnel show |
Отображение сведений о последнем используемом туннеле разработки. |
devtunnel show TUNNELID |
Отображение сведений о туннелье разработки. |
devtunnel update TUNNELID -d 'my new tunnel description' |
Обновите описание туннеля разработки. |
devtunnel update TUNNELID --remove-tags |
Удалите все теги из туннеля разработки. |
devtunnel update TUNNELID --expiration 10d |
Обновите туннель разработки с новым пользовательским временем окончания срока действия. Минимальное значение — 1 час (1 ч), а максимальное — 30 дней (30d). |
devtunnel delete TUNNELID |
Удаление туннеля разработки. |
devtunnel delete-all |
Удалите все туннель разработки. |
Совет
Большинство команд CLI работают с последним используемым туннельом разработки неявно, хотя при необходимости можно указать идентификатор туннеля разработки.
Дополнительно. Управление портами туннеля разработки
Туннель разработки devtunnel create
, созданный с помощью команды, изначально не имеет портов. Используйте devtunnel port
команды для добавления портов перед размещением:
Команда | Description |
---|---|
devtunnel port create |
Создание порта туннеля разработки |
devtunnel port list |
Вывод списка портов туннеля разработки |
devtunnel port show |
Отображение сведений о порте туннеля разработки |
devtunnel port update |
Обновление свойств порта порта для разработки |
devtunnel port delete |
Удаление порта туннеля разработки |
Примеры | Description |
---|---|
devtunnel port create -p 3000 --protocol http |
Добавление порта с указанным протоколом |
devtunnel port list TUNNELID |
Вывод списка текущих портов |
devtunnel port show TUNNELID -p 3000 |
Отображение сведений о порте 3000 |
devtunnel port update -p 3000 --description 'frontend port' |
Обновление описания порта туннеля разработки |
devtunnel port delete -p 3000 |
Удаление порта |
При создании порта протокол может быть указан при необходимости, если автоматическое обнаружение не работает должным образом. Текущие параметры: http, https или auto (по умолчанию). Если размещенный порт — HTTPS, рекомендуется задать для протокола порта значение https; в противном случае "авто", вероятно, хорошо.
После настройки туннеля разработки с помощью приведенных выше команд запустите его размещение:
devtunnel host
Дополнительно. Управление доступом к туннелю разработки
С помощью следующих команд маркеры доступа к туннелям разработки можно выдавать для предоставления другим клиентам доступа к туннелю разработки без предоставления анонимного доступа. Команды управления доступом позволяют настроить управление доступом на туннель разработки и портах туннеля разработки.
Команда | Description |
---|---|
devtunnel token |
Проблема маркера доступа к туннелю разработки |
devtunnel access create |
Создание записи управления доступом |
devtunnel access list |
Перечисление записей управления доступом |
devtunnel access delete |
Удаление записи управления доступом |
devtunnel access reset |
Сброс записей управления доступом по умолчанию |
Ниже приведены некоторые примеры использования этих команд:
Примеры | Description |
---|---|
devtunnel token TUNNELID --scopes connect |
Получите маркер доступа connect для туннеля разработки, который можно предоставить временному доступу к туннелю разработки. |
devtunnel access create TUNNELID --anonymous |
Включите анонимный доступ к клиенту в туннеле разработки. |
devtunnel access create TUNNELID --anonymous --expiration 4h |
Включите анонимный клиентский доступ в туннеле разработки с пользовательским временем истечения срока действия управления доступом. Минимальное значение — 1 час (1 ч), а максимальное — 30 дней (30d). |
devtunnel access create TUNNELID --port 3000 --anonymous |
Включите анонимный доступ к клиенту через порт 3000. |
devtunnel access create TUNNELID --tenant |
Включите текущий доступ клиента Microsoft Entra в туннеле разработки. |
devtunnel access create TUNNELID --org ORG |
Включите доступ организации GitHub по имени в туннеле разработки. |
Совет
Для доступа организации GitHub требуется установка приложения GitHub Dev Tunnels на организацию.
Дополнительные команды
Эти команды можно использовать, если необходимо явно задать или отменить этот локальный кэш последнего используемого туннеля разработки.
Команда | Description |
---|---|
devtunnel set |
Установка туннеля разработки по умолчанию |
devtunnel unset |
Очистить туннель разработки по умолчанию |
Команды диагностики
Команда | Description |
---|---|
devtunnel clusters |
Список доступных кластеров служб по расположению |
devtunnel echo |
Запуск сервера эхо диагностики на локальном порту |
devtunnel ping |
Отправка диагностических сообщений на удаленный эхо-сервер |
Примеры | Description |
---|---|
devtunnel clusters --ping |
Список доступных кластеров служб, отсортированных по измеренной задержке. |
devtunnel echo http --port 8080 --interface 127.0.0.1 |
Запустите локальный http-диагностический сервер через порт 8080. |
Устранение неполадок
Чтобы устранить проблемы с интерфейсом командной devtunnel
строки, могут быть полезны следующие советы.
- Убедитесь, что вы используете последнюю версию интерфейса командной
devtunnel
строки. Проверьте текущую установленную версию сdevtunnel --version
помощью . - Параметр
--verbose
печатает отладочные сообщения, которые могут предоставлять дополнительные диагностические сведения.