Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A colpo d'occhio
Obiettivo: Controllare se Dev Proxy acquisisce tutto il traffico di sistema o solo il traffico instradato in modo esplicito
Tempo: 5 minuti
Prerequisiti:Configurare il proxy di sviluppo
Per impostazione predefinita, quando si avvia Dev Proxy, si registra come proxy di sistema. Di conseguenza, tutto il traffico HTTP/HTTPS nel computer viene instradato automaticamente tramite Dev Proxy. Il proxy di tutto il traffico tramite Dev Proxy funziona bene per la maggior parte degli scenari, ovvero si avvia Dev Proxy e acquisisce immediatamente le richieste dall'applicazione senza alcuna configurazione aggiuntiva.
Tuttavia, esistono situazioni in cui potrebbe essere necessario un maggiore controllo sul traffico che passa attraverso Dev Proxy. L'opzione asSystemProxy consente di disabilitare la registrazione automatica del proxy di sistema, offrendo un controllo granulare sulle applicazioni che usano Dev Proxy.
Quando disabilitare la registrazione del proxy di sistema
Prendere in considerazione l'impostazione asSystemProxy su false quando:
- Sei su una rete aziendale con impostazioni proxy esistenti che non vuoi superare
- Si vuole testare solo un'applicazione specifica senza influire sulle altre app in esecuzione nel computer
- Altre applicazioni hanno esito negativo quando Dev Proxy intercetta il traffico (ad esempio, Funzioni di Azure)
- Stai eseguendo più istanze di Dev Proxy e vuoi instradare il traffico verso particolari istanze.
- Si vuole ridurre al minimo l'interferenza con i servizi di sistema e i processi in background
Configurare l'opzione proxy di sistema
È possibile configurare l'opzione asSystemProxy in due modi: usando il file di configurazione o la riga di comando.
File di configurazione
Per disabilitare in modo permanente la registrazione del proxy di sistema, aggiungere l'impostazione asSystemProxy al file di configurazione.
File:devproxyrc.json
Scopo: Disabilitare la registrazione automatica del proxy di sistema
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Linea di comando
Per disabilitare la registrazione del proxy di sistema per una singola sessione, usare l'opzione --as-system-proxy .
devproxy --as-system-proxy false
Instradare manualmente il traffico al proxy di sviluppo
Quando si disabilita la registrazione del proxy di sistema, le applicazioni non instradano automaticamente il traffico tramite Dev Proxy. È necessario configurare ogni applicazione per l'uso esplicito di Dev Proxy.
Utilizzo delle variabili di ambiente
Il modo più comune per instradare il traffico al proxy di sviluppo consiste nell'impostare la HTTPS_PROXY variabile di ambiente.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Prompt dei comandi:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Suggerimento
Alcune applicazioni supportano anche la HTTP_PROXY variabile di ambiente. Impostare entrambi se l'applicazione effettua richieste HTTP e HTTPS.
Configurazione specifica del linguaggio
Diversi linguaggi di programmazione e framework hanno i propri modi per configurare i proxy:
- Node.js: Usare il pacchetto global-agent o configurare direttamente l'agente HTTP
-
.NET: Impostare la
HTTPS_PROXYvariabile di ambiente o configurareHttpClientcon un proxy (vedere Usare Dev Proxy con applicazioni .NET) -
Funzioni di Azure: Configurare il proxy in
local.settings.json(vedere Usare Dev Proxy con le Funzioni di Azure .NET)
Esempio: Testare Funzioni di Azure senza interferire con l'avvio
Le Funzioni di Azure utilizzano gRPC per la comunicazione interna, che non funziona correttamente quando Dev Proxy viene registrato come proxy di sistema. Per usare Dev Proxy con Funzioni di Azure, disabilitare la registrazione del proxy di sistema e configurare il proxy tramite variabili di ambiente.
File: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/*"
]
}
File:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Con questa configurazione, Funzioni di Azure inizia normalmente mentre le richieste HTTP agli URL visualizzati vengono instradate tramite Dev Proxy.
Esempio: Testare un'applicazione mantenendo invariate le altre
Quando si sviluppano più applicazioni contemporaneamente, è possibile usare Dev Proxy con una sola di esse. Disabilitare la registrazione del proxy di sistema e impostare la variabile di ambiente solo per l'applicazione di destinazione.
Avviare Dev Proxy senza registrazione proxy di sistema:
devproxy --as-system-proxy false
In un terminale separato eseguire l'applicazione con il proxy configurato:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Altre applicazioni nel computer continuano a funzionare normalmente senza alcuna interferenza proxy.
Eseguire più istanze di Dev Proxy
Quando si imposta asSystemProxy a false, è possibile eseguire contemporaneamente più istanze di Dev Proxy. Ogni istanza è in ascolto sulla propria porta e tiene traccia del proprio stato utilizzando file di stato specifici per istanza.
Avvia più istanze
Avviare ogni istanza su una porta diversa:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
In un altro terminale:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Controllare lo stato delle istanze in esecuzione
Per visualizzare tutte le istanze in esecuzione, usare il status comando :
devproxy status
Fermare un'istanza specifica
Per specificare come destinazione un'istanza specifica, usare l'opzione --pid con il stop comando :
devproxy stop --pid 6456
Per terminare tutte le istanze in esecuzione:
devproxy stop
Visualizzare i log da un'istanza specifica
Usare l'opzione --pid con il logs comando :
devproxy logs --pid 6456
Annotazioni
È possibile registrare una sola istanza di Dev Proxy come proxy di sistema alla volta. Se si tenta di avviare una nuova istanza con asSystemProxy impostato su true mentre è già in esecuzione un'altra istanza proxy di sistema, Dev Proxy blocca l'avvio.