Informazioni di riferimento sulla riga di comando per i tunnel di sviluppo
I tunnel di sviluppo offrono uno strumento dell'interfaccia della riga di comando per la creazione e la gestione dei tunnel di sviluppo. Questo articolo illustra la sintassi e i parametri per i vari devtunnel
comandi dell'interfaccia della riga di comando.
Importante
Questa funzionalità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza contratto di servizio e non è consigliata per carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate.
Nota
devtunnel
I comandi dell'interfaccia della riga di comando sono in anteprima. I nomi e le opzioni dei comandi possono cambiare nelle versioni future.
Opzioni globali
-v, --verbose
: abilitare l'output dettagliato.-?, -h, --help
: mostra informazioni sulla Guida e sull'utilizzo.
Gestire le credenziali utente
Il servizio dev tunnel richiede l'accesso per autorizzare la gestione e l'accesso ai tunnel di sviluppo. Per impostazione predefinita, un tunnel di sviluppo è accessibile solo all'utente che ha creato il tunnel di sviluppo, anche se tale utente può concedere l'accesso ad altri utenti.
Dopo l'accesso, il token di accesso viene memorizzato nella cache nella catena di chiavi sicure del sistema ed è valido per diversi giorni prima della scadenza. La disconnessione dall'interfaccia della riga di comando cancella questo token memorizzato nella cache, ma non cancella i cookie del browser. Che può includere token di accesso al tunnel di sviluppo se è stato usato un browser per l'autenticazione con un tunnel di sviluppo.
Comando | Descrizione |
---|---|
devtunnel user login |
Accedere con un account Microsoft o GitHub. |
devtunnel user logout |
Cancellare il token memorizzato nella cache |
devtunnel user show |
Mostra lo stato di accesso corrente |
Suggerimento
devtunnel login
e devtunnel logout
sono comandi abbreviati per l'accesso e l'uscita.
Ecco alcuni esempi sull'uso di questi comandi:
Esempi | Descrizione |
---|---|
devtunnel user login |
Accedere con un'organizzazione Microsoft (MICROSOFT Entra ID) o un account personale |
devtunnel user login -g |
Accedere con un account GitHub |
devtunnel user login -d |
Accedere con un account GitHub con accesso al codice del dispositivo, se non è possibile accedere al browser interattivo locale |
devtunnel user login -g -d |
Accedere con un account GitHub con accesso al codice del dispositivo, se non è possibile accedere al browser interattivo locale |
Ospitare un tunnel di sviluppo
devtunnel host
è il comando principale usato per ospitare il tunnel di sviluppo. Il comando deve essere eseguito nel sistema host che esegue il server che si vuole accedere tramite il tunnel di sviluppo.
Comando | Descrizione |
---|---|
devtunnel host |
Ospitare un tunnel di sviluppo. Se non viene specificato un ID del tunnel di sviluppo, viene creato un nuovo tunnel di sviluppo temporaneo eliminato dopo la chiusura della connessione. |
Ecco alcuni esempi sull'uso di questo comando:
Esempi | Descrizione |
---|---|
devtunnel host -p 3000 |
Ospitare un tunnel di sviluppo temporaneo per un server in ascolto della porta 3000 nel sistema host. |
devtunnel host -p 3000 --allow-anonymous |
Ospitare un tunnel di sviluppo temporaneo e abilitare l'accesso client anonimo. |
devtunnel host -p 3000 5000 |
Ospitare un tunnel di sviluppo temporaneo per i server locali in ascolto sulle porte 3000 e 5000. |
devtunnel host -p 8443 --protocol https |
Ospitare un tunnel di sviluppo temporaneo per un server in ascolto sulla porta 8443 che usa il protocollo HTTPS. |
devtunnel host -p 8000 --expiration 2d |
Ospitare un tunnel di sviluppo temporaneo con una scadenza personalizzata. Il valore minimo è 1 ora (1h) e il massimo è 30 giorni (30d). |
devtunnel host TUNNELID |
Ospitare un tunnel di sviluppo esistente configurato in precedenza. |
Avviso
Consentire l'accesso anonimo a un tunnel di sviluppo significa che chiunque su Internet è in grado di connettersi al server locale, se può indovinare l'ID del tunnel di sviluppo.
Premere Control-C per arrestare il processo host del tunnel di sviluppo e terminare le connessioni client tramite il tunnel di sviluppo. Se non è stato specificato un tunnel di sviluppo esistente, il tunnel di sviluppo creato automaticamente dal processo verrà eliminato all'uscita del processo.
Connessione a un tunnel di sviluppo
Uso dell'interfaccia utente di inoltro Web:
Il devtunnel host
comando mostra un output simile al seguente:
Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/
L'URI visualizzato https:
è univoco per la porta del tunnel di sviluppo: il primo componente è un sottodominio contenente l'ID del tunnel di sviluppo e il numero di porta specificati.
Se la porta ospitata si connette a un server Web, tale URI può essere aperto direttamente in un browser da qualsiasi posizione. Se l'accesso al tunnel di sviluppo richiede l'autorizzazione, la richiesta iniziale all'URI reindirizzerà a una pagina di accesso e tornerà al sito dopo l'autorizzazione dell'utente.
Se la porta ospitata si connette a un servizio Web, tale URI può essere usato come URI di base da un'applicazione client del servizio Web. Tuttavia, se il tunnel di sviluppo non consente l'accesso anonimo, il client del servizio Web normalmente non saprà come eseguire l'autenticazione. Se il servizio Web è sicuro da esporre pubblicamente, è consigliabile consentire l'accesso anonimo. In caso contrario, un client del servizio Web può aggiungere un'intestazione di richiesta con un token di accesso del tunnel di sviluppo per autorizzare la connessione.
Uso dell'interfaccia della riga di comando:
Anziché disporre di un browser client o di un'applicazione che si connetta direttamente a un URI di inoltro del tunnel di sviluppo, l'interfaccia della riga di comando può essere usata per inoltrare le connessioni da una porta sul client a una porta di dev tunnel. Il client potrebbe anche dover eseguire l'accesso, se il tunnel di sviluppo non consente l'accesso anonimo.
devtunnel connect TUNNELID
- Sostituire
TUNNELID
con lo stesso ID del tunnel di sviluppo usato nell'host.
L'output del client riuscito è simile al seguente:
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.
A questo punto, il server condiviso sulla porta 3000 dell'host è disponibile nel localhost:3000
client, usando IPv4 o IPv6. Il prefisso "SSH" è dovuto al fatto che il servizio dev tunnel si basa sul protocollo SSH standard per il port forwarding. Se la porta ospitata si connette a un server Web, http://localhost:3000/
è possibile aprire in un browser. In questo caso, non è necessaria ulteriore autorizzazione perché il token di accesso dell'interfaccia della riga di comando del client è stato usato per autorizzare la connessione, se necessario.
Avanzate: gestire i tunnel di sviluppo
È possibile creare un tunnel di sviluppo senza ancora ospitarlo. Ciò è utile per la configurazione e la gestione avanzata del tunnel di sviluppo, ad esempio:
- Presentazione di tutti i tunnel di sviluppo di proprietà
- Aggiunta e rimozione di porte di un tunnel di sviluppo
- Gestione dei controlli di accesso al tunnel di sviluppo
- Aggiunta di metadati a un tunnel di sviluppo come descrizione e tag
Comando | Descrizione |
---|---|
devtunnel create |
Creare un tunnel di sviluppo permanente |
devtunnel list |
Elencare i tunnel di sviluppo |
devtunnel show |
Visualizzare i dettagli del tunnel di sviluppo |
devtunnel update |
Aggiornare le proprietà del tunnel di sviluppo |
devtunnel delete |
Eliminare un tunnel di sviluppo |
devtunnel delete-all |
Eliminare tutti i tunnel di sviluppo |
Ecco alcuni esempi sull'uso di questi comandi:
Esempi | Descrizione |
---|---|
devtunnel create -a |
Creare un tunnel di sviluppo permanente che consenta l'accesso anonimo. |
devtunnel create -d 'my tunnel description' |
Creare un tunnel di sviluppo permanente con una descrizione non ricercabile. |
devtunnel create --expiration 4h |
Creare un tunnel di sviluppo permanente con una scadenza personalizzata. Il valore minimo è 1 ora (1h) e il massimo è 30 giorni (30d). |
devtunnel create myTunnelID |
Creare un tunnel di sviluppo permanente con un ID tunnel personalizzato. |
devtunnel create --tags my-web-app v1 |
Creare un tunnel di sviluppo permanente e applicare tag ricercabili. |
devtunnel list --tags my-web-app |
Elencare i tunnel di sviluppo con uno dei tag specificati. |
devtunnel list --all-tags my-web-app v1 |
Elencare i tunnel di sviluppo con tutti i tag specificati. |
devtunnel show |
Mostra i dettagli dell'ultimo tunnel di sviluppo usato. |
devtunnel show TUNNELID |
Mostra i dettagli per un tunnel di sviluppo. |
devtunnel update TUNNELID -d 'my new tunnel description' |
Aggiornare la descrizione di un tunnel di sviluppo. |
devtunnel update TUNNELID --remove-tags |
Rimuovere tutti i tag da un tunnel di sviluppo. |
devtunnel update TUNNELID --expiration 10d |
Aggiornare un tunnel di sviluppo con una nuova ora di scadenza personalizzata. Il valore minimo è 1 ora (1h) e il massimo è 30 giorni (30d). |
devtunnel delete TUNNELID |
Eliminare un tunnel di sviluppo. |
devtunnel delete-all |
Eliminare tutti i tunnel di sviluppo. |
Suggerimento
La maggior parte dei comandi dell'interfaccia della riga di comando opera in modo implicito nell'ultimo tunnel di sviluppo usato, anche se è disponibile un'opzione per specificare un ID del tunnel di sviluppo, se necessario.
Avanzate: gestire le porte del tunnel di sviluppo
Un tunnel di sviluppo creato usando il devtunnel create
comando inizialmente non ha porte. Usare devtunnel port
i comandi per aggiungere porte prima dell'hosting:
Comando | Descrizione |
---|---|
devtunnel port create |
Creare una porta del tunnel di sviluppo |
devtunnel port list |
Elencare le porte del tunnel di sviluppo |
devtunnel port show |
Visualizzare i dettagli della porta del tunnel di sviluppo |
devtunnel port update |
Aggiornare le proprietà della porta del tunnel di sviluppo |
devtunnel port delete |
Eliminare una porta del tunnel di sviluppo |
Esempi | Descrizione |
---|---|
devtunnel port create -p 3000 --protocol http |
Aggiungere una porta con il protocollo specificato |
devtunnel port list TUNNELID |
Elencare le porte correnti |
devtunnel port show TUNNELID -p 3000 |
Visualizzare i dettagli per la porta 3000 |
devtunnel port update -p 3000 --description 'frontend port' |
Aggiornare una descrizione della porta del tunnel di sviluppo |
devtunnel port delete -p 3000 |
Eliminare una porta |
Quando si crea una porta, è possibile specificare il protocollo, se il rilevamento automatico non funziona correttamente. Le opzioni correnti sono "http", "https" o "auto" (impostazione predefinita). Se la porta ospitata è HTTPS, è consigliabile impostare il protocollo di porta su "https"; altrimenti "auto" probabilmente va bene.
Dopo aver configurato un tunnel di sviluppo usando i comandi precedenti, iniziare a ospitarlo:
devtunnel host
Avanzate: gestire l'accesso al tunnel di sviluppo
Con i comandi seguenti, è possibile rilasciare token di accesso al tunnel di sviluppo per fornire ad altri client l'accesso al tunnel di sviluppo senza consentire l'accesso anonimo. I comandi di immissione del controllo di accesso consentono di configurare il controllo di accesso nei tunnel di sviluppo e nelle porte del tunnel di sviluppo.
Comando | Descrizione |
---|---|
devtunnel token |
Rilasciare il token di accesso al tunnel di sviluppo |
devtunnel access create |
Creare una voce di controllo di accesso |
devtunnel access list |
Elencare le voci di controllo di accesso |
devtunnel access delete |
Eliminare una voce di controllo di accesso |
devtunnel access reset |
Reimpostare le voci di controllo di accesso per impostazione predefinita |
Ecco alcuni esempi sull'uso di questi comandi:
Esempi | Descrizione |
---|---|
devtunnel token TUNNELID --scopes connect |
Ottenere un token di accesso "connect" per un tunnel di sviluppo che può essere condiviso per fornire temporaneamente l'accesso al tunnel di sviluppo. |
devtunnel access create TUNNELID --anonymous |
Abilitare l'accesso client anonimo nel tunnel di sviluppo. |
devtunnel access create TUNNELID --anonymous --expiration 4h |
Abilitare l'accesso client anonimo nel tunnel di sviluppo con una scadenza personalizzata del controllo di accesso. Il valore minimo è 1 ora (1h) e il massimo è 30 giorni (30d). |
devtunnel access create TUNNELID --port 3000 --anonymous |
Abilitare l'accesso client anonimo sulla porta 3000. |
devtunnel access create TUNNELID --tenant |
Abilitare l'accesso corrente al tenant di Microsoft Entra nel tunnel di sviluppo. |
devtunnel access create TUNNELID --org ORG |
Abilitare l'accesso a un'organizzazione GitHub in base al nome nel tunnel di sviluppo. |
Suggerimento
L'accesso all'organizzazione GitHub richiede l'installazione dell'app GitHub Dev Tunnels nell'organizzazione.
Comandi supplementari
Questi comandi possono essere usati se è necessario impostare o annullare in modo esplicito questa cache locale dell'ultimo tunnel di sviluppo usato.
Comando | Descrizione |
---|---|
devtunnel set |
Impostare il tunnel di sviluppo predefinito |
devtunnel unset |
Cancellare il tunnel di sviluppo predefinito |
Comandi di diagnostica
Comando | Descrizione |
---|---|
devtunnel clusters |
Elencare i cluster di servizi disponibili per località |
devtunnel echo |
Eseguire un server echo di diagnostica su una porta locale |
devtunnel ping |
Inviare messaggi di diagnostica a un server echo remoto |
Esempi | Descrizione |
---|---|
devtunnel clusters --ping |
Elencare i cluster di servizi disponibili ordinati in base alla latenza misurata. |
devtunnel echo http --port 8080 --interface 127.0.0.1 |
Avviare un server di diagnostica HTTP locale sulla porta 8080. |
Risoluzione dei problemi
Per risolvere i problemi relativi all'interfaccia della devtunnel
riga di comando, possono essere utili i suggerimenti seguenti:
- Assicurarsi di essere nella versione più recente dell'interfaccia della
devtunnel
riga di comando. Controllare la versione attualmente installata condevtunnel --version
. - L'opzione
--verbose
stampa i messaggi di debug, che possono fornire informazioni di diagnostica aggiuntive.