Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
En un clin d’œil
Objectif: Contrôler si le proxy de développement capture tout le trafic système ou uniquement le trafic routé explicitement
Heure : 5 minutes
Prérequis :configurer le proxy de développement
Par défaut, lorsque vous démarrez le proxy de développement, il s’inscrit en tant que proxy système. Par conséquent, tout le trafic HTTP/HTTPS sur votre ordinateur est automatiquement routé via le proxy de développement. Le proxy de tout le trafic via le proxy de développement fonctionne bien pour la plupart des scénarios : vous démarrez le proxy de développement, et il capture immédiatement les demandes de votre application sans configuration supplémentaire.
Toutefois, il existe des situations où vous souhaiterez peut-être mieux contrôler le trafic qui transite par le proxy de développement. L’option asSystemProxy vous permet de désactiver l’inscription automatique du proxy système, ce qui vous donne un contrôle précis sur les applications qui utilisent le proxy de développement.
Quand désactiver l'enregistrement du proxy du système
Envisagez de définir asSystemProxy à false quand :
- Vous êtes sur un réseau d’entreprise avec des paramètres proxy existants que vous ne souhaitez pas remplacer
- Vous ne souhaitez tester qu’une application spécifique sans affecter d’autres applications s’exécutant sur votre ordinateur
- D’autres applications échouent lorsque le proxy de développement intercepte leur trafic (par exemple, Azure Functions)
- Vous exécutez plusieurs instances de proxy de développement et souhaitez router le trafic vers des instances spécifiques
- Vous souhaitez réduire les interférences avec les services système et les processus en arrière-plan
Configurer l’option proxy système
Vous pouvez configurer l’option asSystemProxy de deux façons : à l’aide du fichier de configuration ou de la ligne de commande.
Fichier de configuration
Pour désactiver de manière permanente l’inscription du proxy système, ajoutez le asSystemProxy paramètre à votre fichier de configuration.
Fichier:devproxyrc.json
But: Désactiver l’inscription automatique du proxy système
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Ligne de commande
Pour désactiver l’inscription du proxy système pour une seule session, utilisez l’option --as-system-proxy .
devproxy --as-system-proxy false
Acheminer le trafic vers le proxy de développement manuellement
Lorsque vous désactivez l’inscription du proxy système, les applications n’acheminent pas automatiquement leur trafic via le proxy de développement. Vous devez configurer chaque application de manière explicite pour utiliser le proxy de développement.
Utilisation des variables d'environnement
Le moyen le plus courant d’acheminer le trafic vers le proxy de développement consiste à définir la variable d’environnement HTTPS_PROXY .
PowerShell :
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Invite de commandes :
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Conseil / Astuce
Certaines applications prennent également en charge la variable d’environnement HTTP_PROXY . Définissez les deux si votre application effectue des requêtes HTTP et HTTPS.
Configuration spécifique à la langue
Différents langages de programmation et frameworks ont leurs propres méthodes de configuration des proxys :
- Node.js: Utiliser le package global-agent ou configurer l’agent HTTP directement
-
.NET: Définir la variable d’environnement
HTTPS_PROXYou configurerHttpClientavec un proxy (voir Utiliser le proxy de développement avec des applications .NET) -
Azure Functions : Configurer le proxy dans
local.settings.json(consultez Utiliser le proxy de développement avec .NET Azure Functions)
Exemple : Tester Azure Functions sans interférer avec le démarrage
Azure Functions utilise gRPC pour la communication interne, ce qui échoue lorsque le proxy de développement est inscrit en tant que proxy système. Pour utiliser le proxy de développement avec Azure Functions, désactivez l’inscription du proxy système et configurez le proxy via des variables d’environnement.
Fichier:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Fichier:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Avec cette configuration, Azure Functions démarre normalement pendant que vos requêtes HTTP vers les URL surveillées sont routées via le proxy de développement.
Exemple : Tester une application tout en conservant les autres applications sans altérer leur fonction.
Lorsque vous développez plusieurs applications simultanément, vous pouvez utiliser le proxy de développement avec un seul d’entre eux. Désactivez l’inscription du proxy système et définissez la variable d’environnement uniquement pour l’application cible.
Lancer le proxy de développement sans enregistrement du proxy système :
devproxy --as-system-proxy false
Dans un terminal distinct, exécutez votre application avec le proxy configuré :
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
D’autres applications sur votre ordinateur continuent de fonctionner normalement sans interférence de proxy.
Exécuter plusieurs instances de proxy de développement
Lorsque vous définissez asSystemProxy sur false, vous pouvez exécuter plusieurs instances de proxy de développement simultanément. Chaque instance écoute son propre port et effectue le suivi de son propre état à l’aide de fichiers d’état par instance.
Démarrer plusieurs instances
Démarrez chaque instance sur un port différent :
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
Dans un autre terminal :
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Vérifier l’état des instances en cours d’exécution
Pour afficher toutes les instances en cours d’exécution, utilisez la status commande :
devproxy status
Arrêter une instance spécifique
Pour cibler une instance spécifique, utilisez l’option --pid avec la stop commande :
devproxy stop --pid 6456
Arrêtez toutes les instances en cours d’exécution :
devproxy stop
Afficher les journaux d’activité à partir d’une instance spécifique
Utilisez l’option --pid avec la logs commande :
devproxy logs --pid 6456
Note
Une seule instance du proxy de développement peut être inscrite en tant que proxy système à la fois. Si vous essayez de démarrer une nouvelle instance avec asSystemProxy défini sur true alors qu’une autre instance de proxy système est déjà en cours d’exécution, Dev Proxy bloque le démarrage.
Voir aussi
- Paramètres du proxy - Toutes les options de configuration
- commande état
- stop
- commande logs
- Utiliser le proxy de développement avec des applications Node.js
- Utiliser le proxy de développement avec des applications .NET
- Utiliser le proxy de développement avec .NET Azure Functions
- Le proxy de développement n’intercepte pas les demandes