Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Överblick
Mål: Styr om Dev Proxy ska samla in all systemtrafik eller endast explicit dirigerad trafik
Tid: 5 minuter
Krav:Konfigurera Dev Proxy
När du startar Dev Proxy registreras den som systemproxy som standard. Därför dirigeras all HTTP/HTTPS-trafik på datorn automatiskt via Dev Proxy. Proxykörning av all trafik via Dev Proxy fungerar bra för de flesta scenarier – du startar Dev Proxy och samlar omedelbart in begäranden från ditt program utan någon extra konfiguration.
Det finns dock situationer där du kanske vill ha mer kontroll över vilken trafik som går via Dev Proxy. Med asSystemProxy alternativet kan du inaktivera automatisk registrering av systemproxy, vilket ger dig detaljerad kontroll över vilka program som använder Dev Proxy.
När du ska inaktivera registrering av systemproxy
Överväg att ange asSystemProxy till false när:
- Du är i ett företagsnätverk med befintliga proxyinställningar som du inte vill åsidosätta
- Du vill bara testa ett visst program utan att påverka andra appar som körs på datorn
- Andra program misslyckas när Dev Proxy fångar upp trafiken (till exempel Azure Functions)
- Du kör flera Dev Proxy-instanser och vill dirigera trafik till specifika instanser
- Du vill minimera störningar i systemtjänster och bakgrundsprocesser
Konfigurera systemproxyalternativet
Du kan konfigurera inställningen på asSystemProxy två olika sätt: med hjälp av konfigurationsfilen eller kommandoradsgränssnittet.
Konfigurationsfil
Om du vill inaktivera registrering av systemproxy beständigt lägger du till inställningen i asSystemProxy konfigurationsfilen.
Filen:devproxyrc.json
Syfte: Inaktivera automatisk registrering av systemproxy
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
kommandorad
Om du vill inaktivera systemproxyregistrering för en enda session använder du alternativet --as-system-proxy .
devproxy --as-system-proxy false
Dirigera trafik till Dev Proxy manuellt
När du inaktiverar registrering av systemproxy dirigerar program inte automatiskt sin trafik via Dev Proxy. Du måste konfigurera varje program att uttryckligen använda Dev Proxy.
Använda miljövariabler
Det vanligaste sättet att dirigera trafik till Dev Proxy är genom att ange HTTPS_PROXY miljövariabeln.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Kommandotolken:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Tips/Råd
Vissa program stöder HTTP_PROXY även miljövariabeln. Ange båda om programmet gör både HTTP- och HTTPS-begäranden.
Språkspecifik konfiguration
Olika programmeringsspråk och ramverk har sina egna sätt att konfigurera proxyservrar:
- Node.js: Använd global agent-paketet eller konfigurera HTTP-agenten direkt
-
.NET:
HTTPS_PROXYAnge miljövariabeln eller konfigureraHttpClientmed en proxy (se Använda Dev Proxy med .NET-program) -
Azure Functions: Konfigurera proxy i
local.settings.json(se Använda Dev Proxy med .NET Azure Functions)
Exempel: Testa Azure Functions utan att störa start
Azure Functions använder gRPC för intern kommunikation, vilket misslyckas när Dev Proxy registreras som systemproxy. Om du vill använda Dev Proxy med Azure Functions inaktiverar du registrering av systemproxy och konfigurerar proxyn via miljövariabler.
Filen: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/*"
]
}
Filen:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Med den här konfigurationen startar Azure Functions normalt medan dina HTTP-begäranden till de övervakade URL:erna dirigeras via Dev Proxy.
Exempel: Testa ett program samtidigt som andra inte påverkas
När du utvecklar flera program samtidigt kanske du bara vill använda Dev Proxy med en av dem. Inaktivera systemproxyregistrering och ange endast miljövariabeln för målprogrammet.
Starta Dev Proxy utan systemproxyregistrering:
devproxy --as-system-proxy false
Kör programmet med proxyn konfigurerad i en separat terminal:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Andra program på datorn fortsätter att fungera normalt utan proxyinterferens.
Köra flera Dev Proxy-instanser
När du anger asSystemProxy till falsekan du köra flera Dev Proxy-instanser samtidigt. Varje instans lyssnar på sin egen port och spårar sitt eget tillstånd med hjälp av tillståndsfiler per instans.
Starta flera instanser
Starta varje instans på en annan port:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
I en annan terminal:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Kontrollera statusen för instanser som körs
Om du vill se alla instanser som körs använder du status kommandot:
devproxy status
Stoppa en specifik instans
Om du vill rikta in dig på en specifik instans, använd alternativet --pid med kommandot stop:
devproxy stop --pid 6456
Så här stoppar du alla instanser som körs:
devproxy stop
Visa loggar från en specifik instans
Använd alternativet --pid med logs kommandot :
devproxy logs --pid 6456
Anmärkning
Endast en Dev Proxy-instans kan registreras som systemproxy åt gången. Om du försöker starta en ny instans med asSystemProxy inställd på true medan en annan systemproxyinstans redan körs blockerar Dev Proxy starten.