- 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
Ontwikkeltunnel
CLI-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.
opdracht | Beschrijving |
---|---|
Devtunnel maakt gebruik van login | Log in met een Microsoft- of GitHub-account. |
Devtunnel-gebruiker uitloggen | Wis het token in de cache |
Devtunnel-Benutzershow | Bekijk de huidige inlogstatus |
Bovenkant
Devtunnel-login
IDevtunnel afmelden
zijn snelkoppelingen om in en uit te loggen.
Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:
voorbeelden | Beschrijving |
---|---|
Devtunnel maakt gebruik van login | Meld u aan met een Microsoft-organisatie (Microsoft Azure Active Directory (Azure AD)) of een persoonlijk account |
Devtunnel gebruikt login -g | Log in met een GitHub-account |
Devtunnel gebruikt login -d | Log in met een GitHub-accountLog in met de apparaatcode, als u zich niet kunt aanmelden bij een lokale interactieve browser |
Devtunnel gebruikt login -g -d | Log 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.
opdracht | Beschrijving |
---|---|
Devtunnel-host | Host 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:
voorbeelden | Beschrijving |
---|---|
Devtunnel-Host -p 3000 | Host een tunnel voor een server, die luistert op poort 3000 op het hostsysteem. |
Devtunnel-Host -p 3000 --allow-anonymous | Host een tunnel en sta anonieme clienttoegang toe. |
Devtunnel-Host -p 3000 5000 | Host een tunnel naar lokale servers, luisterend op poort 3000 en 5000. |
devtunnel-host -p 8443 --protocol https | Host een tunnel voor een server die luistert op poort 8443 met behulp van het HTTPS-protocol. |
Devtunnel-Host TUNNELS | Host 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-host
De 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 door
TUNNEL
Dezelfde 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: 3000
De 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
opdracht | Beschrijving |
---|---|
Creëer dev-tunnel | Maak een tunnel |
Devtunnel-lijst | tunnels laten zien |
Devtunnel-Show | Toon tunneldetails |
Devtunnel-update | Tunneleigenschappen bijwerken |
Slet dev-tunnel | Een tunnel verwijderen |
dev tunnel alles verwijderen | Verwijder alle tunnels |
Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:
voorbeelden | Beschrijving |
---|---|
oprette dev tunnel -a | Maak 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 v1 | Maak een tunnel en pas doorzoekbare tags toe. |
Devtunnel-lijst --tags mijn-web-app | Lijst met tunnels met een van de opgegeven merken. |
Devtunnel-lijst --all-tags mijn-web-app v1 | Lijst met tunnels die alle opgegeven tags bevatten. |
Devtunnel-Show | Toon details van de laatst gebruikte tunnel. |
devtunnel toont TUNNELS | Zie details voor een tunnel. |
devtunnel update TUNNELS -d 'min nieuwe tunnelbeschrijving' | Werk de beschrijving van een tunnel bij. |
devtunnel update TUNNELS --remove-tags | Verwijder alle tags uit een tunnel. |
devtunnel TUNNEL verwijderen | Een tunnel verwijderen. |
dev tunnel alles verwijderen | Verwijder 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-tunnel
opdracht, heeft aanvankelijk geen poorten. gebruikDevtunnel-poort
Opdrachten om poorten toe te voegen vóór hosting:
opdracht | Beschrijving |
---|---|
Maak devtunnel-poort | Maak een tunnelpoort |
Devtunnel-Portliste | Vis tunnelpoort |
Devtunnel-Port-Show | Details tunnelpoort tonen |
Devtunnel-poortupdate | Werk de eigenschappen van de tunnelpoort bij |
Devtunnel-poort verwijderen | Een tunnelpoort verwijderen |
voorbeelden | Beschrijving |
---|---|
creëer devtunnel-poort -p 3000 --protocol http | Voeg een poort toe met het opgegeven protocol |
Devtunnel-Portlist TUNNELS | Toon huidige poorten |
Devtunnel-Port toont TUNNELS -p 3000 | Zie de details voor poort 3000 |
devtunnel port update -p 3000 --description 'Frontend-Port' | Werk een tunnelpoortbeschrijving bij |
Verwijder devtunnel-poort -p 3000 | Verwijder 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.
opdracht | Beschrijving |
---|---|
Devtunnel-token | Geef het tunneltoegangstoken uit |
Maak devtunnel-toegang | Maak een toegangscontrolerecord aan |
Devtunnel-toegangslijst | Toon toegangscontrolerecords |
Devtunnel-toegang verwijderen | Een toegangscontrolerecord verwijderen |
Devtunnel-toegang opnieuw ingesteld | Toegangscontrole-items terugzetten naar standaard |
Hier zijn enkele voorbeelden van het gebruik van deze opdrachten:
voorbeelden | Beschrijving |
---|---|
Devtunnel-Token TUNNELID --scopes verbinden | Verkrijg een "connect"-toegangstoken voor een deelbare tunnel om tijdelijke toegang tot de tunnel toe te staan. |
Creëer devtunnel-toegang TUNNELID --anonymous | Schakel anonieme clienttoegang in de tunnel in. |
Creëer devtunnel-toegang TUNNELID --port 3000 --anonymous | Schakel 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.
opdracht | Beschrijving |
---|---|
Devtunnel-kit | Standaardtunnel instellen |
Dev-tunnel niet ingesteld | Standaardtunnel verwijderen |
diagnostische commando's
opdracht | Beschrijving |
---|---|
Devtunnel-cluster | Bekijk beschikbare serviceclusters per locatie |
Devtunnel-echo | Voer een diagnostische echoserver uit op een lokale poort |
Devtunnel-Ping | Stuur diagnostische berichten naar een externe echoserver |
voorbeelden | Beschrijving |
---|---|
Devtunnel-Cluster --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
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 met
devtunnel --versie
. - Met
-- omslachtig
Deze optie zendt foutopsporingsberichten uit die aanvullende diagnostische informatie kunnen geven.