Dela via


Kommandoradsreferens för Dev Tunnels

Dev-tunnlar erbjuder ett kommandoradsgränssnitt (CLI) för att skapa och hantera utvecklingstunnlar. I den här artikeln beskrivs syntaxen och parametrarna för de olika devtunnel CLI-kommandona.

Viktigt!

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Kommentar

devtunnel CLI-kommandon finns i förhandsversion. Kommandonamn och alternativ kan ändras i framtida versioner.

Globala alternativ

  • -v, --verbose: Aktivera utförliga utdata.
  • -?, -h, --help: Visa hjälp- och användningsinformation.

Hantera autentiseringsuppgifter för användare

Utvecklingstunneltjänsten kräver inloggning för att auktorisera hantering av och åtkomst till utvecklingstunnlar. Som standard är en utvecklingstunnel endast tillgänglig för den användare som skapade utvecklingstunneln, även om den användaren kan bevilja åtkomst till andra.

När du har loggat in cachelagras inloggningstoken i systemsäkerhetsnyckelkedjan och är giltig i flera dagar innan den upphör att gälla. När du loggar ut från CLI rensas den cachelagrade token, men inga webbläsarcookies rensas. Detta kan inkludera dev tunnel-åtkomsttoken om en webbläsare användes för att autentisera med en utvecklingstunnel.

Kommando beskrivning
devtunnel user login Logga in med ett Microsoft- eller GitHub-konto.
devtunnel user logout Rensa den cachelagrade token
devtunnel user show Visa aktuell inloggningsstatus

Dricks

devtunnel login och devtunnel logout är korta kommandon för att logga in och ut.

Här följer några exempel på användning av dessa kommandon:

Exempel beskrivning
devtunnel user login Logga in med en Microsoft-organisation (Microsoft Entra-ID) eller ett personligt konto
devtunnel user login -g Logga in med ett GitHub-konto
devtunnel user login -d Logga in med ett GitHub-konto med enhetskodinloggning, om lokal interaktiv webbläsarinloggning inte är möjlig
devtunnel user login -g -d Logga in med ett GitHub-konto med enhetskodinloggning, om lokal interaktiv webbläsarinloggning inte är möjlig

Värd för en utvecklingstunnel

devtunnel host är huvudkommandot som används som värd för utvecklingstunneln. Kommandot ska köras på värdsystemet som kör den server som du vill ska vara tillgänglig via utvecklingstunneln.

Kommando beskrivning
devtunnel host Värd för en utvecklingstunnel. Om ett utvecklingstunnel-ID inte har angetts skapas en ny tillfällig utvecklingstunnel som tas bort när anslutningen stängs.

Här följer några exempel på användning av det här kommandot:

Exempel beskrivning
devtunnel host -p 3000 Värd för en tillfällig utvecklingstunnel för en server som lyssnar port 3000 på värdsystemet.
devtunnel host -p 3000 --allow-anonymous Värd för en tillfällig utvecklingstunnel och aktivera anonym klientåtkomst.
devtunnel host -p 3000 5000 Värd för en tillfällig utvecklingstunnel för lokala servrar som lyssnar på portarna 3000 och 5000.
devtunnel host -p 8443 --protocol https Värd för en tillfällig utvecklingstunnel för en server som lyssnar på port 8443 som använder HTTPS-protokollet.
devtunnel host -p 8000 --expiration 2d Värd för en tillfällig utvecklingstunnel med en anpassad förfallotid. Minimum är 1 timme (1h) och det maximala är 30 dagar (30d).
devtunnel host TUNNELID Värd för en befintlig utvecklingstunnel som tidigare har konfigurerats.

Varning

Att tillåta anonym åtkomst till en utvecklingstunnel innebär att alla på Internet kan ansluta till din lokala server, om de kan gissa utvecklingstunnel-ID:t.

Tryck på Control-C för att stoppa värdprocessen för utvecklingstunneln och avsluta alla klientanslutningar via utvecklingstunneln. Om det inte finns någon befintlig utvecklingstunnel tas utvecklingstunneln som skapades automatiskt av processen bort vid processens slut.

Anslut till en utvecklingstunnel

Använda användargränssnittet för webbvidarebefordring:

Kommandot devtunnel host visar utdata som liknar följande:

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

Den visade https: URI:n är unik för utvecklingstunnelporten: den första komponenten är en underdomän som innehåller det angivna utvecklingstunnel-ID:t och portnumret.

Om den värdbaserade porten ansluter till en webbserver kan den URI:n öppnas direkt i en webbläsare var som helst. Om åtkomst till utvecklingstunneln kräver auktorisering omdirigeras den första begäran till URI:n till en inloggningssida och återgår till webbplatsen efter att användaren har auktoriserats.

Om den värdbaserade porten ansluter till en webbtjänst kan den URI:n användas som bas-URI av ett webbtjänstklientprogram. Men om utvecklingstunneln inte tillåter anonym åtkomst vet webbtjänstklienten normalt inte hur den ska autentiseras. Om webbtjänsten är säker att exponera offentligt kan du överväga att tillåta anonym åtkomst. I annat fall kan en webbtjänstklient lägga till ett begärandehuvud med en åtkomsttoken för utvecklingstunnel för att auktorisera anslutningen.

Använda CLI:

I stället för att en klientwebbläsare eller ett program ansluter direkt till en utvecklingstunnelrelä-URI kan CLI användas för att vidarebefordra anslutningar från en port på klienten till en utvecklingstunnelport. Klienten kan också behöva logga in om utvecklingstunneln inte tillåter anonym åtkomst.

devtunnel connect TUNNELID
  • Ersätt TUNNELID med samma utvecklingstunnel-ID som användes på värden.

Lyckade klientutdata liknar följande:

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.

Nu är servern som delades på värdens port 3000 tillgänglig på localhost:3000 klienten med hjälp av antingen IPv4 eller IPv6. (Prefixet "SSH" beror på att utvecklingstunneltjänsten bygger på standard-SSH-protokollet för portvidarebefordring.) Om den värdbaserade porten ansluter till en webbserver kan du http://localhost:3000/ öppna den i en webbläsare. I det här fallet krävs ingen ytterligare auktorisering eftersom klientens CLI-inloggningstoken användes för att auktorisera anslutningen om det behövs.

Avancerat: Hantera utvecklingstunnlar

Det går att skapa en utvecklingstunnel utan att vara värd för den ännu. Detta är användbart för avancerad konfiguration och hantering av utvecklingstunnel, till exempel:

  • Visa en lista över alla ägda utvecklingstunnlar
  • Lägga till och ta bort portar i en utvecklingstunnel
  • Hantera åtkomstkontroller för utvecklingstunnel
  • Lägga till metadata i en utvecklingstunnel som beskrivning och taggar
Kommando beskrivning
devtunnel create Skapa en beständig utvecklingstunnel
devtunnel list Lista utvecklingstunnlar
devtunnel show Visa information om utvecklingstunnel
devtunnel update Uppdatera egenskaper för utvecklingstunnel
devtunnel delete Ta bort en utvecklingstunnel
devtunnel delete-all Ta bort alla utvecklingstunnlar

Här följer några exempel på användning av dessa kommandon:

Exempel beskrivning
devtunnel create -a Skapa en beständig utvecklingstunnel som tillåter anonym åtkomst.
devtunnel create -d 'my tunnel description' Skapa en beständig utvecklingstunnel med en beskrivning som inte kan sökas.
devtunnel create --expiration 4h Skapa en beständig utvecklingstunnel med en anpassad förfallotid. Minimum är 1 timme (1h) och det maximala är 30 dagar (30d).
devtunnel create myTunnelID Skapa en beständig utvecklingstunnel med ett anpassat tunnel-ID.
devtunnel create --tags my-web-app v1 Skapa en beständig utvecklingstunnel och använd sökbara taggar.
devtunnel list --tags my-web-app Lista utvecklingstunnlar som har någon av de angivna taggarna.
devtunnel list --all-tags my-web-app v1 Lista utvecklingstunnlar som har alla angivna taggar.
devtunnel show Visa information om den senast använda utvecklingstunneln.
devtunnel show TUNNELID Visa information för en utvecklingstunnel.
devtunnel update TUNNELID -d 'my new tunnel description' Uppdatera beskrivningen av en utvecklingstunnel.
devtunnel update TUNNELID --remove-tags Ta bort alla taggar från en utvecklingstunnel.
devtunnel update TUNNELID --expiration 10d Uppdatera en utvecklingstunnel med en ny anpassad förfallotid. Minimum är 1 timme (1h) och det maximala är 30 dagar (30d).
devtunnel delete TUNNELID Ta bort en utvecklingstunnel.
devtunnel delete-all Ta bort alla utvecklingstunnlar.

Dricks

De flesta CLI-kommandon fungerar implicit på den senast använda utvecklingstunneln, även om det finns ett alternativ för att ange ett utvecklingstunnel-ID om det behövs.

Avancerat: Hantera dev tunnelportar

En utvecklingstunnel som skapades med devtunnel create kommandot har inledningsvis inga portar. Använd devtunnel port kommandon för att lägga till portar innan du är värd för:

Kommando beskrivning
devtunnel port create Skapa en dev tunnelport
devtunnel port list Lista dev tunnelportar
devtunnel port show Visa portinformation för utvecklingstunnel
devtunnel port update Uppdatera portegenskaper för utvecklingstunnel
devtunnel port delete Ta bort en dev tunnelport
Exempel beskrivning
devtunnel port create -p 3000 --protocol http Lägga till en port med det angivna protokollet
devtunnel port list TUNNELID Visa en lista över aktuella portar
devtunnel port show TUNNELID -p 3000 Visa information för port 3000
devtunnel port update -p 3000 --description 'frontend port' Uppdatera en portbeskrivning för utvecklingstunneln
devtunnel port delete -p 3000 Ta bort en port

När du skapar en port kan protokollet anges om automatisk identifiering inte fungerar korrekt. Aktuella alternativ är "http", "https" eller "auto" (standard). Om den värdbaserade porten är HTTPS rekommenderar vi att du anger portprotokollet till "https"; annars "auto" är förmodligen bra.

När du har konfigurerat en utvecklingstunnel med hjälp av ovanstående kommandon börjar du vara värd för den:

devtunnel host

Avancerat: Hantera åtkomst till utvecklingstunnel

Med följande kommandon kan dev tunnel-åtkomsttoken utfärdas för att ge andra klienter åtkomst till utvecklingstunneln utan att tillåta anonym åtkomst. Med åtkomstkontrollinmatningskommandona kan du konfigurera åtkomstkontroll på utvecklingstunnlar och dev tunnelportar.

Kommando beskrivning
devtunnel token Problem med åtkomsttoken för utvecklingstunnel
devtunnel access create Skapa en åtkomstkontrollpost
devtunnel access list Visa en lista över åtkomstkontrollposter
devtunnel access delete Ta bort en åtkomstkontrollpost
devtunnel access reset Återställ åtkomstkontrollposter till standard

Här följer några exempel på användning av dessa kommandon:

Exempel beskrivning
devtunnel token TUNNELID --scopes connect Hämta en anslutningsåtkomsttoken för en utvecklingstunnel som kan delas för att tillfälligt ge åtkomst till utvecklingstunneln.
devtunnel access create TUNNELID --anonymous Aktivera anonym klientåtkomst i utvecklingstunneln.
devtunnel access create TUNNELID --anonymous --expiration 4h Aktivera anonym klientåtkomst i utvecklingstunneln med en anpassad förfallotid för åtkomstkontroll. Minimum är 1 timme (1h) och det maximala är 30 dagar (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Aktivera anonym klientåtkomst på port 3000.
devtunnel access create TUNNELID --tenant Aktivera den aktuella Microsoft Entra-klientåtkomsten i utvecklingstunneln.
devtunnel access create TUNNELID --org ORG Aktivera en GitHub-organisationsåtkomst efter namn i utvecklingstunneln.

Dricks

GitHub-organisationsåtkomst kräver installation av Dev Tunnels GitHub-appen i organisationen.

Tilläggskommandon

Dessa kommandon kan användas om du uttryckligen behöver ange eller ta bort den här lokala cachen för den senaste använda utvecklingstunneln.

Kommando beskrivning
devtunnel set Ange standardutvecklingstunnel
devtunnel unset Rensa standardutvecklingstunneln

Diagnostikkommandon

Kommando beskrivning
devtunnel clusters Lista tillgängliga tjänstkluster efter plats
devtunnel echo Köra en diagnostikekoserver på en lokal port
devtunnel ping Skicka diagnostikmeddelanden till en fjärrekoserver
Exempel beskrivning
devtunnel clusters --ping Lista tillgängliga tjänstkluster sorterade efter uppmätt svarstid.
devtunnel echo http --port 8080 --interface 127.0.0.1 Starta en lokal http-diagnostikserver på port 8080.

Felsökning

För att felsöka problem med devtunnel CLI kan följande tips vara användbara:

  • Se till att du har den senaste versionen av devtunnel CLI. Kontrollera den installerade versionen med devtunnel --version.
  • Alternativet --verbose skriver ut felsökningsmeddelanden, vilket kan ge extra diagnostikinformation.