Dokumentacja wiersza polecenia tuneli deweloperskich

Tunele deweloperskie oferują narzędzie interfejsu wiersza polecenia do tworzenia tuneli deweloperskich i zarządzania nimi. W tym artykule opisano składnię i parametry dla różnych devtunnel poleceń interfejsu wiersza polecenia.

Ważne

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.

Uwaga

devtunnel Polecenia interfejsu wiersza polecenia są w wersji zapoznawczej. Nazwy poleceń i opcje mogą ulec zmianie w przyszłych wersjach.

Opcje globalne

  • -v, --verbose: Włącz pełne dane wyjściowe.
  • -?, -h, --help: Pokaż informacje o pomocy i użyciu.

Zarządzanie poświadczeniami użytkownika

Usługa tunelowania deweloperskiego wymaga logowania do autoryzowania zarządzania tunelami deweloperskimi i dostępu do tych tuneli. Domyślnie tunel deweloperski jest dostępny tylko dla użytkownika, który utworzył tunel deweloperski, chociaż ten użytkownik może udzielić dostępu innym osobom.

Po zalogowaniu token logowania jest buforowany w łańcuchu bezpiecznych kluczy systemu i jest ważny przez kilka dni przed wygaśnięciem. Wylogowywanie z interfejsu wiersza polecenia czyści ten buforowany token, ale nie czyści żadnych plików cookie przeglądarki. Może to obejmować tokeny dostępu tunelu deweloperskiego, jeśli przeglądarka została użyta do uwierzytelniania za pomocą tunelu deweloperskiego.

Polecenie opis
devtunnel user login Zaloguj się przy użyciu konta Microsoft lub GitHub.
devtunnel user logout Czyszczenie buforowanego tokenu
devtunnel user show Pokaż bieżący stan logowania

Napiwek

devtunnel login i devtunnel logout to skrótowe polecenia do logowania się i wylogowywania.

Oto kilka przykładów użycia tych poleceń:

Przykłady opis
devtunnel user login Zaloguj się przy użyciu organizacji firmy Microsoft (Microsoft Entra ID) lub konta osobistego
devtunnel user login -g Logowanie przy użyciu konta usługi GitHub
devtunnel user login -d Zaloguj się przy użyciu konta usługi GitHub przy użyciu logowania za pomocą kodu urządzenia, jeśli logowanie do lokalnej interakcyjnej przeglądarki nie jest możliwe
devtunnel user login -g -d Zaloguj się przy użyciu konta usługi GitHub przy użyciu logowania za pomocą kodu urządzenia, jeśli logowanie do lokalnej interakcyjnej przeglądarki nie jest możliwe

Hostowanie tunelu deweloperskiego

devtunnel host jest głównym poleceniem używanym do hostowania tunelu deweloperskiego. Polecenie powinno być uruchamiane w systemie hosta z uruchomionym serwerem, który ma być dostępny za pośrednictwem tunelu deweloperskiego.

Polecenie opis
devtunnel host Hostowanie tunelu deweloperskiego. Jeśli nie określono identyfikatora tunelu deweloperskiego, zostanie utworzony nowy tymczasowy tunel deweloperski, który zostanie usunięty po zamknięciu połączenia.

Oto kilka przykładów użycia tego polecenia:

Przykłady opis
devtunnel host -p 3000 Hostowanie tymczasowego tunelu deweloperskiego dla serwera nasłuchiwania portu 3000 w systemie hosta.
devtunnel host -p 3000 --allow-anonymous Hostowanie tymczasowego tunelu deweloperskiego i włączanie dostępu anonimowego klienta.
devtunnel host -p 3000 5000 Hostowanie tymczasowego tunelu deweloperskiego dla serwerów lokalnych nasłuchuje na portach 3000 i 5000.
devtunnel host -p 8443 --protocol https Hostowanie tymczasowego tunelu deweloperskiego dla serwera nasłuchiwania na porcie 8443 używającym protokołu HTTPS.
devtunnel host -p 8000 --expiration 2d Hostowanie tymczasowego tunelu deweloperskiego z niestandardowym czasem wygaśnięcia. Wartość minimalna to 1 godzina (1h), a wartość maksymalna to 30 dni (30d).
devtunnel host TUNNELID Hostowanie istniejącego tunelu deweloperskiego, który został wcześniej skonfigurowany.

Ostrzeżenie

Zezwolenie na anonimowy dostęp do tunelu deweloperskiego oznacza, że każda osoba w Internecie może nawiązać połączenie z serwerem lokalnym, jeśli może odgadnąć identyfikator tunelu deweloperskiego.

Naciśnij klawisze Control-C , aby zatrzymać proces hosta tunelu deweloperskiego i przerwać wszystkie połączenia klienta za pośrednictwem tunelu deweloperskiego. Jeśli nie podano istniejącego tunelu deweloperskiego, tunel deweloperski, który został utworzony automatycznie przez proces, zostanie usunięty po zakończeniu procesu.

Połączenie do tunelu deweloperskiego

Korzystanie z interfejsu użytkownika przekazywania internetowego:

Polecenie devtunnel host wyświetla dane wyjściowe podobne do następujących:

Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/

Wyświetlany https: identyfikator URI jest unikatowy dla portu tunelu deweloperskiego: pierwszy składnik jest poddomeną zawierającą podany identyfikator tunelu deweloperskiego i numer portu.

Jeśli hostowany port łączy się z serwerem internetowym, ten identyfikator URI można otworzyć bezpośrednio w przeglądarce z dowolnego miejsca. Jeśli dostęp do tunelu deweloperskiego wymaga autoryzacji, początkowe żądanie do identyfikatora URI nastąpi przekierowanie do strony logowania i powrót do witryny po autoryzowaniu użytkownika.

Jeśli hostowany port łączy się z usługą internetową, ten identyfikator URI może być używany jako podstawowy identyfikator URI przez aplikację kliencką usługi internetowej. Jeśli jednak tunel deweloperski nie zezwala na dostęp anonimowy, klient usługi internetowej zwykle nie będzie wiedzieć, jak się uwierzytelniać. Jeśli usługa internetowa jest bezpieczna do publicznego ujawnienia, rozważ zezwolenie na dostęp anonimowy. W przeciwnym razie klient usługi internetowej może dodać nagłówek żądania z tokenem dostępu tunelu deweloperskiego, aby autoryzować połączenie.

Przy użyciu interfejsu wiersza polecenia:

Zamiast mieć przeglądarkę klienta lub aplikację, połącz się bezpośrednio z identyfikatorem URI przekaźnika tunelu deweloperskiego, interfejs wiersza polecenia może służyć do przekazywania połączeń z portu na kliencie do portu tunelu deweloperskiego. Klient może również wymagać zalogowania się, jeśli tunel deweloperski nie zezwala na dostęp anonimowy.

devtunnel connect TUNNELID
  • Zastąp TUNNELID ciąg tym samym identyfikatorem tunelu deweloperskiego, który został użyty na hoście.

Pomyślne dane wyjściowe klienta są podobne do następujących:

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.

Teraz serwer udostępniony na porcie 3000 hosta jest dostępny na localhost:3000 kliencie przy użyciu protokołu IPv4 lub IPv6. (Prefiks "SSH" jest spowodowany tym, że usługa tunelowania deweloperskiego jest oparta na standardowym protokole SSH na potrzeby przekazywania portów). Jeśli hostowany port łączy się z serwerem internetowym, http://localhost:3000/ można go otworzyć w przeglądarce. W takim przypadku nie jest wymagana żadna dalsza autoryzacja, ponieważ w razie potrzeby token logowania interfejsu wiersza polecenia klienta został użyty do autoryzacji połączenia.

Zaawansowane: zarządzanie tunelami deweloperskimi

Istnieje możliwość utworzenia tunelu deweloperskiego bez jego hostowania. Jest to przydatne w przypadku zaawansowanej konfiguracji tunelu deweloperskiego i zarządzania nimi, takich jak:

  • Wyświetlanie listy wszystkich należących do niego tuneli deweloperskich
  • Dodawanie i usuwanie portów tunelu deweloperskiego
  • Zarządzanie mechanizmami kontroli dostępu tunelu deweloperskiego
  • Dodawanie metadanych do tunelu deweloperskiego, takiego jak opis i tagi
Polecenie opis
devtunnel create Tworzenie trwałego tunelu deweloperskiego
devtunnel list Wyświetlanie listy tuneli deweloperskich
devtunnel show Pokaż szczegóły tunelu deweloperskiego
devtunnel update Aktualizowanie właściwości tunelu deweloperskiego
devtunnel delete Usuwanie tunelu deweloperskiego
devtunnel delete-all Usuń wszystkie tunele deweloperskie

Oto kilka przykładów użycia tych poleceń:

Przykłady opis
devtunnel create -a Utwórz trwały tunel deweloperski, który umożliwia dostęp anonimowy.
devtunnel create -d 'my tunnel description' Utwórz trwały tunel deweloperski z opisem niemożliwym do wyszukania.
devtunnel create --expiration 4h Utwórz trwały tunel deweloperski z niestandardowym czasem wygaśnięcia. Wartość minimalna to 1 godzina (1h), a wartość maksymalna to 30 dni (30d).
devtunnel create myTunnelID Utwórz trwały tunel deweloperski z niestandardowym identyfikatorem tunelu.
devtunnel create --tags my-web-app v1 Utwórz trwały tunel deweloperski i zastosuj tagi z możliwością wyszukiwania.
devtunnel list --tags my-web-app Wyświetl listę tuneli deweloperskich, które mają dowolny z określonych tagów.
devtunnel list --all-tags my-web-app v1 Wyświetl listę tuneli deweloperskich, które mają wszystkie określone tagi.
devtunnel show Pokaż szczegóły ostatniego używanego tunelu deweloperskiego.
devtunnel show TUNNELID Pokaż szczegóły tunelu deweloperskiego.
devtunnel update TUNNELID -d 'my new tunnel description' Zaktualizuj opis tunelu deweloperskiego.
devtunnel update TUNNELID --remove-tags Usuń wszystkie tagi z tunelu deweloperskiego.
devtunnel update TUNNELID --expiration 10d Zaktualizuj tunel deweloperski przy użyciu nowego niestandardowego czasu wygaśnięcia. Wartość minimalna to 1 godzina (1h), a wartość maksymalna to 30 dni (30d).
devtunnel delete TUNNELID Usuń tunel deweloperski.
devtunnel delete-all Usuń wszystkie tunele deweloperskie.

Napiwek

Większość poleceń interfejsu wiersza polecenia działa niejawnie na ostatnio używanym tunelu deweloperskim, chociaż istnieje możliwość określenia identyfikatora tunelu deweloperskiego w razie potrzeby.

Zaawansowane: zarządzanie portami tunelu deweloperskiego

Tunel deweloperski utworzony przy użyciu devtunnel create polecenia początkowo nie ma portów. Użyj devtunnel port poleceń, aby dodać porty przed hostem:

Polecenie opis
devtunnel port create Tworzenie portu tunelu deweloperskiego
devtunnel port list Wyświetlanie listy portów tunelu deweloperskiego
devtunnel port show Pokaż szczegóły portu tunelu deweloperskiego
devtunnel port update Aktualizowanie właściwości portu tunelu deweloperskiego
devtunnel port delete Usuwanie portu tunelu deweloperskiego
Przykłady opis
devtunnel port create -p 3000 --protocol http Dodawanie portu z określonym protokołem
devtunnel port list TUNNELID Wyświetlanie listy bieżących portów
devtunnel port show TUNNELID -p 3000 Pokaż szczegóły portu 3000
devtunnel port update -p 3000 --description 'frontend port' Aktualizowanie opisu portu tunelu deweloperskiego
devtunnel port delete -p 3000 Usuwanie portu

Podczas tworzenia portu można opcjonalnie określić protokół, jeśli automatyczne wykrywanie nie działa prawidłowo. Bieżące opcje to "http", "https" lub "auto" (ustawienie domyślne). Jeśli hostowany port to HTTPS, zaleca się ustawienie protokołu portu na "https"; w przeciwnym razie "auto" jest prawdopodobnie w porządku.

Po skonfigurowaniu tunelu deweloperskiego przy użyciu powyższych poleceń rozpocznij hostowanie go:

devtunnel host

Zaawansowane: zarządzanie dostępem do tunelu deweloperskiego

Za pomocą następujących poleceń tokeny dostępu tunelu deweloperskiego mogą być wystawiane w celu zapewnienia innym klientom dostępu do tunelu deweloperskiego bez zezwalania na dostęp anonimowy. Polecenia wejścia kontroli dostępu umożliwiają konfigurowanie kontroli dostępu w tunelach deweloperskich i portach tuneli deweloperskich.

Polecenie opis
devtunnel token Problem z tokenem dostępu tunelu deweloperskiego
devtunnel access create Tworzenie wpisu kontroli dostępu
devtunnel access list Wyświetlanie listy wpisów kontroli dostępu
devtunnel access delete Usuwanie wpisu kontroli dostępu
devtunnel access reset Zresetuj wpisy kontroli dostępu do domyślnego

Oto kilka przykładów użycia tych poleceń:

Przykłady opis
devtunnel token TUNNELID --scopes connect Uzyskaj token dostępu "connect" dla tunelu deweloperskiego, który można udostępnić w celu tymczasowego dostępu do tunelu deweloperskiego.
devtunnel access create TUNNELID --anonymous Włącz anonimowy dostęp klienta w tunelu deweloperskim.
devtunnel access create TUNNELID --anonymous --expiration 4h Włącz anonimowy dostęp klienta w tunelu deweloperskim z niestandardowym czasem wygaśnięcia kontroli dostępu. Wartość minimalna to 1 godzina (1h), a wartość maksymalna to 30 dni (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Włącz anonimowy dostęp klienta na porcie 3000.
devtunnel access create TUNNELID --tenant Włącz bieżący dostęp do dzierżawy firmy Microsoft Entra w tunelu deweloperskim.
devtunnel access create TUNNELID --org ORG Włącz dostęp organizacji usługi GitHub według nazwy w tunelu deweloperskim.

Napiwek

Dostęp do organizacji w usłudze GitHub wymaga zainstalowania aplikacji GitHub Dev Tunnels w organizacji.

Polecenia dodatkowe

Te polecenia mogą być używane, jeśli musisz jawnie ustawić lub usunąć tę lokalną pamięć podręczną ostatniego używanego tunelu deweloperskiego.

Polecenie opis
devtunnel set Ustawianie domyślnego tunelu deweloperskiego
devtunnel unset Wyczyść domyślny tunel deweloperski

Polecenia diagnostyczne

Polecenie opis
devtunnel clusters Wyświetlanie listy dostępnych klastrów usług według lokalizacji
devtunnel echo Uruchamianie serwera echa diagnostycznego na porcie lokalnym
devtunnel ping Wysyłanie komunikatów diagnostycznych do zdalnego serwera echa
Przykłady opis
devtunnel clusters --ping Wyświetl listę dostępnych klastrów usług posortowanych według mierzonego opóźnienia.
devtunnel echo http --port 8080 --interface 127.0.0.1 Uruchom lokalny serwer diagnostyczny HTTP na porcie 8080.

Rozwiązywanie problemów

Aby rozwiązać problemy z interfejsem devtunnel wiersza polecenia, przydatne mogą być następujące porady:

  • Upewnij się, że korzystasz z najnowszej wersji interfejsu devtunnel wiersza polecenia. Sprawdź aktualnie zainstalowaną wersję za pomocą polecenia devtunnel --version.
  • Opcja --verbose wyświetla komunikaty debugowania, które mogą dostarczać dodatkowe informacje diagnostyczne.