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 metdevtunnel --version
. - Met de
--verbose
optie worden foutopsporingsberichten afgedrukt, die extra diagnostische informatie kunnen bieden.