Informations de référence sur la ligne de commande des tunnels de développement
Les tunnels de développement offrent un outil d’interface de ligne de commande (CLI) pour créer et gérer des tunnels de développement. Cet article explique la syntaxe et les paramètres des différentes devtunnel
commandes CLI.
Important
Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.
Remarque
devtunnel
Les commandes CLI sont en préversion. Les noms de commandes et les options peuvent changer dans les versions ultérieures.
Options globales
-v, --verbose
: activez la sortie détaillée.-?, -h, --help
: affichez les informations d’aide et d’utilisation.
Gérer les informations d’identification de l’utilisateur
Le service de tunnel de développement nécessite une connexion pour autoriser la gestion et l’accès aux tunnels de développement. Par défaut, un tunnel de développement n’est accessible qu’à l’utilisateur qui a créé le tunnel de développement, bien que cet utilisateur puisse accorder l’accès à d’autres utilisateurs.
Une fois connecté, le jeton de connexion est mis en cache dans la chaîne de clés sécurisée du système et est valide pendant plusieurs jours avant l’expiration. La déconnexion de l’interface CLI efface ce jeton mis en cache, mais n’efface aucun cookie de navigateur. Ce qui peut inclure des jetons d’accès de tunnel de développement si un navigateur a été utilisé pour s’authentifier auprès d’un tunnel de développement.
Commande | Description |
---|---|
devtunnel user login |
Connectez-vous avec un compte Microsoft ou GitHub. |
devtunnel user logout |
Effacer le jeton mis en cache |
devtunnel user show |
Afficher l’état de connexion actuel |
Conseil
devtunnel login
et devtunnel logout
sont des commandes abrégées pour la connexion et la sortie.
Voici quelques exemples sur l’utilisation de ces commandes :
Exemples | Description |
---|---|
devtunnel user login |
Connectez-vous avec une organisation Microsoft (Microsoft Entra ID) ou compte personnel |
devtunnel user login -g |
Se connecter avec un compte GitHub |
devtunnel user login -d |
Connexion avec un compte GitHub avec connexion de code d’appareil, si la connexion de navigateur interactive locale n’est pas possible |
devtunnel user login -g -d |
Connexion avec un compte GitHub avec connexion de code d’appareil, si la connexion de navigateur interactive locale n’est pas possible |
Héberger un tunnel de développement
devtunnel host
est la commande principale utilisée pour héberger votre tunnel de développement. La commande doit être exécutée sur le système hôte exécutant le serveur accessible via le tunnel de développement.
Commande | Description |
---|---|
devtunnel host |
Héberger un tunnel de développement. Si aucun ID de tunnel de développement n’est spécifié, un nouveau tunnel de développement temporaire est créé une fois la connexion fermée. |
Voici quelques exemples sur l’utilisation de cette commande :
Exemples | Description |
---|---|
devtunnel host -p 3000 |
Héberger un tunnel de développement temporaire pour un port d’écoute serveur 3000 sur le système hôte. |
devtunnel host -p 3000 --allow-anonymous |
Hébergez un tunnel de développement temporaire et activez l’accès au client anonyme. |
devtunnel host -p 3000 5000 |
Hébergez un tunnel de développement temporaire pour les serveurs locaux à l’écoute sur les ports 3000 et 5000. |
devtunnel host -p 8443 --protocol https |
Hébergez un tunnel de développement temporaire pour un serveur à l’écoute sur le port 8443 qui utilise le protocole HTTPS. |
devtunnel host -p 8000 --expiration 2d |
Héberger un tunnel de développement temporaire avec un délai d’expiration personnalisé. Le minimum est de 1 heure (1h) et le maximum est de 30 jours (30d). |
devtunnel host TUNNELID |
Héberger un tunnel de développement existant qui a déjà été configuré. |
Avertissement
Autoriser l’accès anonyme à un tunnel de développement signifie que toute personne sur Internet est en mesure de se connecter à votre serveur local, s’il peut deviner l’ID du tunnel de développement.
Appuyez sur Control-C pour arrêter le processus hôte du tunnel de développement et mettre fin à toutes les connexions clientes via le tunnel de développement. Si aucun tunnel de développement existant n’a été fourni, le tunnel de développement créé automatiquement par le processus est supprimé lors de la sortie du processus.
Connecter à un tunnel de développement
Utilisation de l’interface utilisateur de transfert web :
La devtunnel host
commande affiche une sortie similaire à ce qui suit :
Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/
L’URI affiché https:
est unique au port du tunnel de développement : le premier composant est un sous-domaine contenant l’ID de tunnel de développement et le numéro de port donnés.
Si le port hébergé se connecte à un serveur web, cet URI peut être ouvert directement dans un navigateur, n’importe où. Si l’accès au tunnel de développement nécessite une autorisation, la demande initiale adressée à l’URI redirige vers une page de connexion et retourne au site une fois l’utilisateur autorisé.
Si le port hébergé se connecte à un service web, cet URI peut être utilisé comme URI de base par une application cliente de service web. Toutefois, si le tunnel de développement n’autorise pas l’accès anonyme, le client du service web ne sait normalement pas comment s’authentifier. Si le service web est sûr d’exposer publiquement, envisagez d’autoriser l’accès anonyme. Sinon, un client de service web peut ajouter un en-tête de requête avec un jeton d’accès de tunnel de développement pour autoriser la connexion.
Utilisation de l’interface CLI :
Au lieu d’avoir un navigateur client ou une application se connectent directement à un URI de relais de tunnel de développement, l’interface CLI peut être utilisée pour transférer des connexions à partir d’un port sur le client vers un port de tunnel de développement. Le client peut également avoir besoin de se connecter, si le tunnel de développement n’autorise pas l’accès anonyme.
devtunnel connect TUNNELID
- Remplacez
TUNNELID
par le même ID de tunnel de développement que celui utilisé sur l’hôte.
La sortie du client réussie est similaire à ce qui suit :
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.
À présent, le serveur qui a été partagé sur le port 3000 de l’hôte est disponible sur localhost:3000
le client, à l’aide d’IPv4 ou IPv6. (Le préfixe « SSH » est dû au fait que le service de tunnel de développement s’appuie sur le protocole SSH standard pour le transfert de port.) Si le port hébergé se connecte à un serveur web, vous http://localhost:3000/
pouvez l’ouvrir dans un navigateur. Dans ce cas, aucune autorisation supplémentaire n’est requise, car le jeton de connexion CLI du client a été utilisé pour autoriser la connexion si nécessaire.
Avancé : Gérer les tunnels de développement
Il est possible de créer un tunnel de développement sans l’héberger. Cela est utile pour la configuration et la gestion avancées du tunnel de développement, telles que :
- Liste de tous les tunnels de développement détenus
- Ajout et suppression de ports d’un tunnel de développement
- Gestion des contrôles d’accès au tunnel de développement
- Ajout de métadonnées à un tunnel de développement comme la description et les balises
Commande | Description |
---|---|
devtunnel create |
Créer un tunnel de développement persistant |
devtunnel list |
Répertorier les tunnels de développement |
devtunnel show |
Afficher les détails du tunnel de développement |
devtunnel update |
Mettre à jour les propriétés du tunnel de développement |
devtunnel delete |
Supprimer un tunnel de développement |
devtunnel delete-all |
Supprimer tous les tunnels de développement |
Voici quelques exemples sur l’utilisation de ces commandes :
Exemples | Description |
---|---|
devtunnel create -a |
Créez un tunnel de développement persistant qui autorise l’accès anonyme. |
devtunnel create -d 'my tunnel description' |
Créez un tunnel de développement persistant avec une description non searchable. |
devtunnel create --expiration 4h |
Créez un tunnel de développement persistant avec un délai d’expiration personnalisé. Le minimum est de 1 heure (1h) et le maximum est de 30 jours (30d). |
devtunnel create myTunnelID |
Créez un tunnel de développement persistant avec un ID de tunnel personnalisé. |
devtunnel create --tags my-web-app v1 |
Créez un tunnel de développement persistant et appliquez des balises pouvant faire l’objet d’une recherche. |
devtunnel list --tags my-web-app |
Répertorie les tunnels de développement qui ont l’une des balises spécifiées. |
devtunnel list --all-tags my-web-app v1 |
Répertorier les tunnels de développement qui ont toutes les balises spécifiées. |
devtunnel show |
Affichez les détails du dernier tunnel de développement utilisé. |
devtunnel show TUNNELID |
Afficher les détails d’un tunnel de développement. |
devtunnel update TUNNELID -d 'my new tunnel description' |
Mettez à jour la description d’un tunnel de développement. |
devtunnel update TUNNELID --remove-tags |
Supprimez toutes les balises d’un tunnel de développement. |
devtunnel update TUNNELID --expiration 10d |
Mettez à jour un tunnel de développement avec une nouvelle heure d’expiration personnalisée. Le minimum est de 1 heure (1h) et le maximum est de 30 jours (30d). |
devtunnel delete TUNNELID |
Supprimez un tunnel de développement. |
devtunnel delete-all |
Supprimez tous vos tunnels de développement. |
Conseil
La plupart des commandes CLI fonctionnent implicitement sur le tunnel de développement dernier utilisé, bien qu’il existe une option permettant de spécifier un ID de tunnel de développement si nécessaire.
Avancé : Gérer les ports de tunnel de développement
Un tunnel de développement créé à l’aide de la devtunnel create
commande n’a pas de ports. Utilisez devtunnel port
des commandes pour ajouter des ports avant l’hébergement :
Commande | Description |
---|---|
devtunnel port create |
Créer un port de tunnel de développement |
devtunnel port list |
Répertorier les ports de tunnel de développement |
devtunnel port show |
Afficher les détails du port du tunnel de développement |
devtunnel port update |
Mettre à jour les propriétés du port du tunnel de développement |
devtunnel port delete |
Supprimer un port de tunnel de développement |
Exemples | Description |
---|---|
devtunnel port create -p 3000 --protocol http |
Ajouter un port avec le protocole spécifié |
devtunnel port list TUNNELID |
Répertorier les ports actuels |
devtunnel port show TUNNELID -p 3000 |
Afficher les détails du port 3000 |
devtunnel port update -p 3000 --description 'frontend port' |
Mettre à jour une description du port du tunnel de développement |
devtunnel port delete -p 3000 |
Supprimer un port |
Lors de la création d’un port, le protocole peut éventuellement être spécifié, si la détection automatique ne fonctionne pas correctement. Les options actuelles sont « http », « https » ou « auto » (par défaut). Si le port hébergé est HTTPS, il est recommandé de définir le protocole de port sur « https » ; sinon, « auto » est probablement bien.
Après avoir configuré un tunnel de développement à l’aide des commandes ci-dessus, commencez à l’héberger :
devtunnel host
Avancé : Gérer l’accès au tunnel de développement
Avec les commandes suivantes, les jetons d’accès au tunnel de développement peuvent être émis pour fournir à d’autres clients l’accès à votre tunnel de développement sans autoriser l’accès anonyme. Les commandes d’entrée de contrôle d’accès vous permettent de configurer le contrôle d’accès sur les tunnels de développement et les ports de tunnel de développement.
Commande | Description |
---|---|
devtunnel token |
Émettre un jeton d’accès de tunnel de développement |
devtunnel access create |
Créer une entrée de contrôle d’accès |
devtunnel access list |
Répertorier les entrées de contrôle d’accès |
devtunnel access delete |
Supprimer une entrée de contrôle d’accès |
devtunnel access reset |
Réinitialiser les entrées de contrôle d’accès par défaut |
Voici quelques exemples sur l’utilisation de ces commandes :
Exemples | Description |
---|---|
devtunnel token TUNNELID --scopes connect |
Obtenez un jeton d’accès « connect » pour un tunnel de développement qui peut être partagé pour fournir un accès temporaire au tunnel de développement. |
devtunnel access create TUNNELID --anonymous |
Activez l’accès anonyme du client sur le tunnel de développement. |
devtunnel access create TUNNELID --anonymous --expiration 4h |
Activez l’accès du client anonyme sur le tunnel de développement avec un délai d’expiration de contrôle d’accès personnalisé. Le minimum est de 1 heure (1h) et le maximum est de 30 jours (30d). |
devtunnel access create TUNNELID --port 3000 --anonymous |
Activez l’accès anonyme au client sur le port 3000. |
devtunnel access create TUNNELID --tenant |
Activez l’accès actuel au locataire Microsoft Entra sur le tunnel de développement. |
devtunnel access create TUNNELID --org ORG |
Activez un accès d’organisation GitHub par nom sur le tunnel de développement. |
Conseil
L’accès de l’organisation GitHub nécessite l’installation de l’application GitHub Dev Tunnels dans l’organisation.
Commandes supplémentaires
Ces commandes peuvent être utilisées si vous devez définir ou annuler explicitement ce cache local du tunnel de développement dernier utilisé.
Commande | Description |
---|---|
devtunnel set |
Définir le tunnel de développement par défaut |
devtunnel unset |
Effacer le tunnel de développement par défaut |
Commandes de diagnostic
Commande | Description |
---|---|
devtunnel clusters |
Répertorier les clusters de service disponibles par emplacement |
devtunnel echo |
Exécuter un serveur d’écho de diagnostic sur un port local |
devtunnel ping |
Envoyer des messages de diagnostic à un serveur d’écho distant |
Exemples | Description |
---|---|
devtunnel clusters --ping |
Répertoriez les clusters de service disponibles triés par latence mesurée. |
devtunnel echo http --port 8080 --interface 127.0.0.1 |
Démarrez un serveur de diagnostic http local sur le port 8080. |
Résolution des problèmes
Pour résoudre les problèmes liés à l’interface devtunnel
CLI, les conseils suivants peuvent être utiles :
- Vérifiez que vous êtes sur la dernière version de l’interface
devtunnel
CLI. Vérifiez la version actuellement installée avecdevtunnel --version
. - L’option
--verbose
imprime les messages de débogage, qui peuvent fournir des informations de diagnostic supplémentaires.