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 meddevtunnel --version
. - Alternativet
--verbose
skriver ut felsökningsmeddelanden, vilket kan ge extra diagnostikinformation.