Delen via


Naslaginformatie over dev tunnels

Dev-tunnels bieden een CLI-hulpprogramma (opdrachtregelinterface) voor het maken en beheren van dev-tunnels. In dit artikel worden de syntaxis en parameters voor de verschillende devtunnel CLI-opdrachten uitgelegd.

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.

Notitie

devtunnel CLI-opdrachten zijn in preview. In toekomstige releases kunnen opdrachtnamen en opties worden gewijzigd.

Algemene opties

  • -v, --verbose: Uitgebreide uitvoer inschakelen.
  • -?, -h, --help: Help- en gebruiksgegevens weergeven.

Gebruikersreferenties beheren

Voor de dev tunnel-service is aanmelding vereist voor het autoriseren van beheer van en toegang tot dev-tunnels. Standaard is een dev-tunnel alleen toegankelijk voor de gebruiker die de dev-tunnel heeft gemaakt, hoewel die gebruiker toegang kan verlenen aan anderen.

Nadat u zich hebt aangemeld, wordt het aanmeldingstoken in de cache opgeslagen in de beveiligde sleutelketen van het systeem en is het enkele dagen vóór de vervaldatum geldig. Als u zich afmeldt bij de CLI, wordt dit token in de cache gewist, maar worden er geen browsercookies gewist. Dit kan toegangstokens voor dev-tunnels bevatten als een browser is gebruikt voor verificatie met een dev-tunnel.

Opdracht Beschrijving
devtunnel user login Meld u aan met een Microsoft- of GitHub-account.
devtunnel user logout Het token in de cache wissen
devtunnel user show Huidige aanmeldingsstatus weergeven

Tip

devtunnel login en devtunnel logout zijn verkorte opdrachten voor aanmelden en afmelden.

Hier volgen enkele voorbeelden van het gebruik van deze opdrachten:

Voorbeelden Beschrijving
devtunnel user login Aanmelden met een Microsoft-organisatie (Microsoft Entra-id) of persoonlijk account
devtunnel user login -g Aanmelden met een GitHub-account
devtunnel user login -d Aanmelden met een GitHub-account met apparaatcodeaanmelding, als lokale interactieve browseraanmelding niet mogelijk is
devtunnel user login -g -d Aanmelden met een GitHub-account met apparaatcodeaanmelding, als lokale interactieve browseraanmelding niet mogelijk is

Een dev-tunnel hosten

devtunnel host is de hoofdopdracht die wordt gebruikt voor het hosten van uw dev-tunnel. De opdracht moet worden uitgevoerd op het hostsysteem waarop de server wordt uitgevoerd die u toegankelijk wilt maken via de dev-tunnel.

Opdracht Beschrijving
devtunnel host Host een dev-tunnel. Als er geen id van een dev-tunnel is opgegeven, wordt er een nieuwe tijdelijke dev-tunnel gemaakt die wordt verwijderd zodra de verbinding is gesloten.

Hier volgen enkele voorbeelden van het gebruik van deze opdracht:

Voorbeelden Beschrijving
devtunnel host -p 3000 Host een tijdelijke dev-tunnel voor een server die poort 3000 luistert op het hostsysteem.
devtunnel host -p 3000 --allow-anonymous Host een tijdelijke dev-tunnel en schakel anonieme clienttoegang in.
devtunnel host -p 3000 5000 Host een tijdelijke dev-tunnel voor lokale servers die luisteren op poorten 3000 en 5000.
devtunnel host -p 8443 --protocol https Host een tijdelijke dev-tunnel voor een server die luistert op poort 8443 die gebruikmaakt van het HTTPS-protocol.
devtunnel host -p 8000 --expiration 2d Host een tijdelijke dev-tunnel met een aangepaste verlooptijd. Het minimum is 1 uur (1u) en het maximum is 30 dagen (30d).
devtunnel host TUNNELID Host een bestaande dev-tunnel die eerder is geconfigureerd.

Waarschuwing

Anonieme toegang tot een dev-tunnel toestaan betekent dat iedereen op internet verbinding kan maken met uw lokale server, als ze de id van de dev-tunnel kunnen raden.

Druk op Control-C om het hostproces van de dev-tunnel te stoppen en eventuele clientverbindingen via de dev-tunnel te beëindigen. Als er geen bestaande dev-tunnel is opgegeven, wordt de dev-tunnel die automatisch door het proces is gemaakt, verwijderd bij het afsluiten van het proces.

Verbinding maken naar een dev-tunnel

De gebruikersinterface voor doorsturen via het web gebruiken:

De devtunnel host opdracht toont uitvoer die vergelijkbaar is met de volgende:

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

De weergegeven https: URI is uniek voor de poort van de dev-tunnel: het eerste onderdeel is een subdomein met de opgegeven id van de dev-tunnel en het poortnummer.

Als de gehoste poort verbinding maakt met een webserver, kan die URI rechtstreeks in een browser worden geopend, vanaf elke locatie. Als voor toegang tot de dev-tunnel autorisatie is vereist, wordt de eerste aanvraag naar de URI omgeleid naar een aanmeldingspagina en keert u terug naar de site nadat de gebruiker is geautoriseerd.

Als de gehoste poort verbinding maakt met een webservice, kan die URI worden gebruikt als de basis-URI door een webserviceclienttoepassing. Als de dev-tunnel echter geen anonieme toegang toestaat, weet de webserviceclient normaal gesproken niet hoe deze moet worden geverifieerd. Als de webservice veilig openbaar kan worden gemaakt, kunt u anonieme toegang toestaan. Anders kan een webserviceclient een aanvraagheader met een toegangstoken voor een dev-tunnel toevoegen om de verbinding te autoriseren.

De CLI gebruiken:

In plaats van een clientbrowser of toepassing rechtstreeks verbinding te laten maken met een dev tunnel relay-URI, kan de CLI worden gebruikt om verbindingen van een poort op de client door te sturen naar een dev-tunnelpoort. De client moet zich mogelijk ook aanmelden als de dev-tunnel anonieme toegang niet toestaat.

devtunnel connect TUNNELID
  • Vervang door TUNNELID dezelfde dev-tunnel-id die op de host is gebruikt.

Geslaagde clientuitvoer is vergelijkbaar met het volgende:

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 is de server die is gedeeld op poort 3000 van de host beschikbaar op localhost:3000 de client, met behulp van IPv4 of IPv6. (Het voorvoegsel 'SSH' is omdat de dev tunnel-service voortbouwt op het standaard SSH-protocol voor port-forwarding.) Als de gehoste poort verbinding maakt met een webserver, http://localhost:3000/ kan deze worden geopend in een browser. In dit geval is er geen verdere autorisatie vereist omdat het CLI-aanmeldingstoken van de client is gebruikt om de verbinding zo nodig te autoriseren.

Geavanceerd: Dev-tunnels beheren

Het is mogelijk om een dev-tunnel te maken zonder deze te hosten. Dit is handig voor geavanceerde configuratie en beheer van dev-tunnels, zoals:

  • Alle dev-tunnels in eigendom weergeven
  • Poorten van een dev-tunnel toevoegen en verwijderen
  • Toegangsbeheer voor dev-tunnel beheren
  • Metagegevens toevoegen aan een dev-tunnel, zoals beschrijving en tags
Opdracht Beschrijving
devtunnel create Een permanente dev-tunnel maken
devtunnel list Dev-tunnels vermelden
devtunnel show Details van dev-tunnel weergeven
devtunnel update Eigenschappen van dev-tunnel bijwerken
devtunnel delete Een dev-tunnel verwijderen
devtunnel delete-all Alle dev-tunnels verwijderen

Hier volgen enkele voorbeelden van het gebruik van deze opdrachten:

Voorbeelden Beschrijving
devtunnel create -a Maak een permanente dev-tunnel die anonieme toegang toestaat.
devtunnel create -d 'my tunnel description' Maak een permanente dev-tunnel met een niet-doorzoekbare beschrijving.
devtunnel create --expiration 4h Maak een permanente dev-tunnel met een aangepaste verlooptijd. Het minimum is 1 uur (1u) en het maximum is 30 dagen (30d).
devtunnel create myTunnelID Maak een permanente dev-tunnel met een aangepaste tunnel-id.
devtunnel create --tags my-web-app v1 Maak een permanente dev-tunnel en pas doorzoekbare tags toe.
devtunnel list --tags my-web-app Maak een lijst met dev-tunnels met een van de opgegeven tags.
devtunnel list --all-tags my-web-app v1 Maak een lijst met dev-tunnels met alle opgegeven tags.
devtunnel show Details van de laatst gebruikte dev-tunnel weergeven.
devtunnel show TUNNELID Details weergeven voor een dev-tunnel.
devtunnel update TUNNELID -d 'my new tunnel description' Werk de beschrijving van een dev-tunnel bij.
devtunnel update TUNNELID --remove-tags Verwijder alle tags uit een dev-tunnel.
devtunnel update TUNNELID --expiration 10d Werk een dev-tunnel bij met een nieuwe aangepaste verlooptijd. Het minimum is 1 uur (1u) en het maximum is 30 dagen (30d).
devtunnel delete TUNNELID Een dev-tunnel verwijderen.
devtunnel delete-all Verwijder al uw dev-tunnels.

Tip

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

Geavanceerd: Dev Tunnel-poorten beheren

Een dev-tunnel die met de devtunnel create opdracht is gemaakt, heeft aanvankelijk geen poorten. Gebruik devtunnel port opdrachten om poorten toe te voegen voordat u host:

Opdracht Beschrijving
devtunnel port create Een dev-tunnelpoort maken
devtunnel port list Dev-tunnelpoorten vermelden
devtunnel port show Details van dev-tunnelpoort weergeven
devtunnel port update Eigenschappen van dev-tunnelpoort bijwerken
devtunnel port delete Een dev-tunnelpoort verwijderen
Voorbeelden Beschrijving
devtunnel port create -p 3000 --protocol http Een poort met het opgegeven protocol toevoegen
devtunnel port list TUNNELID Huidige poorten weergeven
devtunnel port show TUNNELID -p 3000 De details voor poort 3000 weergeven
devtunnel port update -p 3000 --description 'frontend port' Beschrijving van een dev-tunnelpoort bijwerken
devtunnel port delete -p 3000 Een poort verwijderen

Bij het maken van een poort kan het protocol eventueel worden opgegeven als automatische detectie niet goed werkt. Huidige opties zijn 'http', 'https' of 'auto' (standaard). Als de gehoste poort HTTPS is, is het raadzaam om het poortprotocol in te stellen op https; anders is 'auto' waarschijnlijk prima.

Nadat u een dev-tunnel hebt geconfigureerd met behulp van de bovenstaande opdrachten, begint u met het hosten van deze tunnel:

devtunnel host

Geavanceerd: Toegang tot dev-tunnel beheren

Met de volgende opdrachten kunnen tokens voor dev-tunneltoegang worden uitgegeven om andere clients toegang te bieden tot uw dev-tunnel zonder anonieme toegang toe te staan. Met de invoeropdrachten voor toegangsbeheer kunt u toegangsbeheer configureren voor dev-tunnels en dev-tunnelpoorten.

Opdracht Beschrijving
devtunnel token Toegangstoken voor dev-tunnel uitgeven
devtunnel access create Een vermelding voor toegangsbeheer maken
devtunnel access list Vermeldingen voor toegangsbeheer weergeven
devtunnel access delete Een vermelding voor toegangsbeheer verwijderen
devtunnel access reset Standaardinstellingen voor toegangsbeheer herstellen

Hier volgen enkele voorbeelden van het gebruik van deze opdrachten:

Voorbeelden Beschrijving
devtunnel token TUNNELID --scopes connect Haal een 'connect'-toegangstoken op voor een dev-tunnel die kan worden gedeeld om tijdelijk toegang te bieden tot de dev-tunnel.
devtunnel access create TUNNELID --anonymous Anonieme clienttoegang inschakelen voor de dev-tunnel.
devtunnel access create TUNNELID --anonymous --expiration 4h Anonieme clienttoegang inschakelen in de dev-tunnel met een aangepaste verlooptijd voor toegangsbeheer. Het minimum is 1 uur (1u) en het maximum is 30 dagen (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Anonieme clienttoegang inschakelen op poort 3000.
devtunnel access create TUNNELID --tenant Schakel de huidige toegang tot de Microsoft Entra-tenant in voor de dev-tunnel.
devtunnel access create TUNNELID --org ORG Schakel toegang tot een GitHub-organisatie in op naam in de dev-tunnel.

Tip

Voor toegang tot de GitHub-organisatie moet u de GitHub-app Dev Tunnels installeren in de organisatie.

Aanvullende opdrachten

Deze opdrachten kunnen worden gebruikt als u deze lokale cache van de laatst gebruikte dev-tunnel expliciet moet instellen of opheffen.

Opdracht Beschrijving
devtunnel set Standaarddev-tunnel instellen
devtunnel unset Standaarddev-tunnel wissen

Diagnostische opdrachten

Opdracht Beschrijving
devtunnel clusters Beschikbare serviceclusters per locatie weergeven
devtunnel echo Een diagnostische echoserver uitvoeren op een lokale poort
devtunnel ping Diagnostische berichten verzenden naar een externe echoserver
Voorbeelden Beschrijving
devtunnel clusters --ping Lijst met beschikbare serviceclusters gesorteerd op gemeten latentie.
devtunnel echo http --port 8080 --interface 127.0.0.1 Start een lokale diagnostische HTTP-server op poort 8080.

Problemen oplossen

De volgende tips kunnen handig zijn om problemen met de devtunnel CLI op te lossen:

  • Zorg ervoor dat u de nieuwste versie van de devtunnel CLI gebruikt. Controleer de momenteel geïnstalleerde versie met devtunnel --version.
  • Met de --verbose optie worden foutopsporingsberichten afgedrukt, die extra diagnostische informatie kunnen bieden.