Dev Tunnel-opdrachtregelreferentie - Microsoft-Dev-Tunnel (2023)

  • Artikel

Development Tunnels biedt een opdrachtregelinterface (CLI) om ontwikkeltunnels te maken en te beheren.

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder SLA en wordt niet aanbevolen voor productieworkloads. Het is mogelijk dat bepaalde functies niet worden ondersteund of dat hun mogelijkheden beperkt zijn.

Opmerking

OntwikkeltunnelCLI-opdrachten zijn beschikbaar in preview. Commandonamen en -opties kunnen in toekomstige releases veranderen.

Algemene opties

  • -v, --verbose: Uitgebreide uitvoer inschakelen.
  • -?, -h, --help: Zie hulp en gebruiksinformatie.

Gebruikersreferenties beheren

De tunnelservice vereist een login om beheer en toegang tot tunnels te autoriseren. Een tunnel is standaard alleen toegankelijk voor de gebruiker die de tunnel heeft gemaakt, maar deze gebruiker kan ook anderen toegang verlenen.

Na het inloggen wordt het login-token in de cache van de beveiligingssleutelhanger van het systeem opgeslagen en is het meerdere dagen geldig voordat het verloopt. Als u zich afmeldt bij de CLI, wordt dit in de cache opgeslagen token gewist, maar worden browsercookies niet verwijderd die mogelijk tunneltoegangstokens bevatten als een browser is gebruikt voor authenticatie met een tunnel.

opdrachtBeschrijving
Devtunnel maakt gebruik van loginLog in met een Microsoft- of GitHub-account.
Devtunnel-gebruiker uitloggenWis het token in de cache
Devtunnel-BenutzershowBekijk de huidige inlogstatus

Bovenkant

Devtunnel-loginIDevtunnel afmeldenzijn snelkoppelingen om in en uit te loggen.

Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:

voorbeeldenBeschrijving
Devtunnel maakt gebruik van loginMeld u aan met een Microsoft-organisatie (Microsoft Azure Active Directory (Azure AD)) of een persoonlijk account
Devtunnel gebruikt login -gLog in met een GitHub-account
Devtunnel gebruikt login -dLog in met een GitHub-accountLog in met de apparaatcode, als u zich niet kunt aanmelden bij een lokale interactieve browser
Devtunnel gebruikt login -g -dLog in met een GitHub-accountLog in met de apparaatcode, als u zich niet kunt aanmelden bij een lokale interactieve browser

Wees de gastheer van een tunnel

Dit is het hoofdcommando dat wordt gebruikt om uw tunnel te hosten. De opdracht moet worden uitgevoerd op het hostsysteem waarop de server draait waartoe u toegang wilt via de tunnel.

opdrachtBeschrijving
Devtunnel-hostHost een tunnel. Als er geen tunnel-ID is opgegeven, wordt er een nieuwe tunnel gemaakt.

Hier zijn enkele voorbeelden van het gebruik van deze opdracht:

voorbeeldenBeschrijving
Devtunnel-Host -p 3000Host een tunnel voor een server, die luistert op poort 3000 op het hostsysteem.
Devtunnel-Host -p 3000 --allow-anonymousHost een tunnel en sta anonieme clienttoegang toe.
Devtunnel-Host -p 3000 5000Host een tunnel naar lokale servers, luisterend op poort 3000 en 5000.
devtunnel-host -p 8443 --protocol httpsHost een tunnel voor een server die luistert op poort 8443 met behulp van het HTTPS-protocol.
Devtunnel-Host TUNNELSHost een bestaande tunnel, die eerder is geconfigureerd.

waarschuwing

Als u anonieme toegang tot een tunnel toestaat, kan iedereen op internet verbinding maken met uw lokale server, zolang ze de tunnel-ID kunnen raden.

druk opStrg+Com het tunnelhostproces te stoppen en alle clientverbindingen via de tunnel te beëindigen. Als er geen bestaande tunnel is opgegeven, wordt de automatisch gemaakte tunnel door het proces verwijderd wanneer het proces wordt afgesloten.

Maak verbinding met een tunnel

Om de interface voor webdoorsturen te gebruiken:

vonDevtunnel-hostDe opdracht geeft uitvoer weer die er als volgt uitziet:

Hostingpoort 3000 onder https://l3rs99qw-3000.usw2.devtunnels.ms/

Het bleekhttps:De URI is uniek voor de tunnelpoort: het eerste onderdeel is een subdomein met het opgegeven tunnel-ID en poortnummer.

Wanneer de gehoste poort verbinding maakt met een webserver, is deze URI overal rechtstreeks in een browser toegankelijk. Als autorisatie vereist is om toegang te krijgen tot de tunnel, wordt het eerste verzoek aan de URI omgeleid naar een aanmeldingspagina en na autorisatie van de gebruiker teruggestuurd naar de site.

Als de gehoste poort verbinding maakt met een webservice, kan deze URI worden gebruikt als de basis-URI door een webserviceclienttoepassing. Als de tunnel echter geen anonieme toegang toestaat, weet de webserviceclient zichzelf meestal niet te authenticeren. Als de webservice veilig kan worden gepubliceerd, overweeg dan om anonieme toegang toe te staan. Anders kan een webserviceclient een aanvraagheader met een tunneltoegangstoken toevoegen om de verbinding te verifiëren.

De CLI gebruiken:

In plaats van een clientbrowser of -toepassing die rechtstreeks verbinding maakt met een tunnelrelay-URI, kan de CLI worden gebruikt om verbindingen van een poort op de client door te sturen naar een tunnelpoort. De client moet mogelijk ook inloggen als de tunnel geen anonieme toegang toestaat.

devtunnel verbindt TUNNEL
  • Vervangen doorTUNNELDezelfde tunnel-ID die op de host wordt gebruikt.

Succesvolle klantoutput ziet er als volgt uit:

Verbonden met tunnel: l3rs99qwSSH: forward 127.0.0.1:3000 naar hostpoort 3000.SSH: forward [::1]:3000 naar hostpoort 3000.

Nu wordt de server gedeeld op hostpoort 3000 beschikbaar oplokale gastheer: 3000De client gebruikt IPv4 of IPv6. (Het voorvoegsel "SSH" is omdat de tunnelservice bovenop het standaard SSH port forwarding-protocol is gebouwd.) Als de gehoste poort verbinding maakt met een webserver,http://localhost:3000/Kan het in een browser worden geopend? In dit geval is geen verdere autorisatie vereist, aangezien het CLI-inlogtoken van de client mogelijk is gebruikt om de verbinding te verifiëren.

Geavanceerd: Beheer tunnels

Het is mogelijk om een ​​tunnel te maken zonder deze al te hosten. Dit is handig voor geavanceerde tunnelconfiguratie en -beheer, zoals:

  • Laat al mijn tunnels zien
  • Poorten in een tunnel toevoegen en verwijderen
  • Toegangscontrole tunnel beheren
  • Voeg metadata toe aan een tunnel, b.v. B. Beschrijving en tags
opdrachtBeschrijving
Creëer dev-tunnelMaak een tunnel
Devtunnel-lijsttunnels laten zien
Devtunnel-ShowToon tunneldetails
Devtunnel-updateTunneleigenschappen bijwerken
Slet dev-tunnelEen tunnel verwijderen
dev tunnel alles verwijderenVerwijder alle tunnels

Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:

voorbeeldenBeschrijving
oprette dev tunnel -aMaak een tunnel die anonieme toegang mogelijk maakt.
devtunnel create -d 'min tunnelbeschrijving'Maak een tunnel met een niet-doorzoekbare beschrijving.
devtunnel create --tags mijn-web-app v1Maak een tunnel en pas doorzoekbare tags toe.
Devtunnel-lijst --tags mijn-web-appLijst met tunnels met een van de opgegeven merken.
Devtunnel-lijst --all-tags mijn-web-app v1Lijst met tunnels die alle opgegeven tags bevatten.
Devtunnel-ShowToon details van de laatst gebruikte tunnel.
devtunnel toont TUNNELSZie details voor een tunnel.
devtunnel update TUNNELS -d 'min nieuwe tunnelbeschrijving'Werk de beschrijving van een tunnel bij.
devtunnel update TUNNELS --remove-tagsVerwijder alle tags uit een tunnel.
devtunnel TUNNEL verwijderenEen tunnel verwijderen.
dev tunnel alles verwijderenVerwijder al je tunnels.

Bovenkant

De meeste CLI-opdrachten werken impliciet voor de laatst gebruikte tunnel, maar er is een optie om indien nodig een tunnelnaam of tunnel-ID op te geven.

Geavanceerd: Beheer tunnelpoorten

Een tunnel gemaakt metCreëer dev-tunnelopdracht, heeft aanvankelijk geen poorten. gebruikDevtunnel-poortOpdrachten om poorten toe te voegen vóór hosting:

opdrachtBeschrijving
Maak devtunnel-poortMaak een tunnelpoort
Devtunnel-PortlisteVis tunnelpoort
Devtunnel-Port-ShowDetails tunnelpoort tonen
Devtunnel-poortupdateWerk de eigenschappen van de tunnelpoort bij
Devtunnel-poort verwijderenEen tunnelpoort verwijderen
voorbeeldenBeschrijving
creëer devtunnel-poort -p 3000 --protocol httpVoeg een poort toe met het opgegeven protocol
Devtunnel-Portlist TUNNELSToon huidige poorten
Devtunnel-Port toont TUNNELS -p 3000Zie de details voor poort 3000
devtunnel port update -p 3000 --description 'Frontend-Port'Werk een tunnelpoortbeschrijving bij
Verwijder devtunnel-poort -p 3000Verwijder een poort

Bij het aanmaken van een poort kan eventueel het protocol worden opgegeven als de automatische detectie niet goed werkt. De huidige opties zijn http, https of auto (standaard). Als de gehoste poort HTTPS is, wordt aanbevolen om het poortprotocol in te stellen op "https"; Anders is "Auto" waarschijnlijk prima.

Na het configureren van een tunnel met behulp van de bovenstaande opdrachten, begint u met het hosten van die tunnel:

Devtunnel-host

Geavanceerd: Beheer tunneltoegang

De volgende opdrachten kunnen tokens voor tunneltoegang uitgeven om andere clients toegang te geven tot uw tunnel zonder anonieme toegang toe te staan. Met de invoeropdrachten voor toegangscontrole kunt u toegangscontrole voor tunnels en tunnelpoorten configureren.

opdrachtBeschrijving
Devtunnel-tokenGeef het tunneltoegangstoken uit
Maak devtunnel-toegangMaak een toegangscontrolerecord aan
Devtunnel-toegangslijstToon toegangscontrolerecords
Devtunnel-toegang verwijderenEen toegangscontrolerecord verwijderen
Devtunnel-toegang opnieuw ingesteldToegangscontrole-items terugzetten naar standaard

Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:

voorbeeldenBeschrijving
Devtunnel-Token TUNNELID --scopes verbindenVerkrijg een "connect"-toegangstoken voor een deelbare tunnel om tijdelijke toegang tot de tunnel toe te staan.
Creëer devtunnel-toegang TUNNELID --anonymousSchakel anonieme clienttoegang in de tunnel in.
Creëer devtunnel-toegang TUNNELID --port 3000 --anonymousSchakel anonieme clienttoegang in op poort 3000.

Aanvullende opdrachten

Deze opdrachten kunnen worden gebruikt wanneer u deze lokale cache expliciet moet instellen of wissen voor de laatst gebruikte tunnel.

opdrachtBeschrijving
Devtunnel-kitStandaardtunnel instellen
Dev-tunnel niet ingesteldStandaardtunnel verwijderen

diagnostische commando's

opdrachtBeschrijving
Devtunnel-clusterBekijk beschikbare serviceclusters per locatie
Devtunnel-echoVoer een diagnostische echoserver uit op een lokale poort
Devtunnel-PingStuur diagnostische berichten naar een externe echoserver
voorbeeldenBeschrijving
Devtunnel-Cluster --pingLijst met beschikbare serviceclusters gesorteerd op gemeten latentie.
devtunnel echo http --port 8080 --interface 127.0.0.1Start een lokale diagnostische HTTP-server op poort 8080.

problemen oplossen

Het volgende kan nuttig zijn bij het oplossen van problemen met de CLI:

  • Zorg ervoor dat u de nieuwste versie van de CLI gebruikt. Controleer de momenteel geïnstalleerde versie metdevtunnel --versie.
  • Met-- omslachtigDeze optie zendt foutopsporingsberichten uit die aanvullende diagnostische informatie kunnen geven.
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated: 28/12/2022

Views: 5984

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.